aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/inode.c')
-rw-r--r--fs/gfs2/inode.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index ad0fe373dca5..af493fc6c8ce 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -293,11 +293,6 @@ static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf)
293 return 0; 293 return 0;
294} 294}
295 295
296static void gfs2_inode_bh(struct gfs2_inode *ip, struct buffer_head *bh)
297{
298 ip->i_cache[0] = bh;
299}
300
301/** 296/**
302 * gfs2_inode_refresh - Refresh the incore copy of the dinode 297 * gfs2_inode_refresh - Refresh the incore copy of the dinode
303 * @ip: The GFS2 inode 298 * @ip: The GFS2 inode
@@ -965,7 +960,7 @@ struct inode *gfs2_createi(struct gfs2_holder *ghs, const struct qstr *name,
965 struct gfs2_inum_host inum = { .no_addr = 0, .no_formal_ino = 0 }; 960 struct gfs2_inum_host inum = { .no_addr = 0, .no_formal_ino = 0 };
966 int error; 961 int error;
967 u64 generation; 962 u64 generation;
968 struct buffer_head *bh=NULL; 963 struct buffer_head *bh = NULL;
969 964
970 if (!name->len || name->len > GFS2_FNAMESIZE) 965 if (!name->len || name->len > GFS2_FNAMESIZE)
971 return ERR_PTR(-ENAMETOOLONG); 966 return ERR_PTR(-ENAMETOOLONG);
@@ -1002,8 +997,6 @@ struct inode *gfs2_createi(struct gfs2_holder *ghs, const struct qstr *name,
1002 if (IS_ERR(inode)) 997 if (IS_ERR(inode))
1003 goto fail_gunlock2; 998 goto fail_gunlock2;
1004 999
1005 gfs2_inode_bh(GFS2_I(inode), bh);
1006
1007 error = gfs2_inode_refresh(GFS2_I(inode)); 1000 error = gfs2_inode_refresh(GFS2_I(inode));
1008 if (error) 1001 if (error)
1009 goto fail_gunlock2; 1002 goto fail_gunlock2;
@@ -1020,6 +1013,8 @@ struct inode *gfs2_createi(struct gfs2_holder *ghs, const struct qstr *name,
1020 if (error) 1013 if (error)
1021 goto fail_gunlock2; 1014 goto fail_gunlock2;
1022 1015
1016 if (bh)
1017 brelse(bh);
1023 if (!inode) 1018 if (!inode)
1024 return ERR_PTR(-ENOMEM); 1019 return ERR_PTR(-ENOMEM);
1025 return inode; 1020 return inode;
@@ -1031,6 +1026,8 @@ fail_gunlock2:
1031fail_gunlock: 1026fail_gunlock:
1032 gfs2_glock_dq(ghs); 1027 gfs2_glock_dq(ghs);
1033fail: 1028fail:
1029 if (bh)
1030 brelse(bh);
1034 return ERR_PTR(error); 1031 return ERR_PTR(error);
1035} 1032}
1036 1033