]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: try not to sleep as much when doing slow caching
authorJosef Bacik <josef@redhat.com>
Wed, 11 May 2011 21:30:53 +0000 (17:30 -0400)
committerJosef Bacik <josef@redhat.com>
Mon, 23 May 2011 17:03:13 +0000 (13:03 -0400)
commit4d325c01c8a626bf3362f8720beaeb87fb46379a
treee1e628bd721ae6fd34e1454f8124ecb9a2b3464f
parent940f2aa89958bfac4b543145e252e6b52a5b34b1
Btrfs: try not to sleep as much when doing slow caching

When the fs is super full and we unmount the fs, we could get stuck in this
thing where unmount is waiting for the caching kthread to make progress and the
caching kthread keeps scheduling because we're in the middle of a commit.  So
instead just let the caching kthread keep going and only yeild if
need_resched().  This makes my horrible umount case go from taking up to 10
minutes to taking less than 20 seconds.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
fs/btrfs/extent-tree.c