From: Eryu Guan Date: Tue, 13 Sep 2016 21:39:07 +0000 (+1000) Subject: xfs: undo block reservation correctly in xfs_trans_reserve() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a27f6ef4e636c2437090b87c4eb0f587b60d7123;p=linux-beck.git xfs: undo block reservation correctly in xfs_trans_reserve() "blocks" should be added back to fdblocks at undo time, not taken away, i.e. the minus sign should not be used. This is a regression introduced by commit 0d485ada404b ("xfs: use generic percpu counters for free block counter"). And it's found by code inspection, I didn't it in real world, so there's no reproducer. Signed-off-by: Eryu Guan Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c index 5f3d33d16e67..836eb807aa88 100644 --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c @@ -217,7 +217,7 @@ undo_log: undo_blocks: if (blocks > 0) { - xfs_mod_fdblocks(tp->t_mountp, -((int64_t)blocks), rsvd); + xfs_mod_fdblocks(tp->t_mountp, (int64_t)blocks, rsvd); tp->t_blk_res = 0; }