From a3db79ac4a4709f2b08d538c9892a6a2de2413e9 Mon Sep 17 00:00:00 2001 From: Bob Peterson Date: Thu, 12 Apr 2012 09:19:30 -0400 Subject: [PATCH] --- yaml --- r: 302693 b: refs/heads/master c: 2f7ee358e5a0fedcb45c64bd83dad9dc9a212508 h: refs/heads/master i: 302691: ec6f20fe4bcccd117cf9cd6c37dcca7811890ffd v: v3 --- [refs] | 2 +- trunk/fs/gfs2/bmap.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 8b23ae33b8b5..ef7681034c6d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9598d25ed9b2fc0c36ed47e759c998303fd89503 +refs/heads/master: 2f7ee358e5a0fedcb45c64bd83dad9dc9a212508 diff --git a/trunk/fs/gfs2/bmap.c b/trunk/fs/gfs2/bmap.c index 03c04febe26f..420bbeb86147 100644 --- a/trunk/fs/gfs2/bmap.c +++ b/trunk/fs/gfs2/bmap.c @@ -1169,6 +1169,7 @@ static int do_grow(struct inode *inode, u64 size) struct buffer_head *dibh; struct gfs2_qadata *qa = NULL; int error; + int unstuff = 0; if (gfs2_is_stuffed(ip) && (size > (sdp->sd_sb.sb_bsize - sizeof(struct gfs2_dinode)))) { @@ -1183,13 +1184,14 @@ static int do_grow(struct inode *inode, u64 size) error = gfs2_inplace_reserve(ip, 1); if (error) goto do_grow_qunlock; + unstuff = 1; } error = gfs2_trans_begin(sdp, RES_DINODE + RES_STATFS + RES_RG_BIT, 0); if (error) goto do_grow_release; - if (qa) { + if (unstuff) { error = gfs2_unstuff_dinode(ip, NULL); if (error) goto do_end_trans; @@ -1208,7 +1210,7 @@ static int do_grow(struct inode *inode, u64 size) do_end_trans: gfs2_trans_end(sdp); do_grow_release: - if (qa) { + if (unstuff) { gfs2_inplace_release(ip); do_grow_qunlock: gfs2_quota_unlock(ip);