On 11/29/2012 02:12 PM, Noah Watkins wrote:
Here is the full test case:

Sorry - I was assuming it was just an issue with checking the return code. I've pushed a one-line fix to wip-mount-subdir. You can cherry-pick to your branch if you want.

-sam


TEST(LibCephFS, MountRootChdir) {
   struct ceph_mount_info *cmount;

   /* create mount and new directory */
   ASSERT_EQ(ceph_create(&cmount, NULL), 0);
   ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
   ASSERT_EQ(ceph_mount(cmount, "/"), 0);
   ASSERT_EQ(ceph_mkdir(cmount, "/xyz", 0700), 0);
   ceph_shutdown(cmount);

   /* create mount with non-"/" root */
   ASSERT_EQ(ceph_create(&cmount, NULL), 0);
   ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
   ASSERT_EQ(ceph_mount(cmount, "/xyz"), 0);

    /* should be at "root" directory, but blows up */
   ASSERT_STREQ(ceph_getcwd(cmount), "/");
}

On Thu, Nov 29, 2012 at 12:02 PM, Noah Watkins <jayh...@cs.ucsc.edu> wrote:
Oh, let me clarify. /otherdir exists, and the mount succeeds.

- Noah

On Thu, Nov 29, 2012 at 11:58 AM, Sam Lang <sam.l...@inktank.com> wrote:
On 11/29/2012 01:52 PM, Noah Watkins wrote:

I'm getting the assert failure below with the following test:

    ceph_mount(cmount, "/otherdir");


This should fail with ENOENT if you check the return code.
-sam

    ceph_getcwd(cmount);

--

client/Inode.h: In function 'Dentry* Inode::get_first_parent()' thread
7fded47c8780 time 2012-11-29 11:49:00.890184
client/Inode.h: 165: FAILED assert(!dn_set.empty())
   ceph version 0.54-808-g1ed5a1f
(1ed5a1f984d8260d86cc25b1ae95ffedf597e579)
   1: (()+0x11ee89) [0x7fded36fae89]
   2: (()+0x1429d3) [0x7fded371e9d3]
   3: (ceph_getcwd()+0x11) [0x7fded36fdb41]
   4: (MountedTest2_XYZ_Test::TestBody()+0x63a) [0x42563a]
   5: (testing::Test::Run()+0xaa) [0x45017a]
   6: (testing::internal::TestInfoImpl::Run()+0x100) [0x450280]
   7: (testing::TestCase::Run()+0xbd) [0x45034d]
   8: (testing::internal::UnitTestImpl::RunAllTests()+0x217) [0x4505b7]
   9: (main()+0x35) [0x423115]
   10: (__libc_start_main()+0xed) [0x7fded2d2876d]
   11: /home/nwatkins/projects/ceph/ceph/src/.libs/lt-test_libcephfs()
[0x423171]
   NOTE: a copy of the executable, or `objdump -rdS <executable>` is
needed to interpret this.
terminate called after throwing an instance of 'ceph::FailedAssertion'
Aborted (core dumped)

Thanks,
Noah
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to