Re: [PATCH v3 2/3] common/rc: Add a new _require_scratch_extsize helper function

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

 




On 11/21/24 13:23, Ritesh Harjani (IBM) wrote:
Nirjhar Roy <nirjhar@xxxxxxxxxxxxx> writes:

_require_scratch_extsize helper function will be used in the
the next patch to make the test run only on filesystems with
extsize support.

Reviewed-by: Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx>
Signed-off-by: Nirjhar Roy <nirjhar@xxxxxxxxxxxxx>
---
  common/rc | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)

diff --git a/common/rc b/common/rc
index cccc98f5..995979e9 100644
--- a/common/rc
+++ b/common/rc
@@ -48,6 +48,23 @@ _test_fsxattr_xflag()
  	grep -q "fsxattr.xflags.*\[.*$2.*\]" <($XFS_IO_PROG -c "stat -v" "$1")
  }
+# This test requires extsize support on the filesystem
+_require_scratch_extsize()
+{
+	_require_scratch
_require_xfs_io_command "extsize"

^^^ Don't we need this too?
Yes, good point. I will add this in the next revision.

+	_scratch_mkfs > /dev/null
+	_scratch_mount
+	local filename=$SCRATCH_MNT/$RANDOM
+	local blksz=$(_get_block_size $SCRATCH_MNT)
+	local extsz=$(( blksz*2 ))
+	local res=$($XFS_IO_PROG -c "open -f $filename" -c "extsize $extsz" \
+		-c "extsize")
+	_scratch_unmount
+	grep -q "\[$extsz\] $filename" <(echo $res) || \
+		_notrun "this test requires extsize support on the filesystem"
Why grep when we can simply just check the return value of previous xfs_io command?
No, I don't think we can rely on the return value of xfs_io. For ex, let's look at the following set of commands which are ran on an ext4 system:

root@AMARPC: /mnt1/test$ xfs_io -V
xfs_io version 5.13.0
root@AMARPC: /mnt1/test$ touch new
root@AMARPC: /mnt1/test$ xfs_io -c "extsize 8k"  new
foreign file active, extsize command is for XFS filesystems only
root@AMARPC: /mnt1/test$ echo "$?"
0
This incorrect return value might have been fixed in some later versions of xfs_io but there are still versions where we can't solely rely on the return value.

+}
+
+
^^ Extra newline.

Noted. I will fix this.

--NR


  # Write a byte into a range of a file
  _pwrite_byte() {
  	local pattern="$1"
--
2.43.5

--
---
Nirjhar Roy
Linux Kernel Developer
IBM, Bangalore





[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux