Re: iSCSI active/active stale io guard

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

 



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



[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