All of lore.kernel.org
 help / color / mirror / Atom feed
* Client crash on getcwd with non-default root mount
@ 2012-11-29 19:52 Noah Watkins
  2012-11-29 19:58 ` Sam Lang
  0 siblings, 1 reply; 5+ messages in thread
From: Noah Watkins @ 2012-11-29 19:52 UTC (permalink / raw)
  To: ceph-devel

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

  ceph_mount(cmount, "/otherdir");
  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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Client crash on getcwd with non-default root mount
  2012-11-29 19:52 Client crash on getcwd with non-default root mount Noah Watkins
@ 2012-11-29 19:58 ` Sam Lang
  2012-11-29 20:02   ` Noah Watkins
  0 siblings, 1 reply; 5+ messages in thread
From: Sam Lang @ 2012-11-29 19:58 UTC (permalink / raw)
  To: Noah Watkins; +Cc: ceph-devel

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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Client crash on getcwd with non-default root mount
  2012-11-29 19:58 ` Sam Lang
@ 2012-11-29 20:02   ` Noah Watkins
  2012-11-29 20:12     ` Noah Watkins
  0 siblings, 1 reply; 5+ messages in thread
From: Noah Watkins @ 2012-11-29 20:02 UTC (permalink / raw)
  To: Sam Lang; +Cc: ceph-devel

Oh, let me clarify. /otherdir exists, and the mount succeeds.

- Noah

On Thu, Nov 29, 2012 at 11:58 AM, Sam Lang <sam.lang@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 majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Client crash on getcwd with non-default root mount
  2012-11-29 20:02   ` Noah Watkins
@ 2012-11-29 20:12     ` Noah Watkins
  2012-11-29 20:40       ` Sam Lang
  0 siblings, 1 reply; 5+ messages in thread
From: Noah Watkins @ 2012-11-29 20:12 UTC (permalink / raw)
  To: Sam Lang; +Cc: ceph-devel

Here is the full test case:

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 <jayhawk@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.lang@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 majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Client crash on getcwd with non-default root mount
  2012-11-29 20:12     ` Noah Watkins
@ 2012-11-29 20:40       ` Sam Lang
  0 siblings, 0 replies; 5+ messages in thread
From: Sam Lang @ 2012-11-29 20:40 UTC (permalink / raw)
  To: Noah Watkins; +Cc: ceph-devel

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 <jayhawk@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.lang@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 majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-11-29 20:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-29 19:52 Client crash on getcwd with non-default root mount Noah Watkins
2012-11-29 19:58 ` Sam Lang
2012-11-29 20:02   ` Noah Watkins
2012-11-29 20:12     ` Noah Watkins
2012-11-29 20:40       ` Sam Lang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.