[PATCH] xfs: handle AGs without reservation in xfs_refcountbt_free_reserve_pool

Christoph Hellwig hch at lst.de
Tue Feb 9 10:32:19 CST 2016


Without this xfstests starts crashing and burning in generic/003.

Signed-off-by: Christoph Hellwig <hch at lst.de>
---
 fs/xfs/libxfs/xfs_refcount_btree.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/xfs/libxfs/xfs_refcount_btree.c b/fs/xfs/libxfs/xfs_refcount_btree.c
index 31e1b2d..f78041c 100644
--- a/fs/xfs/libxfs/xfs_refcount_btree.c
+++ b/fs/xfs/libxfs/xfs_refcount_btree.c
@@ -539,6 +539,10 @@ xfs_refcountbt_free_reserve_pool(
 	pool_len = 0;
 	for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) {
 		pag = xfs_perag_get(mp, agno);
+		if (!pag->pagf_refcountbt_resv) {
+			xfs_perag_put(pag);
+			continue;
+		}
 		i = xfs_ag_resv_blocks(pag->pagf_refcountbt_resv);
 		if (pool_len < i)
 			pool_len = i;
-- 
2.1.4



More information about the xfs mailing list