diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index f6cd907b3ec6..efa0e2452bc7 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c @@ -147,8 +147,10 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp) } error = gfs2_quota_init(sdp); - if (!error && gfs2_withdrawn(sdp)) - error = -EIO; + if (!error && gfs2_withdrawn(sdp)) { + gfs2_quota_cleanup(sdp); + return -EIO; + } if (!error) set_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); return error;