From cbfa08e558c1f9914f6ffde784963df60c14ebd5 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Wed, 4 Feb 2015 20:22:54 +0800 Subject: [PATCH] mds: disallow layout changes for files with data Fixes: #10737 Signed-off-by: Yan, Zheng --- src/mds/Server.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index e31da938a0e54..036267409e46e 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3924,6 +3924,11 @@ void Server::handle_set_vxattr(MDRequestRef& mdr, CInode *cur, respond_to_request(mdr, -EINVAL); return; } + if (cur->get_projected_inode()->size || + cur->get_projected_inode()->truncate_seq > 1) { + respond_to_request(mdr, -ENOTEMPTY); + return; + } ceph_file_layout layout = cur->get_projected_inode()->layout; rest = name.substr(name.find("layout")); const OSDMap *osdmap = mds->objecter->get_osdmap_read(); -- 2.39.5