[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200226122655.GM10728@quack2.suse.cz>
Date: Wed, 26 Feb 2020 13:26:55 +0100
From: Jan Kara <jack@...e.cz>
To: Ritesh Harjani <riteshh@...ux.ibm.com>
Cc: jack@...e.cz, tytso@....edu, linux-ext4@...r.kernel.org,
adilger.kernel@...ger.ca, linux-fsdevel@...r.kernel.org,
darrick.wong@...cle.com, hch@...radead.org, cmaiolino@...hat.com
Subject: Re: [PATCHv3 1/6] ext4: Add IOMAP_F_MERGED for non-extent based
mapping
On Wed 26-02-20 15:27:03, Ritesh Harjani wrote:
> IOMAP_F_MERGED needs to be set in case of non-extent based mapping.
> This is needed in later patches for conversion of ext4_fiemap to use iomap.
>
> Signed-off-by: Ritesh Harjani <riteshh@...ux.ibm.com>
> ---
> fs/ext4/inode.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index d035acab5b2a..3b4230cf0bc2 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -3335,6 +3335,10 @@ static void ext4_set_iomap(struct inode *inode, struct iomap *iomap,
> iomap->offset = (u64) map->m_lblk << blkbits;
> iomap->length = (u64) map->m_len << blkbits;
>
> + if ((map->m_flags & (EXT4_MAP_UNWRITTEN | EXT4_MAP_MAPPED)) &&
> + !ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
^^ we indent the second line of condition either like:
if ((map->m_flags & (EXT4_MAP_UNWRITTEN | EXT4_MAP_MAPPED)) &&
!ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
or like:
if ((map->m_flags & (EXT4_MAP_UNWRITTEN | EXT4_MAP_MAPPED)) &&
!ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
But on at the same level as following code block because that's highly
confusing at times...
Also EXT4_MAP_UNWRITTEN is never set for indirect block mapped files (that
on disk format does not support unwritten extents).
Honza
> + iomap->flags |= IOMAP_F_MERGED;
> +
> /*
> * Flags passed to ext4_map_blocks() for direct I/O writes can result
> * in m_flags having both EXT4_MAP_MAPPED and EXT4_MAP_UNWRITTEN bits
> --
> 2.21.0
>
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists