Re: [PATCH V2 03/12] xfs: Introduce xfs_iext_max() helper

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

 



On 28 Jul 2021 at 03:28, Darrick J. Wong wrote:
> On Mon, Jul 26, 2021 at 05:15:32PM +0530, Chandan Babu R wrote:
>> xfs_iext_max() returns the maximum number of extents possible for one of
>> data, cow or attribute fork. This helper will be extended further in a
>> future commit when maximum extent counts associated with data/attribute
>> forks are increased.
>> 
>> Signed-off-by: Chandan Babu R <chandanrlinux@xxxxxxxxx>
>> ---
>>  fs/xfs/libxfs/xfs_bmap.c       | 9 ++++-----
>>  fs/xfs/libxfs/xfs_inode_buf.c  | 8 +++-----
>>  fs/xfs/libxfs/xfs_inode_fork.c | 6 +++---
>>  fs/xfs/libxfs/xfs_inode_fork.h | 8 ++++++++
>>  fs/xfs/scrub/inode_repair.c    | 2 +-
>>  5 files changed, 19 insertions(+), 14 deletions(-)
>> 
>
> <snip>
>
>> diff --git a/fs/xfs/libxfs/xfs_inode_fork.h b/fs/xfs/libxfs/xfs_inode_fork.h
>> index cf82be263b48..1eda2163603e 100644
>> --- a/fs/xfs/libxfs/xfs_inode_fork.h
>> +++ b/fs/xfs/libxfs/xfs_inode_fork.h
>> @@ -133,6 +133,14 @@ static inline int8_t xfs_ifork_format(struct xfs_ifork *ifp)
>>  	return ifp->if_format;
>>  }
>>  
>> +static inline xfs_extnum_t xfs_iext_max(struct xfs_mount *mp, int whichfork)
>
> xfs_iext_max_nextents() to go with the constants?  "max" on its own is a
> little vague.  I /really/ like this getting cleaned up finally though.
>

Ok. I will rename the function as per your suggestion.

>> +{
>> +	if (whichfork == XFS_DATA_FORK || whichfork == XFS_COW_FORK)
>> +		return XFS_IFORK_EXTCNT_MAXS32;
>> +	else
>> +		return XFS_IFORK_EXTCNT_MAXS16;
>
> No need for the 'else'.

Sure. I will fix it up.

>
> --D
>
>> +}
>> +
>>  struct xfs_ifork *xfs_ifork_alloc(enum xfs_dinode_fmt format,
>>  				xfs_extnum_t nextents);
>>  struct xfs_ifork *xfs_iext_state_to_fork(struct xfs_inode *ip, int state);
>> diff --git a/fs/xfs/scrub/inode_repair.c b/fs/xfs/scrub/inode_repair.c
>> index c44f8d06939b..a44d7b48c374 100644
>> --- a/fs/xfs/scrub/inode_repair.c
>> +++ b/fs/xfs/scrub/inode_repair.c
>> @@ -1198,7 +1198,7 @@ xrep_inode_blockcounts(
>>  			return error;
>>  		if (count >= sc->mp->m_sb.sb_dblocks)
>>  			return -EFSCORRUPTED;
>> -		if (nextents >= XFS_IFORK_EXTCNT_MAXS16)
>> +		if (nextents >= xfs_iext_max(sc->mp, XFS_ATTR_FORK))
>>  			return -EFSCORRUPTED;
>>  		ifp->if_nextents = nextents;
>>  	} else {
>> -- 
>> 2.30.2
>> 


-- 
chandan



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux