From: Yan, Zheng Date: Wed, 4 Feb 2015 12:22:54 +0000 (+0800) Subject: mds: disallow layout changes for files with data X-Git-Tag: v0.93~46^2~5^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cbfa08e558c1f9914f6ffde784963df60c14ebd5;p=ceph.git mds: disallow layout changes for files with data Fixes: #10737 Signed-off-by: Yan, Zheng --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index e31da938a0e5..036267409e46 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();