From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- qa/rbd/krbd_parent_overlap.t | 69 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 qa/rbd/krbd_parent_overlap.t (limited to 'qa/rbd/krbd_parent_overlap.t') diff --git a/qa/rbd/krbd_parent_overlap.t b/qa/rbd/krbd_parent_overlap.t new file mode 100644 index 000000000..3489d83db --- /dev/null +++ b/qa/rbd/krbd_parent_overlap.t @@ -0,0 +1,69 @@ + +For reads, only the object extent needs to be reverse mapped: + + $ rbd create --size 5M img + $ DEV=$(sudo rbd map img) + $ xfs_io -c 'pwrite 0 5M' $DEV >/dev/null + $ sudo rbd unmap $DEV + $ rbd snap create --no-progress img@snap + $ rbd snap protect img@snap + $ rbd clone img@snap cloneimg + $ rbd resize --no-progress --size 12M cloneimg + $ DEV=$(sudo rbd map cloneimg) + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0500000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0c00000 + $ dd if=$DEV iflag=direct bs=4M status=none | hexdump + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0500000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0c00000 + $ sudo rbd unmap $DEV + $ rbd rm --no-progress cloneimg + $ rbd snap unprotect img@snap + $ rbd snap rm --no-progress img@snap + $ rbd rm --no-progress img + +For writes, the entire object needs to be reverse mapped: + + $ rbd create --size 2M img + $ DEV=$(sudo rbd map img) + $ xfs_io -c 'pwrite 0 1M' $DEV >/dev/null + $ sudo rbd unmap $DEV + $ rbd snap create --no-progress img@snap + $ rbd snap protect img@snap + $ rbd clone img@snap cloneimg + $ rbd resize --no-progress --size 8M cloneimg + $ DEV=$(sudo rbd map cloneimg) + $ xfs_io -c 'pwrite -S 0xef 3M 1M' $DEV >/dev/null + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0100000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0300000 efef efef efef efef efef efef efef efef + * + 0400000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0800000 + $ sudo rbd unmap $DEV + $ DEV=$(sudo rbd map cloneimg) + $ hexdump $DEV + 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd + * + 0100000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0300000 efef efef efef efef efef efef efef efef + * + 0400000 0000 0000 0000 0000 0000 0000 0000 0000 + * + 0800000 + $ sudo rbd unmap $DEV + $ rbd rm --no-progress cloneimg + $ rbd snap unprotect img@snap + $ rbd snap rm --no-progress img@snap + $ rbd rm --no-progress img -- cgit v1.2.3