Skip to content

Commit

Permalink
[GFS2] Move inode deletion out of blocking_cb
Browse files Browse the repository at this point in the history
Move inode deletion code out of blocking_cb handle_callback route to
avoid racy conditions that end up blocking lock_dlm1 thread. Fix
bugzilla 286821.

Signed-off-by: Wendy Cheng <wcheng@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
rhn-support-wcheng authored and swhiteho committed Oct 10, 2007
1 parent b4c2016 commit 49e61f2
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions fs/gfs2/glock.c
Original file line number Diff line number Diff line change
Expand Up @@ -716,12 +716,8 @@ static void handle_callback(struct gfs2_glock *gl, unsigned int state,
gl->gl_demote_time = jiffies;
if (remote && gl->gl_ops->go_type == LM_TYPE_IOPEN &&
gl->gl_object) {
struct inode *inode = igrab(gl->gl_object);
gfs2_glock_schedule_for_reclaim(gl);
spin_unlock(&gl->gl_spin);
if (inode) {
d_prune_aliases(inode);
iput(inode);
}
return;
}
} else if (gl->gl_demote_state != LM_ST_UNLOCKED &&
Expand Down

0 comments on commit 49e61f2

Please sign in to comment.