unsigned long flags;
struct jfs_sb_info *sbi;
+ set_freezable();
+
do {
LAZY_LOCK(flags);
jfs_commit_thread_waking = 0; /* OK to wake another thread */
__set_current_state(TASK_RUNNING);
remove_wait_queue(&jfs_commit_thread_wait, &wq);
}
- } while (!kthread_should_stop());
+ } while (!kthread_freezable_should_stop(NULL));
if (!list_empty(&TxAnchor.unlock_queue))
jfs_err("jfs_lazycommit being killed w/pending transactions!");
struct jfs_inode_info *jfs_ip;
tid_t tid;
+ set_freezable();
+
do {
/*
* write each inode on the anonymous inode list
schedule();
__set_current_state(TASK_RUNNING);
}
- } while (!kthread_should_stop());
+ } while (!kthread_freezable_should_stop(NULL));
jfs_info("jfs_sync being killed");
return 0;