The kernel thread function jfs_lazycommit() and jfs_sync() invoke the
try_to_freeze() in its loop. But all the kernel threads are no-freezable
by default. So if we want to make a kernel thread to be freezable, we have
to invoke set_freezable() explicitly.
Signed-off-by: Kevin Hao <[email protected]>
Signed-off-by: Dave Kleikamp <[email protected]>
unsigned long flags;
struct jfs_sb_info *sbi;
unsigned long flags;
struct jfs_sb_info *sbi;
do {
LAZY_LOCK(flags);
jfs_commit_thread_waking = 0; /* OK to wake another thread */
do {
LAZY_LOCK(flags);
jfs_commit_thread_waking = 0; /* OK to wake another thread */
struct jfs_inode_info *jfs_ip;
tid_t tid;
struct jfs_inode_info *jfs_ip;
tid_t tid;
do {
/*
* write each inode on the anonymous inode list
do {
/*
* write each inode on the anonymous inode list