Lines Matching +full:num +full:- +full:rings
1 /* SPDX-License-Identifier: MIT */
5 * Unified block-device I/O interface for Xen guest OSes.
7 * Copyright (c) 2003-2004, Keir Fraser
17 * Front->back notifications: When enqueuing a new request, sending a
19 * hold-off mechanism provided by the ring macros). Backends must set
22 * Back->front notifications: When enqueuing a new response, sending a
24 * hold-off mechanism provided by the ring macros). Frontends must set
32 * Multiple hardware queues/rings:
33 * If supported, the backend will write the key "multi-queue-max-queues" to
37 * key "multi-queue-num-queues" with the number they wish to use, which must be
39 * "multi-queue-max-queues".
41 * For frontends requesting just one queue, the usual event-channel and
42 * ring-ref keys are written as before, simplifying the backend processing
44 * multi-queue feature, and one that does, but requested only one queue.
47 * event-channel and ring-ref keys, instead writing those keys under sub-keys
48 * having the name "queue-N" where N is the integer ID of the queue/ring for
51 * queue-related keys:
53 * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2"
54 * /local/domain/1/device/vbd/0/queue-0 = ""
55 * /local/domain/1/device/vbd/0/queue-0/ring-ref = "<ring-ref#0>"
56 * /local/domain/1/device/vbd/0/queue-0/event-channel = "<evtchn#0>"
57 * /local/domain/1/device/vbd/0/queue-1 = ""
58 * /local/domain/1/device/vbd/0/queue-1/ring-ref = "<ring-ref#1>"
59 * /local/domain/1/device/vbd/0/queue-1/event-channel = "<evtchn#1>"
61 * It is also possible to use multiple queues/rings together with
62 * feature multi-page ring buffer.
63 * For example, a frontend requests two queues/rings and the size of each ring
66 * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2"
67 * /local/domain/1/device/vbd/0/ring-page-order = "1"
68 * /local/domain/1/device/vbd/0/queue-0 = ""
69 * /local/domain/1/device/vbd/0/queue-0/ring-ref0 = "<ring-ref#0>"
70 * /local/domain/1/device/vbd/0/queue-0/ring-ref1 = "<ring-ref#1>"
71 * /local/domain/1/device/vbd/0/queue-0/event-channel = "<evtchn#0>"
72 * /local/domain/1/device/vbd/0/queue-1 = ""
73 * /local/domain/1/device/vbd/0/queue-1/ring-ref0 = "<ring-ref#2>"
74 * /local/domain/1/device/vbd/0/queue-1/ring-ref1 = "<ring-ref#3>"
75 * /local/domain/1/device/vbd/0/queue-1/event-channel = "<evtchn#1>"
85 * Recognised only if "feature-barrier" is present in backend xenbus info.
89 * the underlying block-device hardware. The boolean simply indicates whether
92 * create the "feature-barrier" node!
97 * Recognised if "feature-flush-cache" is present in backend xenbus
99 * non-volatile caches as appropriate. The "feature-flush-cache" node
103 * block-device hardware. The boolean simply indicates whether or not it
106 * "feature-flush-cache" node!
111 * Recognised only if "feature-discard" is present in backend xenbus info.
112 * The "feature-discard" node contains a boolean indicating whether trim
113 * (ATA) or unmap (SCSI) - conviently called discard requests are likely
116 * the underlying block-device hardware. The boolean simply indicates whether
119 * create the "feature-discard" node!
123 * will be erased from the device - it is just a hint to the device
133 * e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc
138 * 'discard-alignment' - Devices that support discard functionality may
140 * logical block size. The discard-alignment parameter indicates how many bytes
143 * 'discard-granularity' - Devices that support discard functionality may
145 * size. The discard-granularity parameter indicates the size of the internal
147 * discard-granularity will be set to match the device's physical block size.
148 * 'discard-secure' - All copies of the discarded sectors (potentially created
155 * Recognized if "feature-max-indirect-segments" in present in the backend
156 * xenbus info. The "feature-max-indirect-segments" node contains the maximum
174 * create the "feature-max-indirect-segments" node!
207 #define BLKIF_DISCARD_SECURE (1<<0) /* ignored if discard-secure=0 */
265 #define BLKIF_RSP_EOPNOTSUPP -2
266 /* Operation failed for some unspecified reason (-EIO). */
267 #define BLKIF_RSP_ERROR -1
281 /* Xen-defined major numbers for virtual disks, they look strangely