From a6005596b8c44848bd956bb14893a017e14bceb5 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Wed, 24 Mar 2021 14:09:57 -0700 Subject: [PATCH] test: add test for invalid lookup of mdsdir Signed-off-by: Patrick Donnelly (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 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/libcephfs/test.cc b/src/test/libcephfs/test.cc index 13239b3acba30..8db91f7784cbc 100644 --- a/src/test/libcephfs/test.cc +++ b/src/test/libcephfs/test.cc @@ -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) { -- 2.39.5