summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2016-01-07 17:32:54 +0800
committerIlya Dryomov <idryomov@gmail.com>2016-03-25 18:51:43 +0100
commit2c63f49a724a10bb71cc0fd34f8e5acce78525d5 (patch)
tree89e28fde957db2d813d69c2f96a0934bdb455941 /include
parent3f1af42ad0fad8a12242233dd0d9fc42f5e83415 (diff)
downloadlinux-stable-2c63f49a724a10bb71cc0fd34f8e5acce78525d5.tar.gz
linux-stable-2c63f49a724a10bb71cc0fd34f8e5acce78525d5.tar.bz2
linux-stable-2c63f49a724a10bb71cc0fd34f8e5acce78525d5.zip
libceph: add helper that duplicates last extent operation
This helper duplicates last extent operation in OSD request, then adjusts the new extent operation's offset and length. The helper is for scatterd page writeback, which adds nonconsecutive dirty pages to single OSD request. Signed-off-by: Yan, Zheng <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ceph/osd_client.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
index aada6a1383a4..4343df806710 100644
--- a/include/linux/ceph/osd_client.h
+++ b/include/linux/ceph/osd_client.h
@@ -266,6 +266,8 @@ extern void osd_req_op_extent_init(struct ceph_osd_request *osd_req,
u64 truncate_size, u32 truncate_seq);
extern void osd_req_op_extent_update(struct ceph_osd_request *osd_req,
unsigned int which, u64 length);
+extern void osd_req_op_extent_dup_last(struct ceph_osd_request *osd_req,
+ unsigned int which, u64 offset_inc);
extern struct ceph_osd_data *osd_req_op_extent_osd_data(
struct ceph_osd_request *osd_req,