Re: [PATCH V6 03/13] common/xfs: Add helper to obtain fsxattr field value

Chandan Babu R
2021-03-11T02:55:30Z

On 10 Mar 2021 at 11:43, Allison Henderson wrote:
> On 3/8/21 10:01 PM, Chandan Babu R wrote:
>> This commit adds a helper function to obtain the value of a particular field
>> of an inode's fsxattr fields.
>>
>> Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com>
>> ---
>> common/xfs | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/common/xfs b/common/xfs
>> index 26ae21b9..130b3232 100644
>> --- a/common/xfs
>> +++ b/common/xfs
>> @@ -194,6 +194,15 @@ _xfs_get_file_block_size()
>> $XFS_INFO_PROG "$path" | grep realtime | sed -e 's/^.*extsz=\([0-9]*\).*$/\1/g'
>> }
>> +_xfs_get_fsxattr()
>> +{
>> + local field="$1"
>> + local path="$2"
>> +
>> + local value=$($XFS_IO_PROG -c "stat" "$path" | grep "$field")
>> + echo ${value##fsxattr.${field} = }
>> +}
>> +
> In fiddling with the commands here, I think I may have noticed a bug.
> I think you want to grep whole words only, or you may mistakenly match
> sub words. Example:
>
> root@garnet:/home/achender/work_area# field="extsize "
> root@garnet:/home/achender/work_area# xfs_io -c "stat"
> /mnt/scratch/test | grep "$field"
> fsxattr.extsize = 0
> fsxattr.cowextsize = 0
>
> I think if you add the -w to the grep that fixes it:
> root@garnet:/home/achender/work_area# xfs_io -c "stat"
> /mnt/scratch/test | grep -w "$field"
> fsxattr.extsize = 0
>
> I think that's what you meant to do right?
>

Yes, that was the intended behaviour. Thanks for catching the bug and
suggesting the appropriate solution.

I will fix this.

Also, Thanks for reviewing the entire patchset.

--
chandan