xfs
[Top] [All Lists]

[PATCH] xfs: handle AGs without reservation in xfs_refcountbt_free_reser

To: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Subject: [PATCH] xfs: handle AGs without reservation in xfs_refcountbt_free_reserve_pool
From: Christoph Hellwig <hch@xxxxxx>
Date: Tue, 9 Feb 2016 17:32:19 +0100
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1455035539-24535-1-git-send-email-hch@xxxxxx>
References: <1455035539-24535-1-git-send-email-hch@xxxxxx>
Without this xfstests starts crashing and burning in generic/003.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
 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

<Prev in Thread] Current Thread [Next in Thread>