diff options
author | Bob Peterson <rpeterso@redhat.com> | 2020-01-03 15:48:43 +0100 |
---|---|---|
committer | Bob Peterson <rpeterso@redhat.com> | 2020-02-27 14:53:18 +0100 |
commit | cc44457f16296809e40aae31415cd081a8352433 (patch) | |
tree | 1d728aae1b6d2265ae3b9e1ca30263863ede577a /fs/gfs2 | |
parent | gfs2: allow journal replay to hold sd_log_flush_lock (diff) | |
download | linux-cc44457f16296809e40aae31415cd081a8352433.tar.xz linux-cc44457f16296809e40aae31415cd081a8352433.zip |
gfs2: leaf_dealloc needs to allocate one more revoke
Function leaf_dealloc was not allocating enough journal space for
revokes. Before, it allocated 'l_blocks' revokes, but it needs one
more for the revoke of the dinode that is modified. This patch adds
the needed revoke entry to function leaf_dealloc.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index c8b62577e2f2..c3f7732415be 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c @@ -2028,7 +2028,8 @@ static int leaf_dealloc(struct gfs2_inode *dip, u32 index, u32 len, error = gfs2_trans_begin(sdp, rg_blocks + (DIV_ROUND_UP(size, sdp->sd_jbsize) + 1) + - RES_DINODE + RES_STATFS + RES_QUOTA, l_blocks); + RES_DINODE + RES_STATFS + RES_QUOTA, RES_DINODE + + l_blocks); if (error) goto out_rg_gunlock; |