|
@@ -132,4 +132,36 @@ int xen_blkbk_flush_diskcache(struct xenbus_transaction xbt,
|
|
|
|
|
|
struct xenbus_device *xen_blkbk_xenbus(struct backend_info *be);
|
|
|
|
|
|
+static void inline blkif_get_x86_32_req(struct blkif_request *dst,
|
|
|
+ struct blkif_x86_32_request *src)
|
|
|
+{
|
|
|
+ int i, n = BLKIF_MAX_SEGMENTS_PER_REQUEST;
|
|
|
+ dst->operation = src->operation;
|
|
|
+ dst->nr_segments = src->nr_segments;
|
|
|
+ dst->handle = src->handle;
|
|
|
+ dst->id = src->id;
|
|
|
+ dst->u.rw.sector_number = src->sector_number;
|
|
|
+ barrier();
|
|
|
+ if (n > dst->nr_segments)
|
|
|
+ n = dst->nr_segments;
|
|
|
+ for (i = 0; i < n; i++)
|
|
|
+ dst->u.rw.seg[i] = src->seg[i];
|
|
|
+}
|
|
|
+
|
|
|
+static void inline blkif_get_x86_64_req(struct blkif_request *dst,
|
|
|
+ struct blkif_x86_64_request *src)
|
|
|
+{
|
|
|
+ int i, n = BLKIF_MAX_SEGMENTS_PER_REQUEST;
|
|
|
+ dst->operation = src->operation;
|
|
|
+ dst->nr_segments = src->nr_segments;
|
|
|
+ dst->handle = src->handle;
|
|
|
+ dst->id = src->id;
|
|
|
+ dst->u.rw.sector_number = src->sector_number;
|
|
|
+ barrier();
|
|
|
+ if (n > dst->nr_segments)
|
|
|
+ n = dst->nr_segments;
|
|
|
+ for (i = 0; i < n; i++)
|
|
|
+ dst->u.rw.seg[i] = src->seg[i];
|
|
|
+}
|
|
|
+
|
|
|
#endif /* __BLKIF__BACKEND__COMMON_H__ */
|