diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index ae1742a35e76..fa912137c94d 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -7188,6 +7188,8 @@ static int read_one_dev(struct extent_buffer *leaf, if (!btrfs_test_opt(fs_info, DEGRADED)) { btrfs_report_missing_device(fs_info, devid, dev_uuid, true); + //1 + free_fs_devices(fs_devices); return -ENOENT; } @@ -7196,6 +7198,8 @@ static int read_one_dev(struct extent_buffer *leaf, btrfs_err(fs_info, "failed to add missing dev %llu: %ld", devid, PTR_ERR(device)); + //2 + free_fs_devices(fs_devices); return PTR_ERR(device); } btrfs_report_missing_device(fs_info, devid, dev_uuid,