aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/ncpfs/inode.c7
-rw-r--r--fs/nfsd/nfs4state.c2
-rw-r--r--fs/ocfs2/cluster/heartbeat.c3
-rw-r--r--fs/ocfs2/cluster/quorum.c4
-rw-r--r--fs/xfs/xfs_mru_cache.c2
5 files changed, 12 insertions, 6 deletions
diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c
index 9531c052d7a4..9b39a5dd4131 100644
--- a/fs/ncpfs/inode.c
+++ b/fs/ncpfs/inode.c
@@ -317,7 +317,12 @@ static void ncp_stop_tasks(struct ncp_server *server) {
317 sk->sk_write_space = server->write_space; 317 sk->sk_write_space = server->write_space;
318 release_sock(sk); 318 release_sock(sk);
319 del_timer_sync(&server->timeout_tm); 319 del_timer_sync(&server->timeout_tm);
320 flush_scheduled_work(); 320
321 flush_work_sync(&server->rcv.tq);
322 if (sk->sk_socket->type == SOCK_STREAM)
323 flush_work_sync(&server->tx.tq);
324 else
325 flush_work_sync(&server->timeout_tq);
321} 326}
322 327
323static int ncp_show_options(struct seq_file *seq, struct vfsmount *mnt) 328static int ncp_show_options(struct seq_file *seq, struct vfsmount *mnt)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 116cab970e0f..fbd18c3074bb 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4336,7 +4336,7 @@ __nfs4_state_shutdown(void)
4336void 4336void
4337nfs4_state_shutdown(void) 4337nfs4_state_shutdown(void)
4338{ 4338{
4339 cancel_rearming_delayed_workqueue(laundry_wq, &laundromat_work); 4339 cancel_delayed_work_sync(&laundromat_work);
4340 destroy_workqueue(laundry_wq); 4340 destroy_workqueue(laundry_wq);
4341 locks_end_grace(&nfsd4_manager); 4341 locks_end_grace(&nfsd4_manager);
4342 nfs4_lock_state(); 4342 nfs4_lock_state();
diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c
index 9f26ac9be2a4..9e3d45bcb5fd 100644
--- a/fs/ocfs2/cluster/heartbeat.c
+++ b/fs/ocfs2/cluster/heartbeat.c
@@ -307,8 +307,7 @@ static void o2hb_arm_write_timeout(struct o2hb_region *reg)
307 307
308static void o2hb_disarm_write_timeout(struct o2hb_region *reg) 308static void o2hb_disarm_write_timeout(struct o2hb_region *reg)
309{ 309{
310 cancel_delayed_work(&reg->hr_write_timeout_work); 310 cancel_delayed_work_sync(&reg->hr_write_timeout_work);
311 flush_scheduled_work();
312} 311}
313 312
314static inline void o2hb_bio_wait_init(struct o2hb_bio_wait_ctxt *wc) 313static inline void o2hb_bio_wait_init(struct o2hb_bio_wait_ctxt *wc)
diff --git a/fs/ocfs2/cluster/quorum.c b/fs/ocfs2/cluster/quorum.c
index cf3e16696216..a87366750f23 100644
--- a/fs/ocfs2/cluster/quorum.c
+++ b/fs/ocfs2/cluster/quorum.c
@@ -325,5 +325,7 @@ void o2quo_init(void)
325 325
326void o2quo_exit(void) 326void o2quo_exit(void)
327{ 327{
328 flush_scheduled_work(); 328 struct o2quo_state *qs = &o2quo_state;
329
330 flush_work_sync(&qs->qs_work);
329} 331}
diff --git a/fs/xfs/xfs_mru_cache.c b/fs/xfs/xfs_mru_cache.c
index 45ce15dc5b2b..edfa178bafb6 100644
--- a/fs/xfs/xfs_mru_cache.c
+++ b/fs/xfs/xfs_mru_cache.c
@@ -408,7 +408,7 @@ xfs_mru_cache_flush(
408 spin_lock(&mru->lock); 408 spin_lock(&mru->lock);
409 if (mru->queued) { 409 if (mru->queued) {
410 spin_unlock(&mru->lock); 410 spin_unlock(&mru->lock);
411 cancel_rearming_delayed_workqueue(xfs_mru_reap_wq, &mru->work); 411 cancel_delayed_work_sync(&mru->work);
412 spin_lock(&mru->lock); 412 spin_lock(&mru->lock);
413 } 413 }
414 414