fstests: add test coverage for cloned filesystem ids
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v8 Latest13 patches 28 repliesIn review
- v711 patches 11 repliesSuperseded
- v611 patches 12 repliesSuperseded
Earlier versions · 5
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v5 | 10 patches | 16 replies | Superseded | |
| v4 | 9 patches | 6 replies | Superseded | |
| v3 | 9 patches | 4 replies | Superseded | |
| v2 | 9 patches | 0 replies | Superseded | |
| v1 | 9 patches | 9 replies | Superseded |
Changes in v8 from the cover letter
- _require_fs_space: double the required space (x2) to account for both source and clone
- Use proper quoting/unquoting for _mkfs_dev (Thanks Darrick)
- Call _fail() if cp fails
- _require_fanotify_function: check for kernel fsnotify support
- _require_unique_f_fsid: reorganize comments and replace 'if' with 'case' statement (Thanks Darrick)
- Add SEMANAGE_PROG variable (Thanks Darrick)
- fanotify verification: add checks for SEMANAGE_PROG and _require_fanotify_function
- Verify that the monitoring process is actually created
Patches in v8 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/13 | fstests: add _loop_image_create_clone() helpercommon/ | +65 | 2 replies | |
| 2/13 | fstests: add _clone_mount_option() helpercommon/ | +13 | 2 replies | |
| 3/13 | fstests: add FSNOTIFYWAIT_PROGcommon/ | +1 | 1 reply | |
| 4/13 | fstests: add _require_fanotify_functioncommon/ | +7 | 2 replies | |
| 5/13 | fstests: add _require_unique_f_fsid() helpercommon/ | +27 | 2 replies | |
| 6/13 | fstests: add SEMANAGE_PROGcommon/ | +1 | 0 replies | |
| 7/13 | fstests: verify fanotify isolation on cloned filesystemstests/ tests/ | +150 | 2 replies | |
| 8/13 | fstests: verify f_fsid for cloned filesystemstests/ tests/ | +68 | 2 replies | |
| 9/13 | fstests: verify libblkid resolution of duplicate UUIDstests/ tests/ | +78 | 2 replies | |
| 10/13 | fstests: verify IMA isolation on cloned filesystemstests/ tests/ | +118 | 2 replies | |
| 11/13 | fstests: verify exportfs file handles on cloned filesystemstests/ tests/ | +82 | 3 replies | |
| 12/13 | fstests: add _change_metadata_uuid helpercommon/ | +23 | 2 replies | |
| 13/13 | fstests: test UUID consistency for clones with metadata_uuidtests/ tests/ | +80 | 4 replies |
Reviews trailers per patch
2 of 13 patches have a Reviewed-by or Acked-by.
| Patch | Darrick J. Wong | Zorro Lang |
|---|---|---|
| 1/13 | ||
| 2/13 | R-b | |
| 3/13 | R-b | R-b |
| 4/13 | ||
| 5/13 | ||
| 6/13 | ||
| 7/13 | ||
| 8/13 | ||
| 9/13 | ||
| 10/13 | ||
| 11/13 | ||
| 12/13 | ||
| 13/13 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v8 0/13] fstests: add test coverage for cloned filesystem ids
v8:
- _require_fs_space: double the required space (x2) to account for both source and clone
- Use proper quoting/unquoting for _mkfs_dev (Thanks Darrick)
- Call _fail() if cp fails
- _require_fanotify_function: check for kernel fsnotify support
- _require_unique_f_fsid: reorganize comments and replace 'if' with 'case' statement (Thanks Darrick)
- Add SEMANAGE_PROG variable (Thanks Darrick)
- fanotify verification: add checks for SEMANAGE_PROG and _require_fanotify_function
- Verify that the monitoring process is actually created
v7:
https://lore.kernel.org/fstests/[email protected]
v6:
https://lore.kernel.org/fstests/[email protected]
v5:
https://lore.kernel.org/fstests/[email protected]
v4:
https://lore.kernel.org/fstests/[email protected]
v3:
https://lore.kernel.org/fstests/[email protected]
v2:
https://lore.kernel.org/fstests/[email protected]
v1:
https://lore.kernel.org/fstests/[email protected]
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 _require_fanotify_function check if kernel supports fs notification _require_unique_f_fsid() helper to handle fs difference in fsid implementation
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/[email protected]
Anand Jain (13):
fstests: add _loop_image_create_clone() helper
fstests: add _clone_mount_option() helper
fstests: add FSNOTIFYWAIT_PROG
fstests: add _require_fanotify_function
fstests: add _require_unique_f_fsid() helper
fstests: add SEMANAGE_PROG
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 | 2 + common/rc | 135 +++++++++++++++++++++++++++++++++++++++ tests/generic/801 | 143 ++++++++++++++++++++++++++++++++++++++++++ tests/generic/801.out | 7 +++ tests/generic/802 | 64 +++++++++++++++++++ tests/generic/802.out | 4 ++ tests/generic/803 | 72 +++++++++++++++++++++ tests/generic/803.out | 6 ++ tests/generic/804 | 108 +++++++++++++++++++++++++++++++ tests/generic/804.out | 10 +++ tests/generic/805 | 80 +++++++++++++++++++++++ tests/generic/805.out | 2 + tests/generic/806 | 74 ++++++++++++++++++++++ tests/generic/806.out | 6 ++ 14 files changed, 713 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
Signature · 1 line
2.43.0