Btrfs: return the internal error unchanged if btrfs_get_extent_fiemap() call failed for SEEK_DATA/SEEK_HOLE inquiry
PATCH v2 1/1 Btrfs: return the internal error unchanged if btrfs_get_extent_fiemap() call failed for SEEK_DATA/SEEK_HOLE inquiry
Given that ENXIO only means "offset beyond EOF" for either SEEK_DATA or SEEK_HOLE inquiry in a desired file range, so we should return the internal error unchanged if btrfs_get_extent_fiemap() call failed, rather than ENXIO.
Cc Dave Chinner <[email protected]>
Signed-off-by Jie Liu <[email protected]>
--- fs/btrfs/file.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
fs/btrfs/file.c +2 -2
@@ -1761,7 +1761,7 @@ static int find_desired_extent(struct inode *inode, loff_t *offset, int origin) start - root->sectorsize, root->sectorsize, 0);if (IS_ERR (em)) { - ret = -ENXIO ; + ret =PTR_ERR (em); goto out; } last_end = em->start + em->len;
@@ -1773,7 +1773,7 @@ static int find_desired_extent(struct inode *inode, loff_t *offset, int origin)while (1 ) { em =btrfs_get_extent_fiemap (inode,NULL ,0 , start, len,0 );if (IS_ERR (em)) { - ret = -ENXIO ; + ret =PTR_ERR (em);break ; }
Signature · 1 line
1.7.9