Re: [PATCH v2 15/28] debugfs: handle inline_data feature in bmap command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 03, 2013 at 08:11:42PM +0800, Zheng Liu wrote:
> From: Zheng Liu <wenqing.lz@xxxxxxxxxx>
> 
> No physical block mapping if an inode has inline data.
> 
> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
> Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx>
> ---
>  lib/ext2fs/bmap.c |    7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/lib/ext2fs/bmap.c b/lib/ext2fs/bmap.c
> index 5074587..0d043bd 100644
> --- a/lib/ext2fs/bmap.c
> +++ b/lib/ext2fs/bmap.c
> @@ -273,6 +273,13 @@ errcode_t ext2fs_bmap2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode,
>  		block_buf = buf;
>  	}
>  
> +	/*
> +	 * If an inode has inline data, that means that it doesn't have
> +	 * any blocks and we shouldn't map any blocks for it.
> +	 */
> +	if (inode->i_flags & EXT4_INLINE_DATA_FL)
> +		goto done;

If you move this to before the ext2fs_get_array() chunk above it, you could
return straight out of the function.

This should return an error code of some kind, because otherwise the client
will think that something happened when the function returns 0, especially if
BMAP_{ALLOC,SET,UNINIT} are passed in.

--D

> +
>  	if (inode->i_flags & EXT4_EXTENTS_FL) {
>  		retval = ext2fs_extent_open2(fs, ino, inode, &handle);
>  		if (retval)
> -- 
> 1.7.9.7
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux