summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fusionio.com>2013-08-26 19:45:53 +0200
committerChris Mason <chris.mason@fusionio.com>2013-09-01 14:16:31 +0200
commit726551ebc79c0a41f66376463ebe8c84c89c1151 (patch)
tree5ecb08aeceb613806216b96b983bb12b3c31500b /fs/btrfs
parentBtrf: cleanup: don't check for root_refs == 0 twice (diff)
downloadlinux-726551ebc79c0a41f66376463ebe8c84c89c1151.tar.xz
linux-726551ebc79c0a41f66376463ebe8c84c89c1151.zip
Btrfs: adjust the fs_devices->missing count on unmount
I noticed that if I tried to mount a file system with -o degraded after having done it once already we would fail to mount. This is because the fs_devices->missing count was getting bumped everytime we mounted, but not getting reset whenever we unmounted. To fix this we just drop the missing count as we're closing devices to make sure this doesn't happen. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/volumes.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 74614e3b5ad3..f42e41290124 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -673,6 +673,8 @@ static int __btrfs_close_devices(struct btrfs_fs_devices *fs_devices)
if (device->can_discard)
fs_devices->num_can_discard--;
+ if (device->missing)
+ fs_devices->missing_devices--;
new_device = btrfs_alloc_device(NULL, &device->devid,
device->uuid);