diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-05-18 14:10:52 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-05-18 14:10:52 -0400 |
commit | 1b50259bc33f2adfcb4c5fba4b740bf80789df22 (patch) | |
tree | f8d20f032c9cb85883cdee846423667543947dde /fs/gfs2/meta_io.c | |
parent | 02f211f4d0e67794020ba1babbdaf7c45d56db45 (diff) |
[GFS2] Drop log lock on I/O error & tidy up
This patch drops the log spinlock when an I/O error occurs
to avoid any possible problems in case of blocking or
recursion in the I/O error routine. It also has a few
cosmetic changes to tidy up various other files.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/meta_io.c')
-rw-r--r-- | fs/gfs2/meta_io.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c index da49973a90d1..fe46d563d3c8 100644 --- a/fs/gfs2/meta_io.c +++ b/fs/gfs2/meta_io.c | |||
@@ -226,8 +226,11 @@ void gfs2_ail1_start_one(struct gfs2_sbd *sdp, struct gfs2_ail *ai) | |||
226 | gfs2_assert(sdp, bd->bd_ail == ai); | 226 | gfs2_assert(sdp, bd->bd_ail == ai); |
227 | 227 | ||
228 | if (!buffer_busy(bh)) { | 228 | if (!buffer_busy(bh)) { |
229 | if (!buffer_uptodate(bh)) | 229 | if (!buffer_uptodate(bh)) { |
230 | gfs2_log_unlock(sdp); | ||
230 | gfs2_io_error_bh(sdp, bh); | 231 | gfs2_io_error_bh(sdp, bh); |
232 | gfs2_log_lock(sdp); | ||
233 | } | ||
231 | list_move(&bd->bd_ail_st_list, | 234 | list_move(&bd->bd_ail_st_list, |
232 | &ai->ai_ail2_list); | 235 | &ai->ai_ail2_list); |
233 | continue; | 236 | continue; |