Re: [PATCH V6 03/13] common/xfs: Add helper to obtain fsxattr field value
From: Chandan Babu R <hidden>
Date: 2021-03-11 02:55:31
Also in:
fstests
On 10 Mar 2021 at 11:43, Allison Henderson wrote:
On 3/8/21 10:01 PM, Chandan Babu R wrote:quoted
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 <redacted> --- 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