On 2018-05-02 00:36, David Disseldorp wrote:
Hi Maged,
I had a go at hacking up a (4.17.0-rc3) kernel RBD based PoC using your
request expiry approach.
The Ceph (v13.0.2-1974) OSD request expiry functionality is added via a
new (likely in the completely wrong place) class="user" fn="expire_req"
call:
https://github.com/ddiss/ceph/commits/poc_osd_req_expiry
This new class function is then invoked via an op that is prefixed to
all kRBD OSD write requests *if* the image is mapped with a
write_expiry_msec=X parameter:
https://git.samba.org/?p=ddiss/linux.git;a=shortlog;h=refs/heads/poc_krbd_wreq_expiry
I've also hacked up similar (uglier) patches for target_core_rbd, but
I'd be interested in feedback on these upstream based kRBD/OSD changes
before looking how this could be added to librbd for future
active/active tcmu-runner deployments.
Cheers, David
--
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
Hi David,
I have not tested it yet but it looks quite nice, some comments:
The idea to make it a class op rather than an extended write op makes it
more flexible.
For cloned images: in rbd_obj_read_from_parent() you just get the
current time now but in rbd_obj_issue_copyup() we use original request
time, this is ok since the first is a read op ?
Is there any performance impact from calling current_kernel_time64()
since it does use locking, can we use __current_kernel_time() or even
something less accurate we derive from jiffies since we do not need that
much accuracy.
just a cosmetic thing, would it be better to have 2 versions:
rbd_img_request_create and rbd_img_request_create_ex and have the later
take the timespec64 parameter ?
i would also be interested to look at the patches to target_core_rbd,
were these done against the 4.17 kernel or the SUSE SLE 12 SP3 branch ?
Do you initialize the started time just before calling
rbd_img_request_create() ? what i hope to do is initialize this time
from the time stamps of received packets, which seems to be
straightforward from your current patches.
Really nice work, i am really eager to build this.
Maged
--
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