RE: BLueStore Deadlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jianpeng,
Are you trying with latest master and still hitting the issue (seems so but confirming) ?
The following scenario should not be creating deadlock because of the following reason.

Onode->flush() is waiting on flush_lock() and from _txc_finish() it is releasing that before taking osr->qlock(). Am I missing anything ?

I got a deadlock in this path in one of my earlier changes in the following pull request (described in detail there) and it is fixed and merged.

https://github.com/ceph/ceph/pull/10220

If my theory is right , we are hitting deadlock because of some other reason may be. It seems you are doing WAL write , could you please describe the steps to reproduce ?

Thanks & Regards
Somnath

From: Ma, Jianpeng [mailto:jianpeng.ma@xxxxxxxxx]
Sent: Thursday, July 28, 2016 1:46 AM
To: Somnath Roy
Cc: ceph-devel; Ma, Jianpeng
Subject: BLueStore Deadlock

Hi Roy:
     When do seqwrite w/ rbd+librbd, I met deadlock for bluestore. It can reproduce 100%.(based on 98602ae6c67637dbadddd549bd9a0035e5a2717)
By add message and this found this bug caused by bf70bcb6c54e4d6404533bc91781a5ef77d62033.
Consider this case:

tp_osd_tp                                              aio_complete_thread                                 kv_sync_thread
Rwlock(coll)                                            txc_finish_io                                                     _txc_finish
do_write                                                 lock(osr->qlock)                                               lock(osr->qlock)
do_read                                                  RLock(coll)                                                                     need osr->qlock to continue
onode->flush()                                            need coll readlock to continue
   need previous txc complete

But current I don't how to fix this.

Thanks!
PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux