libceph: distinguish page and bio requests
An osd request uses either pages or a bio list for its data. Use a
union to record information about the two, and add a data type
tag to select between them.
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index d35fc05..3643a38 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -571,6 +571,7 @@
req->r_data.own_pages = 1;
}
}
+ req->r_data.type = CEPH_OSD_DATA_TYPE_PAGES;
req->r_data.pages = pages;
req->r_data.num_pages = num_pages;
req->r_data.alignment = page_align;