summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2023-06-05 17:33:35 +0300
committerIlya Dryomov <idryomov@gmail.com>2023-06-06 10:54:27 +0300
commit870611e4877eff1e8413c3fb92a585e45d5291f6 (patch)
tree54a8e9aea9dfa6a34def7337360627fca4890f3b /fs
parent09fe05c57b5aaf23e2c35036c98ea9f282b19a77 (diff)
downloadlinux-870611e4877eff1e8413c3fb92a585e45d5291f6.tar.xz
rbd: get snapshot context after exclusive lock is ensured to be held
Move capturing the snapshot context into the image request state machine, after exclusive lock is ensured to be held for the duration of dealing with the image request. This is needed to ensure correctness of fast-diff states (OBJECT_EXISTS vs OBJECT_EXISTS_CLEAN) and object deltas computed based off of them. Otherwise the object map that is forked for the snapshot isn't guaranteed to accurately reflect the contents of the snapshot when the snapshot is taken under I/O. This breaks differential backup and snapshot-based mirroring use cases with fast-diff enabled: since some object deltas may be incomplete, the destination image may get corrupted. Cc: stable@vger.kernel.org Link: https://tracker.ceph.com/issues/61472 Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions