xfs
[Top] [All Lists]

[PATCH v2] xfs: remove XFS_TRANS_RESERVE in collapse range

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: [PATCH v2] xfs: remove XFS_TRANS_RESERVE in collapse range
From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Date: Tue, 13 May 2014 09:03:55 +0900
Cc: xfs@xxxxxxxxxxx, Brian Foster <bfoster@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dlp-filter: Pass
Thread-index: Ac9uPpcR0CqWuw7GTk6efm2syV5wmw==
There is no need to dip into reserve pool. Reserve pool is used for much
more important things. And xfs_trans_reserve will never return ENOSPC
because punch hole is already done. If we get ENOSPC, collapse range
will be simply failed.

Cc: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx>
---
 fs/xfs/xfs_bmap_util.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c
index 296160b..057f671 100644
--- a/fs/xfs/xfs_bmap_util.c
+++ b/fs/xfs/xfs_bmap_util.c
@@ -1519,7 +1519,6 @@ xfs_collapse_file_space(
 
        while (!error && !done) {
                tp = xfs_trans_alloc(mp, XFS_TRANS_DIOSTRAT);
-               tp->t_flags |= XFS_TRANS_RESERVE;
                /*
                 * We would need to reserve permanent block for transaction.
                 * This will come into picture when after shifting extent into
@@ -1529,7 +1528,6 @@ xfs_collapse_file_space(
                error = xfs_trans_reserve(tp, &M_RES(mp)->tr_write,
                                XFS_DIOSTRAT_SPACE_RES(mp, 0), 0);
                if (error) {
-                       ASSERT(error == ENOSPC || XFS_FORCED_SHUTDOWN(mp));
                        xfs_trans_cancel(tp, 0);
                        break;
                }
-- 
1.7.11-rc0

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