From: Sage Weil Date: Tue, 27 May 2008 02:16:19 +0000 (-0700) Subject: mds: dont xlock dirlock on rename X-Git-Tag: v0.3~170^2~49 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a7eef2da35648490ef2d168ec135add42ea0f6a5;p=ceph.git mds: dont xlock dirlock on rename --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index c9d96109ee58..71205eab3394 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3109,8 +3109,6 @@ void Server::handle_client_rename(MDRequest *mdr) rdlocks.insert(&srctrace[i]->lock); xlocks.insert(&srcdn->lock); wrlocks.insert(&srcdn->dir->inode->dirlock); - if (srcdn->is_primary() && srcdn->inode->is_dir()) - xlocks.insert(&srcdn->inode->dirlock); /* * no, this causes problems if the dftlock is scattered... @@ -3123,8 +3121,6 @@ void Server::handle_client_rename(MDRequest *mdr) rdlocks.insert(&desttrace[i]->lock); xlocks.insert(&destdn->lock); wrlocks.insert(&destdn->dir->inode->dirlock); - if (destdn->is_primary() && destdn->inode->is_dir()) - xlocks.insert(&destdn->inode->dirlock); // xlock versionlock on srci if remote? // this ensures it gets safely remotely auth_pinned, avoiding deadlock;