Bug #3967
closed
libceph: complete linger requests only once
Added by Alex Elder over 11 years ago.
Updated about 11 years ago.
Description
Currently if a linger request gets resubmitted by the osd
client, its callback function (if provided) will get called
again as well. Of no callback is supplied, the completion
of the request is signaled.
Instead, the osd client should only call an osd request
callback or signal its completion function once.
- Subject changed from librbd: complete linger requests only once to libceph: complete linger requests only once
- Status changed from New to In Progress
I have a fix and I have verified that linger requests do
in fact get completed more than once. (I already knew
this but wanted to make sure the fix worked.)
I'm about to post the patch for review.
- Status changed from In Progress to Fix Under Review
A fix for this has been posted for review.
Subject: [PATCH] libceph: complete lingering requests only once
An osd request marked to linger will be re-submitted in the event
a connection to the target osd gets dropped. Currently, if there
is a callback function associated with a request it will be called
each time a request is submitted--which for lingering requests can
be more than once.
Change it so a request--including lingering ones--will get completed
(from the perspective of the user of the osd client) exactly once.
This resolves:
http://tracker.ceph.com/issues/3967
Signed-off-by: Alex Elder <elder@inktank.com>
- Status changed from Fix Under Review to Resolved
This has been committed to the ceph-client testing branch.
4ada29f libceph: complete lingering requests only once
Also available in: Atom
PDF