Message ID | 20201113112704.28798-2-chandanrlinux@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xfs: Tests to check for inode fork extent count overflow detection | expand |
On Fri, Nov 13, 2020 at 04:56:53PM +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@gmail.com> > --- > common/xfs | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/common/xfs b/common/xfs > index 79dab058..45cd329c 100644 > --- a/common/xfs > +++ b/common/xfs > @@ -883,6 +883,28 @@ _scratch_get_bmx_prefix() { > return 1 > } > > +_scratch_get_iext_count() > +{ > + ino=$1 > + whichfork=$2 > + > + 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} = } This helper looks fine, but looking at the callers spread over the next 10 patches, I notice that you unmount to call this helper and immediately remount the fs. I wonder, is there a specific reason for grabbing the extent count that way? You can extract the same info online with `xfs_io -c 'stat' /moo', right? --D > + > + echo $nextents > +} > + > # > # Ensures that we don't pass any mount options incompatible with XFS v4 > # > -- > 2.28.0 >
diff --git a/common/xfs b/common/xfs index 79dab058..45cd329c 100644 --- a/common/xfs +++ b/common/xfs @@ -883,6 +883,28 @@ _scratch_get_bmx_prefix() { return 1 } +_scratch_get_iext_count() +{ + ino=$1 + whichfork=$2 + + 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} = } + + echo $nextents +} + # # Ensures that we don't pass any mount options incompatible with XFS v4 #
This commit adds the helper _scratch_get_iext_count() which returns an inode fork's extent count. Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com> --- common/xfs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)