diff options
author | Eryu Guan <eguan@redhat.com> | 2016-09-14 07:39:07 +1000 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-09-14 07:39:07 +1000 |
commit | a27f6ef4e636c2437090b87c4eb0f587b60d7123 (patch) | |
tree | 68ea5e98ff38af2200c698d599368780cbae099c | |
parent | ea78d80866ce375defb2fdd1c8a3aafec95e0f85 (diff) | |
download | linux-riscv-a27f6ef4e636c2437090b87c4eb0f587b60d7123.tar.gz linux-riscv-a27f6ef4e636c2437090b87c4eb0f587b60d7123.tar.bz2 linux-riscv-a27f6ef4e636c2437090b87c4eb0f587b60d7123.zip |
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 <eguan@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
-rw-r--r-- | fs/xfs/xfs_trans.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; } |