lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 26 Feb 2020 18:03:57 +0530
From:   Ritesh Harjani <riteshh@...ux.ibm.com>
To:     Jan Kara <jack@...e.cz>
Cc:     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 2/26/20 5:56 PM, Jan Kara wrote:
> 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))

Yes, I too prefer it this way. Will fix it.

> 
> 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).

Aah yes. Let me fix it.

> 
> 								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
>>

Powered by blists - more mailing lists