Re: [PATCH v3 07/13] ext4: fiemap: return correct extent physical length

From: Jan Kara
Date: Wed Apr 03 2024 - 07:29:44 EST


On Wed 03-04-24 03:22:48, Sweet Tea Dorminy wrote:
> Signed-off-by: Sweet Tea Dorminy <sweettea-kernel@xxxxxxxxxx>
> ---
> fs/ext4/extents.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index 2adade3c202a..4874f757e1bd 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -2194,7 +2194,7 @@ static int ext4_fill_es_cache_info(struct inode *inode,
>
> while (block <= end) {
> next = 0;
> - flags = 0;
> + flags = FIEMAP_EXTENT_HAS_PHYS_LEN;

OK, but we should then pass (__u64)es.es_len << blksize_bits as physical
extent length below, shouldn't we?

> if (!ext4_es_lookup_extent(inode, block, &next, &es))
> break;
> if (ext4_es_is_unwritten(&es))

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR