mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
btrfs: fix EIO misuse to report missing degraded option
EIO is only for the IO failure to the device, avoid it. Use ENOENT as that's the closest error code describing what happened. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> [ update changelog ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
adfb69af7d
commit
45dbdbc9f6
1 changed files with 3 additions and 3 deletions
|
@ -6437,7 +6437,7 @@ static int read_one_chunk(struct btrfs_fs_info *fs_info, struct btrfs_key *key,
|
|||
!btrfs_test_opt(fs_info, DEGRADED)) {
|
||||
free_extent_map(em);
|
||||
btrfs_report_missing_device(fs_info, devid, uuid);
|
||||
return -EIO;
|
||||
return -ENOENT;
|
||||
}
|
||||
if (!map->stripes[i].dev) {
|
||||
map->stripes[i].dev =
|
||||
|
@ -6570,7 +6570,7 @@ static int read_one_dev(struct btrfs_fs_info *fs_info,
|
|||
if (!device) {
|
||||
if (!btrfs_test_opt(fs_info, DEGRADED)) {
|
||||
btrfs_report_missing_device(fs_info, devid, dev_uuid);
|
||||
return -EIO;
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
device = add_missing_dev(fs_devices, devid, dev_uuid);
|
||||
|
@ -6585,7 +6585,7 @@ static int read_one_dev(struct btrfs_fs_info *fs_info,
|
|||
if (!device->bdev) {
|
||||
btrfs_report_missing_device(fs_info, devid, dev_uuid);
|
||||
if (!btrfs_test_opt(fs_info, DEGRADED))
|
||||
return -EIO;
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
if(!device->bdev && !device->missing) {
|
||||
|
|
Loading…
Reference in a new issue