diff options
Diffstat (limited to 'fs/gfs2/super.c')
-rw-r--r-- | fs/gfs2/super.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 788068758f3a..b1502c4bc60d 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
@@ -1420,6 +1420,10 @@ static int gfs2_dinode_dealloc(struct gfs2_inode *ip) | |||
1420 | return -EIO; | 1420 | return -EIO; |
1421 | } | 1421 | } |
1422 | 1422 | ||
1423 | error = gfs2_rindex_update(sdp); | ||
1424 | if (error) | ||
1425 | return error; | ||
1426 | |||
1423 | error = gfs2_quota_hold(ip, NO_QUOTA_CHANGE, NO_QUOTA_CHANGE); | 1427 | error = gfs2_quota_hold(ip, NO_QUOTA_CHANGE, NO_QUOTA_CHANGE); |
1424 | if (error) | 1428 | if (error) |
1425 | return error; | 1429 | return error; |
@@ -1550,6 +1554,9 @@ out_truncate: | |||
1550 | 1554 | ||
1551 | out_unlock: | 1555 | out_unlock: |
1552 | /* Error path for case 1 */ | 1556 | /* Error path for case 1 */ |
1557 | if (gfs2_rs_active(ip->i_res)) | ||
1558 | gfs2_rs_deltree(ip->i_res); | ||
1559 | |||
1553 | if (test_bit(HIF_HOLDER, &ip->i_iopen_gh.gh_iflags)) | 1560 | if (test_bit(HIF_HOLDER, &ip->i_iopen_gh.gh_iflags)) |
1554 | gfs2_glock_dq(&ip->i_iopen_gh); | 1561 | gfs2_glock_dq(&ip->i_iopen_gh); |
1555 | gfs2_holder_uninit(&ip->i_iopen_gh); | 1562 | gfs2_holder_uninit(&ip->i_iopen_gh); |