Project

General

Profile

Backport #17695

jewel: discard after write results in assertion failure

Added by Jason Dillaman 4 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
High
Target version:
Release:
jewel

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.

History

#1 Updated by Jason Dillaman 4 months ago

  • Status changed from In Progress to Need Review

#2 Updated by Loic Dachary 4 months ago

  • Tracker changed from Bug to Backport
  • Description updated (diff)
  • Status changed from Need Review to In Progress

#3 Updated by Loic Dachary 4 months ago

  • Status changed from In Progress to Resolved
  • Target version set to v10.2.4

Also available in: Atom PDF