|
|
Log in / Subscribe / Register

fstests: add test coverage for cloned filesystem ids

From:  Anand Jain <asj-AT-kernel.org>
To:  fstests-AT-vger.kernel.org
Subject:  [PATCH v6 0/11] fstests: add test coverage for cloned filesystem ids
Date:  Thu, 28 May 2026 12:05:31 +0800
Message-ID:  <cover.1779939330.git.asj@kernel.org>
Cc:  linux-btrfs-AT-vger.kernel.org, linux-ext4-AT-vger.kernel.org, linux-xfs-AT-vger.kernel.org, linux-f2fs-devel-AT-lists.sourceforge.net, zlang-AT-redhat.com, hch-AT-infradead.org
Archive-link:  Article

v6:
. Renamed `pre_clone_tune_uuid()` to `_change_metadata_uuid()`.
. Created the `_require_unique_f_fsid()` helper instead of handling it inside the test case (patch 5/11).
. Separated `FSNOTIFYWAIT_PROG` into its own patch.
. Dropped the `inotify` test case in favor of `fsnotify`.
. Added comments throughout, especially for helper functions.

v5:
  https://lore.kernel.org/fstests/cover.1779367627.git.asj@...

v4:
  https://lore.kernel.org/fstests/cover.1777357320.git.asj@...

v3:
  https://lore.kernel.org/fstests/cover.1777281778.git.asj@...

v2:
  https://lore.kernel.org/fstests/cover.1774090817.git.asj@...

v1:
  https://lore.kernel.org/fstests/cover.1772095513.git.asj@...

This series adds fstests infrastructure and test cases to verify correct
filesystem identity when a filesystem is cloned (block-level copy).
Test covers inotify, fanotify, f_fsid, libblkid, IMA, exportfs file handles
and libblkid tools verify with metadata_uuid.
  New helpers:
   _loop_image_create_clone() and _loop_image_destroy() to help create fs and clone
   _clone_mount_option() helper to apply per-filesystem clone mount options
   _change_metadata_uuid() changes the UUID before the clone

  New tests:
  - fanotify events are isolated between cloned filesystems
  - f_fsid is unique across cloned filesystem instances
  - libblkid correctly resolves duplicate UUIDs to distinct devices
    with and without metadata_uuid
  - IMA distinct identity for each cloned filesystem
  - exportfs file handles resolve correctly on cloned filesystems

Kernel Patches:
  Requires Btrfs kernel patches for all tests to pass.
   [1] https://lore.kernel.org/linux-btrfs/cover.1777281686.git....

Anand Jain (11):
  fstests: add _loop_image_create_clone() helper
  fstests: add _clone_mount_option() helper
  fstests: add FSNOTIFYWAIT_PROG
  fstests: add _require_unique_f_fsid() helper
  fstests: verify fanotify isolation on cloned filesystems
  fstests: verify f_fsid for cloned filesystems
  fstests: verify libblkid resolution of duplicate UUIDs
  fstests: verify IMA isolation on cloned filesystems
  fstests: verify exportfs file handles on cloned filesystems
  fstests: add _change_metadata_uuid helper
  fstests: test UUID consistency for clones with metadata_uuid

 common/config         |   1 +
 common/rc             | 124 ++++++++++++++++++++++++++++++++++++++
 tests/generic/801     | 135 ++++++++++++++++++++++++++++++++++++++++++
 tests/generic/801.out |   7 +++
 tests/generic/802     |  67 +++++++++++++++++++++
 tests/generic/802.out |   7 +++
 tests/generic/803     |  84 ++++++++++++++++++++++++++
 tests/generic/803.out |  19 ++++++
 tests/generic/804     | 108 +++++++++++++++++++++++++++++++++
 tests/generic/804.out |  10 ++++
 tests/generic/805     |  80 +++++++++++++++++++++++++
 tests/generic/805.out |   2 +
 tests/generic/806     |  84 ++++++++++++++++++++++++++
 tests/generic/806.out |  19 ++++++
 14 files changed, 747 insertions(+)
 create mode 100644 tests/generic/801
 create mode 100644 tests/generic/801.out
 create mode 100644 tests/generic/802
 create mode 100644 tests/generic/802.out
 create mode 100644 tests/generic/803
 create mode 100644 tests/generic/803.out
 create mode 100644 tests/generic/804
 create mode 100644 tests/generic/804.out
 create mode 100644 tests/generic/805
 create mode 100644 tests/generic/805.out
 create mode 100644 tests/generic/806
 create mode 100644 tests/generic/806.out

-- 
2.43.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds