]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: do not include /.ceph in readdir results
authorSage Weil <sage@newdream.net>
Wed, 2 Dec 2009 19:26:24 +0000 (11:26 -0800)
committerSage Weil <sage@newdream.net>
Wed, 2 Dec 2009 19:26:24 +0000 (11:26 -0800)
src/include/ceph_fs.h
src/mds/Server.cc

index 4e5f49c738d83b22abdf6b94c32891d18590cf2b..699196a10c6662119d1ce628eadf1ab79833bbdd 100644 (file)
@@ -44,6 +44,7 @@
 
 
 #define CEPH_INO_ROOT  1
+#define CEPH_INO_CEPH  2        /* hidden .ceph dir */
 
 /* arbitrary limit on max # of monitors (cluster of 3 is typical) */
 #define CEPH_MAX_MON   31
index fc5ad26b64c25187533aea3253ae4d05a5b763eb..69f154914d0144ebf5e23e59003dd38267a343d3 100644 (file)
@@ -2308,6 +2308,9 @@ void Server::handle_client_readdir(MDRequest *mdr)
     if (offset && strcmp(dn->get_name().c_str(), offset) <= 0)
       continue;
 
+    if (dnl->get_inode()->ino() == CEPH_INO_CEPH)
+      continue;
+
     CInode *in = dnl->get_inode();
 
     // remote link?