From be972e85e5c4db0ddd8fd9723989f6ab450c4fd2 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 27 Feb 2008 14:43:36 -0800 Subject: [PATCH] mds: untested fix for opent/openc inode versioning bug --- src/mds/Server.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 787081b6063e1..b498b269b8ece 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3786,13 +3786,13 @@ void Server::handle_client_truncate(MDRequest *mdr) le->metablob.add_client_req(mdr->reqid); le->metablob.add_dir_context(cur->get_parent_dir()); le->metablob.add_inode_truncate(cur->ino(), req->head.args.truncate.length, cur->inode.size); - inode_t *pi = le->metablob.add_dentry(cur->parent, true); + inode_t *pi = cur->project_inode(); pi->mtime = ctime; pi->ctime = ctime; pi->version = pdv; pi->size = req->head.args.truncate.length; + le->metablob.add_primary_dentry(cur->parent, true, 0, pi); - mdlog->submit_entry(le, fin); } @@ -3964,11 +3964,12 @@ void Server::handle_client_opent(MDRequest *mdr) le->metablob.add_client_req(mdr->reqid); le->metablob.add_dir_context(cur->get_parent_dir()); le->metablob.add_inode_truncate(cur->ino(), 0, cur->inode.size); - inode_t *pi = le->metablob.add_dentry(cur->parent, true); + inode_t *pi = cur->project_inode(); pi->mtime = ctime; pi->ctime = ctime; pi->version = pdv; pi->size = 0; + le->metablob.add_primary_dentry(cur->parent, true, 0, pi); mdlog->submit_entry(le, fin); } -- 2.39.5