]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: handle errors when doing slow caching
authorJosef Bacik <jbacik@fusionio.com>
Mon, 5 Aug 2013 15:15:21 +0000 (11:15 -0400)
committerChris Mason <chris.mason@fusionio.com>
Sun, 1 Sep 2013 12:04:47 +0000 (08:04 -0400)
commit0f4fdec95c63c2a75db4091cdf079ef94b5c967f
treefad46576765b99267f7906de13343886f8a5a361
parent663fdf3fb6f7f192e568c6cc6e88fcf12c3d0e45
Btrfs: handle errors when doing slow caching

Alex Lyakas reported a bug where wait_block_group_cache_progress() would wait
forever if a drive failed.  This is because we just bail out if there is an
error while trying to cache a block group, we don't update anybody who may be
waiting.  So this introduces a new enum for the cache state in case of error and
makes everybody bail out if we have an error.  Alex tested and verified this
patch fixed his problem.  This fixes bz 59431.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c