Re: [PATCH v3 1/9] fstests: add _loop_image_create_clone() helper
Anand Jain <[email protected]>
| Newsgroups | org.kernel.vger.fstests,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-ext4,org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <[email protected]> |
On 28/4/26 02:31, Amir Goldstein wrote: > On Mon, Apr 27, 2026 at 12:19 PM Anand Jain <[email protected]> wrote: >> >> Introduce _loop_image_create_clone() and _loop_image_destroy() to mkfs an >> image file and clone it to another image file, and attach a loop device to >> them. And its destroy part. >> >> Signed-off-by: Anand Jain <[email protected]> >> --- >> common/rc | 44 ++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 44 insertions(+) >> >> diff --git a/common/rc b/common/rc >> index 9632b211b58f..0e7b7eb1d98f 100644 >> --- a/common/rc >> +++ b/common/rc >> @@ -1503,6 +1503,50 @@ _scratch_resvblks() >> esac >> } >> >> +_loop_image_create_clone() >> +{ >> + local -n _ret=$1 >> + local pre_clone_tune_func=$2 >> + local img_file=$TEST_DIR/${seq}.img >> + local img_file_clone=$TEST_DIR/${seq}_clone.img >> + local size=$(_small_fs_size_mb 128) # Smallest possible >> + local loop_devs >> + >> + size=$((size * 1024 * 1024)) >> + $XFS_IO_PROG -f -c "truncate $size" $img_file >> + >> + loop_devs=$(_create_loop_device $img_file) >> + _ret=($loop_devs) >> + >> + case $FSTYP in >> + xfs) >> + _mkfs_dev "-s size=4096" $img_file >> + ;; >> + btrfs) >> + _mkfs_dev $img_file >> + ;; >> + *) >> + _mkfs_dev $img_file > > You making a wrong assumption that FSTYP can format the loop devices > > You should add _require_block_device $SCRATCH_DEV > to all your tests or maybe nicer, add: > > _require_loop_mountable which requires loop and block dev fs > and use this requirement instead of just _require_loop in all tests. > Thanks. I've fixed this in v4 by adding _require_block_device $TEST_DEV Since SCRATCH_DEV is not required. I didn't create a new _require_loop_mountable() helper. Both _require_loop() and _require_block_device() are used both together across other existing tests; I prefer not to deviate into cleaning that up in this patch set. v4 is in the ML for rvb. Thanks, Anand > Thanks, > Amir.