|
@@ -174,7 +174,6 @@ struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned int type,
|
|
|
error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh);
|
|
|
if (unlikely(error))
|
|
|
goto fail_put;
|
|
|
- flush_delayed_work(&ip->i_iopen_gh.gh_gl->gl_work);
|
|
|
glock_set_object(ip->i_iopen_gh.gh_gl, ip);
|
|
|
gfs2_glock_put(io_gl);
|
|
|
io_gl = NULL;
|
|
@@ -706,8 +705,9 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
|
|
|
error = gfs2_glock_get(sdp, ip->i_no_addr, &gfs2_inode_glops, CREATE, &ip->i_gl);
|
|
|
if (error)
|
|
|
goto fail_free_inode;
|
|
|
-
|
|
|
+ flush_delayed_work(&ip->i_gl->gl_work);
|
|
|
glock_set_object(ip->i_gl, ip);
|
|
|
+
|
|
|
error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_SKIP, ghs + 1);
|
|
|
if (error)
|
|
|
goto fail_free_inode;
|