Project

General

Profile

Actions

Bug #11370

closed

A retransmit of proxied flatten request can result in -EINVAL

Added by Jason Dillaman about 9 years ago. Updated about 9 years ago.

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

Also available in: Atom PDF