]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: add test for invalid lookup of mdsdir
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 24 Mar 2021 21:09:57 +0000 (14:09 -0700)
committerNathan Cutler <ncutler@suse.com>
Wed, 16 Jun 2021 10:10:43 +0000 (12:10 +0200)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 4778308eb9149594cb31519a5ff77413d6ec1fab)

Conflicts:
src/test/libcephfs/test.cc
- some adjoining code that doesn't exist in octopus

src/test/libcephfs/test.cc

index 13239b3acba304be598ad3916efd1eec707d98f7..8db91f7784cbcea5bded4efccfbda4911b6c0151 100644 (file)
@@ -2463,6 +2463,22 @@ TEST(LibCephFS, Lseek) {
   ceph_shutdown(cmount);
 }
 
+TEST(LibCephFS, LookupInoMDSDir) {
+  struct ceph_mount_info *cmount;
+  ASSERT_EQ(ceph_create(&cmount, NULL), 0);
+  ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
+  ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL));
+  ASSERT_EQ(ceph_mount(cmount, NULL), 0);
+
+  Inode *inode;
+  auto ino = inodeno_t(0x100); /* rank 0 ~mdsdir */
+  ASSERT_EQ(-ESTALE, ceph_ll_lookup_inode(cmount, ino, &inode));
+  ino = inodeno_t(0x600); /* rank 0 first stray dir */
+  ASSERT_EQ(-ESTALE, ceph_ll_lookup_inode(cmount, ino, &inode));
+
+  ceph_shutdown(cmount);
+}
+
 static int ceph_mksnap(struct ceph_mount_info *cmount, const char *path, const char *name,
                       mode_t mode, void *unused, size_t nr_unused)
 {