]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: make less noise when unlinking during readdir
authorSage Weil <sage@inktank.com>
Tue, 2 Jul 2013 00:45:54 +0000 (17:45 -0700)
committerYan, Zheng <zheng.z.yan@intel.com>
Sat, 10 May 2014 03:50:09 +0000 (11:50 +0800)
Skip, but do not talk about, NULL dentries.

Signed-off-by: Sage Weil <sage@inktank.com>
src/client/Client.cc

index eb09f1b949727ca4901f7118f15ad3957bf25514..cb772f9be8a637c2926067cf8eaab5d0e534e786 100644 (file)
@@ -910,10 +910,14 @@ void Client::insert_readdir_results(MetaRequest *request, MetaSession *session,
       while (pd != dir->dentry_map.end() && pd->first < dname) {
        if (pd->first < dname &&
            fg.contains(diri->hash_dentry_name(pd->first))) {  // do not remove items in earlier frags
-         ldout(cct, 15) << "insert_trace  unlink '" << pd->first << "'" << dendl;
          Dentry *dn = pd->second;
-         ++pd;
-         unlink(dn, true, true);  // keep dir, dentry
+         if (dn->inode) {
+           ldout(cct, 15) << "insert_trace  unlink '" << pd->first << "'" << dendl;
+           ++pd;
+           unlink(dn, true, true);  // keep dir, dentry
+         } else {
+           ++pd;
+         }
        } else {
          ++pd;
        }