From 38b5cab9d243cf39561912fd7eacb0ba376be8eb Mon Sep 17 00:00:00 2001
From: David Disseldorp <ddiss@suse.de>
Date: Fri, 27 May 2016 02:07:00 +0200
Subject: [PATCH] libceph: handle writefull for OSD op extent init
Patch-mainline: Not yet, SES2 clustered LIO/RBD
References: bsc#980706
As of e30b7577bf1d338ca8a273bd2f881de5a41572b7, RBD dispatches OSD
writefull ops for RADOS object size IOs. The OSD op extent
initialisation functions need to handle this opcode.
Signed-off-by: David Disseldorp <ddiss@suse.de>
---
net/ceph/osd_client.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -199,6 +199,7 @@ void osd_req_op_extent_osd_data_pages(st
own_pages);
break;
case CEPH_OSD_OP_WRITE:
+ case CEPH_OSD_OP_WRITEFULL:
ceph_osd_data_pages_init(&op->extent.request_data, pages,
length, alignment, pages_from_pool,
own_pages);
@@ -222,6 +223,7 @@ void osd_req_op_extent_osd_data_pagelist
pagelist);
break;
case CEPH_OSD_OP_WRITE:
+ case CEPH_OSD_OP_WRITEFULL:
ceph_osd_data_pagelist_init(&op->extent.request_data,
pagelist);
break;
@@ -245,6 +247,7 @@ void osd_req_op_extent_osd_data_bio(stru
bio_length);
break;
case CEPH_OSD_OP_WRITE:
+ case CEPH_OSD_OP_WRITEFULL:
ceph_osd_data_bio_init(&op->extent.request_data, bio,
bio_length);
break;
@@ -270,6 +273,7 @@ void osd_req_op_extent_osd_data_sg(struc
break;
case CEPH_OSD_OP_WRITE:
case CEPH_OSD_OP_CMPEXT:
+ case CEPH_OSD_OP_WRITEFULL:
ceph_osd_data_sg_init(&op->extent.request_data,
sgl, init_sg_offset, length);
break;