]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tools: fix cephfs-data-scan scan_frags vs. nlink 5941/head
authorJohn Spray <john.spray@redhat.com>
Sun, 29 Nov 2015 16:20:39 +0000 (16:20 +0000)
committerJohn Spray <john.spray@redhat.com>
Sun, 29 Nov 2015 17:07:31 +0000 (17:07 +0000)
Signed-off-by: John Spray <john.spray@redhat.com>
src/tools/cephfs/DataScan.cc
src/tools/cephfs/DataScan.h

index 619c69380b8fc9195364d5ddbcc2c72694e3b913..59fff63bc6ad20f96adb748f542cb50e1c3eee44 100644 (file)
@@ -863,7 +863,7 @@ int DataScan::scan_frags()
 
     InodeStore dentry;
     build_dir_dentry(obj_name_ino, fnode.fragstat.nfiles,
-        fnode.fragstat.nsubdirs, fnode.fragstat.mtime, loaded_layout, &dentry);
+        fnode.fragstat.mtime, loaded_layout, &dentry);
 
     // Inject inode to the metadata pool
     if (have_backtrace) {
@@ -1008,7 +1008,7 @@ int MetadataDriver::inject_lost_and_found(
     memset(&inherit_layout, 0, sizeof(inherit_layout));
 
     // Construct LF inode
-    build_dir_dentry(CEPH_INO_LOST_AND_FOUND, 1, 0, 0, inherit_layout, &lf_ino);
+    build_dir_dentry(CEPH_INO_LOST_AND_FOUND, 1, 0, inherit_layout, &lf_ino);
 
     // Inject link to LF inode in the root dir
     r = inject_linkage(CEPH_INO_ROOT, "lost+found", frag_t(), lf_ino);
@@ -1602,7 +1602,7 @@ void MetadataTool::build_file_dentry(
 }
 
 void MetadataTool::build_dir_dentry(
-    inodeno_t ino, uint64_t nfiles, uint64_t nsubdirs,
+    inodeno_t ino, uint64_t nfiles,
     time_t mtime, const ceph_file_layout &layout, InodeStore *out)
 {
   assert(out != NULL);
@@ -1622,7 +1622,7 @@ void MetadataTool::build_dir_dentry(
 
   out->inode.inline_data.version = CEPH_INLINE_NONE;
 
-  out->inode.nlink = 2 + nsubdirs;
+  out->inode.nlink = 1;
   out->inode.ino = ino;
   out->inode.version = 1;
   out->inode.backtrace_version = 1;
index 2404d665a2df46bd21e731c8331d5b970e79a8a8..f3d29aa7aa5f5edd6bda7177cf0266431ba1186e 100644 (file)
@@ -149,7 +149,7 @@ class MetadataTool
    * Construct a synthetic InodeStore for a directory
    */
   void build_dir_dentry(
-    inodeno_t ino, uint64_t nfiles, uint64_t nsubdirs,
+    inodeno_t ino, uint64_t nfiles,
     time_t mtime,
     const ceph_file_layout &layout,
     InodeStore *out);