Actions
Bug #11370
closedA retransmit of proxied flatten request can result in -EINVAL
Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
-
% Done:
0%
Source:
other
Tags:
Backport:
hammer
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
When a flatten request is proxied to an exclusive lock owner, it is possible that the notification could be retransmitted. If this occurs after the flatten has completed, this could result in an -EINVAL result code being returned to the client because at the time of the second attempt, the parent no longer exists.
[ RUN ] TestLibRBD.FlattenViaLockOwner using new format! test/librbd/test_librbd.cc:2500: Failure Value of: image2.flatten() Actual: -22 Expected: 0 terminate called after throwing an instance of 'testing::internal::GoogleTestFailureException' what(): test/librbd/test_librbd.cc:2500: Failure Value of: image2.flatten() Actual: -22 Expected: 0 *** Caught signal (Aborted) ** in thread 7f5073f7a800 ceph version 0.94-954-g99f5a7d (99f5a7d595c653447b351898192410c9cb773770) 1: ./unittest_librbd() [0x69c0e3] 2: (()+0x100d0) [0x7f50731ea0d0] 3: (gsignal()+0x37) [0x7f5071db88c7] 4: (abort()+0x16a) [0x7f5071dba52a] 5: (__gnu_cxx::__verbose_terminate_handler()+0x16d) [0x7f50726c0fdd] 6: (()+0x5ee56) [0x7f50726bee56] 7: (()+0x5eea1) [0x7f50726beea1] 8: (__cxa_rethrow()+0x49) [0x7f50726bf109] 9: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x172) [0x698932] 10: (testing::UnitTest::Run()+0x43) [0x68e0c3] 11: (main()+0x8a) [0x528baa] 12: (__libc_start_main()+0xf0) [0x7f5071da3fe0] 13: ./unittest_librbd() [0x52c20f] Aborted RESULT: 134
Actions