Message ID | 20180820162239.13267-1-lhenriques@suse.com (mailing list archive) |
---|---|
Headers | show |
Series | copy_file_range in cephfs kernel client | expand |
On Mon, Aug 20, 2018 at 6:21 PM Luis Henriques <lhenriques@suse.com> wrote: > > Hi! > > This series is my initial attempt at getting a copy_file_range syscall > implementation in the kernel cephfs client using the 'copy-from' RADOS > operation. > > The idea of getting this implemented was from Greg -- or, at least, he > created a feature in the tracker [1]. I just decided to give it a try > as the feature wasn't assigned to anyone ;-) > > I have this patchset sitting on my laptop for a while already, waiting > for me to revisit it, review some of its TODOs... but I finally decided > to send it out as-is instead, to get some early feedback. > > The first patch implements the copy-from operation in the libceph > module. Unfortunately, the documentation for this operation is > nonexistent and I had to do a lot of digging to figure out the details > (and I probably I missed something!). For example, initially I was > hoping that this operation could be used to copy more than one object at > the time. Doing an OSD request per object copy is not ideal, but > unfortunately it seems to be the only way. Anyway, my expectations are > that this new operation will be useful for other features in the future. A single OSD request can contain multiple OSD ops. In the kernel client, this number is currently limited to 16 (CEPH_OSD_MAX_OPS). Thanks, Ilya
On Mon, Aug 20, 2018 at 6:47 PM Ilya Dryomov <idryomov@gmail.com> wrote: > > On Mon, Aug 20, 2018 at 6:21 PM Luis Henriques <lhenriques@suse.com> wrote: > > > > Hi! > > > > This series is my initial attempt at getting a copy_file_range syscall > > implementation in the kernel cephfs client using the 'copy-from' RADOS > > operation. > > > > The idea of getting this implemented was from Greg -- or, at least, he > > created a feature in the tracker [1]. I just decided to give it a try > > as the feature wasn't assigned to anyone ;-) > > > > I have this patchset sitting on my laptop for a while already, waiting > > for me to revisit it, review some of its TODOs... but I finally decided > > to send it out as-is instead, to get some early feedback. > > > > The first patch implements the copy-from operation in the libceph > > module. Unfortunately, the documentation for this operation is > > nonexistent and I had to do a lot of digging to figure out the details > > (and I probably I missed something!). For example, initially I was > > hoping that this operation could be used to copy more than one object at > > the time. Doing an OSD request per object copy is not ideal, but > > unfortunately it seems to be the only way. Anyway, my expectations are > > that this new operation will be useful for other features in the future. > > A single OSD request can contain multiple OSD ops. In the kernel > client, this number is currently limited to 16 (CEPH_OSD_MAX_OPS). ... that operate on the same object, so this isn't very relevant. Thanks, Ilya