diff options
Diffstat (limited to 'fs/xfs/xfs_buf.c')
| -rw-r--r-- | fs/xfs/xfs_buf.c | 10 | 
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index cf0ac056815..4dff85c7d7e 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1370,7 +1370,7 @@ restart:  			goto restart;  		}  		/* -		 * clear the LRU reference count so the bufer doesn't get +		 * clear the LRU reference count so the buffer doesn't get  		 * ignored in xfs_buf_rele().  		 */  		atomic_set(&bp->b_lru_ref, 0); @@ -1701,12 +1701,8 @@ xfsbufd(  		struct list_head tmp;  		struct blk_plug plug; -		if (unlikely(freezing(current))) { -			set_bit(XBT_FORCE_SLEEP, &target->bt_flags); -			refrigerator(); -		} else { -			clear_bit(XBT_FORCE_SLEEP, &target->bt_flags); -		} +		if (unlikely(freezing(current))) +			try_to_freeze();  		/* sleep for a long time if there is nothing to do. */  		if (list_empty(&target->bt_delwri_queue))  |