block-export.json (def6fd6c9ce9e00a30cdd0066e0fde206b3f3d2f) block-export.json (2a2359b84407b35fe978e98b7396f2ab8c5dd8b7)
1# -*- Mode: Python -*-
2# vim: filetype=python
3
4##
5# == Block device exports
6##
7
8{ 'include': 'sockets.json' }

--- 165 unchanged lines hidden (view full) ---

174##
175{ 'struct': 'BlockExportOptionsFuse',
176 'data': { 'mountpoint': 'str',
177 '*growable': 'bool',
178 '*allow-other': 'FuseExportAllowOther' },
179 'if': 'CONFIG_FUSE' }
180
181##
1# -*- Mode: Python -*-
2# vim: filetype=python
3
4##
5# == Block device exports
6##
7
8{ 'include': 'sockets.json' }

--- 165 unchanged lines hidden (view full) ---

174##
175{ 'struct': 'BlockExportOptionsFuse',
176 'data': { 'mountpoint': 'str',
177 '*growable': 'bool',
178 '*allow-other': 'FuseExportAllowOther' },
179 'if': 'CONFIG_FUSE' }
180
181##
182# @BlockExportOptionsVduseBlk:
183#
184# A vduse-blk block export.
185#
186# @num-queues: the number of virtqueues. Defaults to 1.
187# @queue-size: the size of virtqueue. Defaults to 256.
188# @logical-block-size: Logical block size in bytes. Range [512, PAGE_SIZE]
189# and must be power of 2. Defaults to 512 bytes.
190#
191# Since: 7.1
192##
193{ 'struct': 'BlockExportOptionsVduseBlk',
194 'data': { '*num-queues': 'uint16',
195 '*queue-size': 'uint16',
196 '*logical-block-size': 'size'} }
197
198##
182# @NbdServerAddOptions:
183#
184# An NBD block export, per legacy nbd-server-add command.
185#
186# @device: The device name or node name of the node to be exported
187#
188# @writable: Whether clients should be able to write to the device via the
189# NBD connection (default false).

--- 89 unchanged lines hidden (view full) ---

279##
280# @BlockExportType:
281#
282# An enumeration of block export types
283#
284# @nbd: NBD export
285# @vhost-user-blk: vhost-user-blk export (since 5.2)
286# @fuse: FUSE export (since: 6.0)
199# @NbdServerAddOptions:
200#
201# An NBD block export, per legacy nbd-server-add command.
202#
203# @device: The device name or node name of the node to be exported
204#
205# @writable: Whether clients should be able to write to the device via the
206# NBD connection (default false).

--- 89 unchanged lines hidden (view full) ---

296##
297# @BlockExportType:
298#
299# An enumeration of block export types
300#
301# @nbd: NBD export
302# @vhost-user-blk: vhost-user-blk export (since 5.2)
303# @fuse: FUSE export (since: 6.0)
304# @vduse-blk: vduse-blk export (since 7.1)
287#
288# Since: 4.2
289##
290{ 'enum': 'BlockExportType',
291 'data': [ 'nbd',
292 { 'name': 'vhost-user-blk',
293 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
305#
306# Since: 4.2
307##
308{ 'enum': 'BlockExportType',
309 'data': [ 'nbd',
310 { 'name': 'vhost-user-blk',
311 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
294 { 'name': 'fuse', 'if': 'CONFIG_FUSE' } ] }
312 { 'name': 'fuse', 'if': 'CONFIG_FUSE' },
313 { 'name': 'vduse-blk', 'if': 'CONFIG_VDUSE_BLK_EXPORT' } ] }
295
296##
297# @BlockExportOptions:
298#
299# Describes a block export, i.e. how single node should be exported on an
300# external interface.
301#
314
315##
316# @BlockExportOptions:
317#
318# Describes a block export, i.e. how single node should be exported on an
319# external interface.
320#
302# @id: A unique identifier for the block export (across all export types)
321# @id: A unique identifier for the block export (across the host for vduse-blk
322# export type or across all export types for other types)
303#
304# @node-name: The node name of the block node to be exported (since: 5.2)
305#
306# @writable: True if clients should be able to write to the export
307# (default false)
308#
309# @writethrough: If true, caches are flushed after every write request to the
310# export before completion is signalled. (since: 5.2;

--- 19 unchanged lines hidden (view full) ---

330 '*writable': 'bool',
331 '*writethrough': 'bool' },
332 'discriminator': 'type',
333 'data': {
334 'nbd': 'BlockExportOptionsNbd',
335 'vhost-user-blk': { 'type': 'BlockExportOptionsVhostUserBlk',
336 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
337 'fuse': { 'type': 'BlockExportOptionsFuse',
323#
324# @node-name: The node name of the block node to be exported (since: 5.2)
325#
326# @writable: True if clients should be able to write to the export
327# (default false)
328#
329# @writethrough: If true, caches are flushed after every write request to the
330# export before completion is signalled. (since: 5.2;

--- 19 unchanged lines hidden (view full) ---

350 '*writable': 'bool',
351 '*writethrough': 'bool' },
352 'discriminator': 'type',
353 'data': {
354 'nbd': 'BlockExportOptionsNbd',
355 'vhost-user-blk': { 'type': 'BlockExportOptionsVhostUserBlk',
356 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
357 'fuse': { 'type': 'BlockExportOptionsFuse',
338 'if': 'CONFIG_FUSE' }
358 'if': 'CONFIG_FUSE' },
359 'vduse-blk': { 'type': 'BlockExportOptionsVduseBlk',
360 'if': 'CONFIG_VDUSE_BLK_EXPORT' }
339 } }
340
341##
342# @block-export-add:
343#
344# Creates a new block export.
345#
346# Since: 5.2

--- 70 unchanged lines hidden ---
361 } }
362
363##
364# @block-export-add:
365#
366# Creates a new block export.
367#
368# Since: 5.2

--- 70 unchanged lines hidden ---