| 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