out of order osd replies

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

 



I just tracked down what caused the out-of-order reply:

- req 1 hit a degraded object, put on waiting_for_missing_object
- pg change, NullEvt queued
- req 2 dequeued, put on waiting_on_active list
- on_change()
  - scrub_clear_state()
    - requeues waiting_on_active
  - requeues waiting_for_missing_object
...

Obvious fix for this case is to reoder the call to scrub_clear_state() in 
on_change(), but I wonder if there are other cases where scrub's use of 
waiting_for_active could break ordering.

It is probably worth mapping out what the wait lists order, where they 
overlap, and carefully define what order they need to be woken up in.  I 
suspect that re-using waiting_for_active in this case is problematic...

sage
--
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