]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: don't shallow copy when decoding xattr map 35199/head
authorYan, Zheng <zyan@redhat.com>
Wed, 15 Apr 2020 10:49:36 +0000 (18:49 +0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 22 May 2020 12:43:43 +0000 (14:43 +0200)
commit16c09421b20c96610bbc7d653c265f021a9ac9d3
tree2a36b95fa4b0f7f8a900693c7ffe8bcd2e7c3462
parentda5ac139f7df8981607c8843ebc36749a70752a4
mds: don't shallow copy when decoding xattr map

Otherwise inodes' xattr maps may reference a large shared buffer
(from omap fetch or journal read). If mds trims and loads inode
repeatly, each inode can reference different large buffer in the
worst case.

Fixes: https://tracker.ceph.com/issues/45090
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit deff94c8f43bb3734b688ccb828d942b8f150638)

Conflicts:
src/mds/CInode.cc
- CInode::decode_lock_ixattr is missing in nautilus
src/mds/mdstypes.h
- nautilus has a code comment that is not in master
src/mds/CInode.cc
src/mds/CInode.h
src/mds/Locker.cc
src/mds/Server.cc
src/mds/journal.cc
src/mds/mdstypes.h