Skip to content

Commit

Permalink
btrfs: return ENODATA in case RST lookup fails
Browse files Browse the repository at this point in the history
In case a lookup in the RAID stripe-tree fails, return ENODATA instead of
ENOENT to better distinguish stripe-tree lookups from other code paths
where we return ENOENT.

Suggested-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
  • Loading branch information
Johannes Thumshirn authored and David Sterba committed Nov 11, 2024
1 parent 61b4d75 commit 5e72aab
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions fs/btrfs/raid-stripe-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ int btrfs_get_raid_extent_offset(struct btrfs_fs_info *fs_info,
found_end = found_logical + found_length;

if (found_logical > end) {
ret = -ENOENT;
ret = -ENODATA;
goto out;
}

Expand Down Expand Up @@ -280,10 +280,10 @@ int btrfs_get_raid_extent_offset(struct btrfs_fs_info *fs_info,
}

/* If we're here, we haven't found the requested devid in the stripe. */
ret = -ENOENT;
ret = -ENODATA;
out:
if (ret > 0)
ret = -ENOENT;
ret = -ENODATA;
if (ret && ret != -EIO && !stripe->rst_search_commit_root) {
btrfs_debug(fs_info,
"cannot find raid-stripe for logical [%llu, %llu] devid %llu, profile %s",
Expand Down

0 comments on commit 5e72aab

Please sign in to comment.