Feature #9779
closed
libceph: sync up with objecter
Added by Ilya Dryomov over 9 years ago.
Updated almost 8 years ago.
Description
- the way we resend lingering requests isn't quite the same
- __map_request() is too aggressive about resending:
If the primary does not change, and it is a non-linger
request, then we do not need to resend (the OSD will requeue internally).
It's mostly harmless to resend as far as correctness goes... just
additional bandwidth.
- probably more
- Subject changed from sync up with objecter to libceph: sync up with objecter
- Status changed from New to In Progress
- Assignee set to Ilya Dryomov
- Priority changed from Normal to Urgent
- Related to Bug #13081: data on rbd image get corrupted when pool quota is smaller than the size of the rbd image added
- Related to Feature #14201: cope with a pool being removed from under a mapped image added
- Category set to libceph
- Status changed from In Progress to Resolved
Done in 4.7. Highlights:
- per-session request trees (vs a global per-client tree)
- per-session locking (vs a global per-client rwlock)
- homeless OSD session
- no ad-hoc global per-client lists
- support for pool quotas
- watch/notify v2 support
- map check (pool deletion detection) support
Also fixes #9806 (corresponding fix for the kernel client), #11960, #12254.
Effectively closes out-of-order/misdirected issues #10889, #12691, #14901 and map_sem/request_mutex issues #14022, #15891.
Also available in: Atom
PDF