diff options
author | Josef Bacik <jbacik@fusionio.com> | 2013-08-26 13:45:53 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-09-01 08:16:31 -0400 |
commit | 726551ebc79c0a41f66376463ebe8c84c89c1151 (patch) | |
tree | 5ecb08aeceb613806216b96b983bb12b3c31500b /fs/btrfs/volumes.c | |
parent | 23fa76b0ba78b7d84708d9ee683587d8a5bbceef (diff) |
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/volumes.c')
-rw-r--r-- | fs/btrfs/volumes.c | 2 |
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) | |||
673 | 673 | ||
674 | if (device->can_discard) | 674 | if (device->can_discard) |
675 | fs_devices->num_can_discard--; | 675 | fs_devices->num_can_discard--; |
676 | if (device->missing) | ||
677 | fs_devices->missing_devices--; | ||
676 | 678 | ||
677 | new_device = btrfs_alloc_device(NULL, &device->devid, | 679 | new_device = btrfs_alloc_device(NULL, &device->devid, |
678 | device->uuid); | 680 | device->uuid); |