Actions
Backport #17695
closedjewel: discard after write results in assertion failure
Release:
jewel
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
https://github.com/ceph/ceph/pull/11644
With the journaling feature enabled, issuing a discard after a write to overlapping extents will result in an assertion failure:
librbd/LibrbdWriteback.cc: In function 'virtual void librbd::LibrbdWriteback::overwrite_extent(const object_t&, uint64_t, uint64_t, ceph_tid_t, ceph_tid_t)' thread 7f3f65a18700 time 2016-10-25 09:42:07.681147 librbd/LibrbdWriteback.cc: 295: FAILED assert(m_ictx->owner_lock.is_locked()) ceph version 10.2.3-304-g3ccc17b (3ccc17b81d2794406d803ff4210e930a1fa67455) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x7f3f7a00063b] 2: (librbd::LibrbdWriteback::overwrite_extent(object_t const&, unsigned long, unsigned long, unsigned long, unsigned long)+0x33d) [0x7f3f79ec669d] 3: (ObjectCacher::Object::replace_journal_tid(ObjectCacher::BufferHead*, unsigned long)+0x9b) [0x7f3f79f81cdb] 4: (ObjectCacher::Object::discard(long, long)+0x174) [0x7f3f79f8b7f4] 5: (ObjectCacher::discard_set(ObjectCacher::ObjectSet*, std::vector<ObjectExtent, std::allocator<ObjectExtent> > const&)+0x166) [0x7f3f79f8be96] 6: (()+0x75804d) [0x7f3f79e6804d] 7: (Context::complete(int)+0x9) [0x7f3f79b78549] 8: (ContextWQ::process(Context*)+0xe4) [0x7f3f79c0b454] 9: (ThreadPool::worker(ThreadPool::WorkThread*)+0xa5e) [0x7f3f79ff197e] 10: (ThreadPool::WorkThread::entry()+0x10) [0x7f3f79ff2850] 11: (()+0x7dc5) [0x7f3f6edecdc5] 12: (clone()+0x6d) [0x7f3f6dedaced]
Note: this issue only affects the jewel branch.
Updated by Jason Dillaman over 7 years ago
- Status changed from In Progress to Fix Under Review
Updated by Loïc Dachary over 7 years ago
- Tracker changed from Bug to Backport
- Description updated (diff)
- Status changed from Fix Under Review to In Progress
Updated by Loïc Dachary over 7 years ago
- Status changed from In Progress to Resolved
- Target version set to v10.2.4
Actions