From 378e47692359b74d8ea1c99a63d48f37835eabe1 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 2 Dec 2009 11:26:24 -0800 Subject: [PATCH] mds: do not include /.ceph in readdir results --- src/include/ceph_fs.h | 1 + src/mds/Server.cc | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/include/ceph_fs.h b/src/include/ceph_fs.h index 4e5f49c738d83..699196a10c666 100644 --- a/src/include/ceph_fs.h +++ b/src/include/ceph_fs.h @@ -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 diff --git a/src/mds/Server.cc b/src/mds/Server.cc index fc5ad26b64c25..69f154914d014 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -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? -- 2.39.5