X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=fs%2Fgfs2%2Finode.c;h=044efe273b97da802e708ef5ef0f36407d2ae211;hb=40ac218f52aa5cac7dc8082f28b61c8b2b29373c;hp=900cf986aadcc155d26028971f71bc6fa9a972ec;hpb=1d4ec642d9f00d4c531b1a4ae0613091ec1f8e9b;p=firefly-linux-kernel-4.4.55.git diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 900cf986aadc..044efe273b97 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -736,10 +736,12 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, fail_gunlock2: gfs2_glock_dq_uninit(ghs + 1); - if (inode && !IS_ERR(inode)) - iput(inode); fail_gunlock: gfs2_glock_dq_uninit(ghs); + if (inode && !IS_ERR(inode)) { + set_bit(GIF_ALLOC_FAILED, &GFS2_I(inode)->i_flags); + iput(inode); + } fail: if (bh) brelse(bh);