diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-04-20 16:57:23 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-04-20 16:57:23 -0400 |
commit | 190562bd84a484bf6590425aa2bb4d6d611c112b (patch) | |
tree | dd99bcd847f8d2376f7836ea9d861a31d1021c71 /fs/gfs2/log.c | |
parent | fe1bdedc6c16adedc6fd3636185ea91596b1d6eb (diff) |
[GFS2] Fix a bug: scheduling under a spinlock
At some stage, a mutex was added to gfs2_glock_put() without
checking all its call sites. Two of them were called from
under a spinlock causing random delays at various points and
crashes.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/log.c')
-rw-r--r-- | fs/gfs2/log.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index b0dd0b9ad79b..9e32e0faaf20 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c | |||
@@ -578,6 +578,7 @@ void gfs2_log_shutdown(struct gfs2_sbd *sdp) | |||
578 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_revoke); | 578 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_revoke); |
579 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_rg); | 579 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_rg); |
580 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_databuf); | 580 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_databuf); |
581 | gfs2_assert_withdraw(sdp, !sdp->sd_log_num_hdrs); | ||
581 | gfs2_assert_withdraw(sdp, list_empty(&sdp->sd_ail1_list)); | 582 | gfs2_assert_withdraw(sdp, list_empty(&sdp->sd_ail1_list)); |
582 | 583 | ||
583 | sdp->sd_log_flush_head = sdp->sd_log_head; | 584 | sdp->sd_log_flush_head = sdp->sd_log_head; |