Re: [PATCH V4 01/11] common/xfs: Add a helper to get an inode fork's extent count

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

 



On 03 Mar 2021 at 23:00, Darrick J. Wong wrote:
> On Mon, Jan 18, 2021 at 11:50:12AM +0530, Chandan Babu R wrote:
>> This commit adds the helper _scratch_get_iext_count() which returns an
>> inode fork's extent count.
>>
>> Signed-off-by: Chandan Babu R <chandanrlinux@xxxxxxxxx>
>> ---
>>  common/xfs | 22 ++++++++++++++++++++++
>>  1 file changed, 22 insertions(+)
>>
>> diff --git a/common/xfs b/common/xfs
>> index 3f5c14ba..641d6195 100644
>> --- a/common/xfs
>> +++ b/common/xfs
>> @@ -903,6 +903,28 @@ _scratch_get_bmx_prefix() {
>>  	return 1
>>  }
>>
>> +_scratch_get_iext_count()
>> +{
>> +	ino=$1
>> +	whichfork=$2
>
> Function variables should be declared with 'local' so they don't bleed
> into the global namespace (yay bash!), e.g.
>
> 	local ino="$1"

Sorry, I forgot about this. I will fix this up.

>
> Also, now that Eric has landed the xfs_db 'path' command upstream, you
> might consider using it:
>
> 	_scratch_xfs_get_metadata_field "core.nextents" "path /windows/system.ini"
>

In this patchset _scratch_get_iext_count() is being used to get extent counts
of anonymous inodes i.e. inodes which do not have an entry in the filesytem
namespace (e.g. Quota and RT bitmap/summary inodes). Hence the 'path' command
won't be useful in this case.

>> +
>> +	case $whichfork in
>> +		"attr")
>> +			field=core.naextents
>> +			;;
>> +		"data")
>> +			field=core.nextents
>> +			;;
>> +		*)
>> +			return 1
>> +	esac
>> +
>> +	nextents=$(_scratch_xfs_db  -c "inode $ino" -c "print $field")
>> +	nextents=${nextents##${field} = }
>
> _scratch_xfs_get_metadata_field?

Sure, I will make use of the above mentioned helper.

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