From 26905ca82776e8119a347a9a2e8d65c272c7ed62 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Tue, 14 Jul 2009 14:07:45 -0700 Subject: [PATCH] Client: Rewrote mkdirs to avoid possible race condition. And added _ to some _mkdir debugging output. --- src/client/Client.cc | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index d3ab86235cacc..c5f7b727d2c0b 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -2938,6 +2938,7 @@ int Client::mkdirs(const char *relpath, mode_t mode) tout << relpath << std::endl; tout << mode << std::endl; + //get through existing parts of path filepath path(relpath); unsigned int i; int r; @@ -2946,20 +2947,28 @@ int Client::mkdirs(const char *relpath, mode_t mode) for (i=0; (r=_lookup(cur, path[i].c_str(), &next))==0 && iino).getpath() << dendl; } return 0; } @@ -4774,11 +4783,11 @@ int Client::_mkdir(Inode *dir, const char *name, mode_t mode, int uid, int gid) dout(10) << "_mkdir: making request" << dendl; int res = make_request(req, uid, gid); - dout(10) << "mkdir result is " << res << dendl; + dout(10) << "_mkdir result is " << res << dendl; trim_cache(); - dout(3) << "mkdir(" << path << ", 0" << oct << mode << dec << ") = " << res << dendl; + dout(3) << "_mkdir(" << path << ", 0" << oct << mode << dec << ") = " << res << dendl; return res; } -- 2.39.5