aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2010-12-16 15:18:48 +0000
committerSteven Whitehouse <swhiteho@redhat.com>2010-12-16 15:18:48 +0000
commit846f40455276617275284a4b76b89311b4aed0b9 (patch)
treec8bd64c7e87554e79ab5f37d9c857c8efe91d4cc
parentbcd7278d8a423a255e45f4d10afe564328f1885f (diff)
downloadkernel_samsung_smdk4412-846f40455276617275284a4b76b89311b4aed0b9.zip
kernel_samsung_smdk4412-846f40455276617275284a4b76b89311b4aed0b9.tar.gz
kernel_samsung_smdk4412-846f40455276617275284a4b76b89311b4aed0b9.tar.bz2
GFS2: Don't flush delete workqueue when releasing the transaction lock
There is no requirement to flush the delete workqueue before a gfs2 filesystem is suspended. The workqueue's work will just be suspended along with the rest of the tasks on the filesystem. The resolves a deadlock situation where the transaction lock's demotion code was trying to flush the delete workqueue while at the same time, the workqueue was waiting for the transaction lock. The delete workqueue is flushed by gfs2_make_fs_ro() already, so that umount/remount are correctly protected anyway. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/glops.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 0d149dc..263561b 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -325,7 +325,6 @@ static void trans_go_sync(struct gfs2_glock *gl)
if (gl->gl_state != LM_ST_UNLOCKED &&
test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags)) {
- flush_workqueue(gfs2_delete_workqueue);
gfs2_meta_syncfs(sdp);
gfs2_log_shutdown(sdp);
}