mirror of https://github.com/xemu-project/xemu.git
block: Drop the sheepdog block driver
It was deprecated in commit e1c4269763
, v5.2.0. See that commit
message for rationale.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210501075747.3293186-1-armbru@redhat.com>
ACKed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
875bb7e35b
commit
09ec85176e
|
@ -342,7 +342,6 @@ build-disabled:
|
||||||
--disable-replication
|
--disable-replication
|
||||||
--disable-sdl
|
--disable-sdl
|
||||||
--disable-seccomp
|
--disable-seccomp
|
||||||
--disable-sheepdog
|
|
||||||
--disable-slirp
|
--disable-slirp
|
||||||
--disable-smartcard
|
--disable-smartcard
|
||||||
--disable-snappy
|
--disable-snappy
|
||||||
|
|
|
@ -3072,12 +3072,6 @@ L: qemu-block@nongnu.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: block/rbd.c
|
F: block/rbd.c
|
||||||
|
|
||||||
Sheepdog
|
|
||||||
M: Liu Yuan <namei.unix@gmail.com>
|
|
||||||
L: qemu-block@nongnu.org
|
|
||||||
S: Odd Fixes
|
|
||||||
F: block/sheepdog.c
|
|
||||||
|
|
||||||
VHDX
|
VHDX
|
||||||
M: Jeff Cody <codyprime@gmail.com>
|
M: Jeff Cody <codyprime@gmail.com>
|
||||||
L: qemu-block@nongnu.org
|
L: qemu-block@nongnu.org
|
||||||
|
|
|
@ -64,7 +64,6 @@ block_ss.add(when: 'CONFIG_POSIX', if_true: [files('file-posix.c'), coref, iokit
|
||||||
block_ss.add(when: libiscsi, if_true: files('iscsi-opts.c'))
|
block_ss.add(when: libiscsi, if_true: files('iscsi-opts.c'))
|
||||||
block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c'))
|
block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c'))
|
||||||
block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c'))
|
block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c'))
|
||||||
block_ss.add(when: 'CONFIG_SHEEPDOG', if_true: files('sheepdog.c'))
|
|
||||||
block_ss.add(when: ['CONFIG_LINUX_AIO', libaio], if_true: files('linux-aio.c'))
|
block_ss.add(when: ['CONFIG_LINUX_AIO', libaio], if_true: files('linux-aio.c'))
|
||||||
block_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('io_uring.c'))
|
block_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('io_uring.c'))
|
||||||
|
|
||||||
|
|
3356
block/sheepdog.c
3356
block/sheepdog.c
File diff suppressed because it is too large
Load Diff
|
@ -207,19 +207,5 @@ file_FindEjectableOpticalMedia(const char *media) "Matching using %s"
|
||||||
file_setup_cdrom(const char *partition) "Using %s as optical disc"
|
file_setup_cdrom(const char *partition) "Using %s as optical disc"
|
||||||
file_hdev_is_sg(int type, int version) "SG device found: type=%d, version=%d"
|
file_hdev_is_sg(int type, int version) "SG device found: type=%d, version=%d"
|
||||||
|
|
||||||
# sheepdog.c
|
|
||||||
sheepdog_reconnect_to_sdog(void) "Wait for connection to be established"
|
|
||||||
sheepdog_aio_read_response(void) "disable cache since the server doesn't support it"
|
|
||||||
sheepdog_open(uint32_t vid) "0x%" PRIx32 " snapshot inode was open"
|
|
||||||
sheepdog_close(const char *name) "%s"
|
|
||||||
sheepdog_create_branch_snapshot(uint32_t vdi) "0x%" PRIx32 " is snapshot"
|
|
||||||
sheepdog_create_branch_created(uint32_t vdi) "0x%" PRIx32 " is created"
|
|
||||||
sheepdog_create_branch_new(uint32_t vdi) "0x%" PRIx32 " was newly created"
|
|
||||||
sheepdog_co_rw_vector_update(uint32_t vdi, uint64_t oid, uint64_t data, long idx) "update ino (%" PRIu32 ") %" PRIu64 " %" PRIu64 " %ld"
|
|
||||||
sheepdog_co_rw_vector_new(uint64_t oid) "new oid 0x%" PRIx64
|
|
||||||
sheepdog_snapshot_create_info(const char *sn_name, const char *id, const char *name, int64_t size, int is_snapshot) "sn_info: name %s id_str %s s: name %s vm_state_size %" PRId64 " " "is_snapshot %d"
|
|
||||||
sheepdog_snapshot_create(const char *sn_name, const char *id) "%s %s"
|
|
||||||
sheepdog_snapshot_create_inode(const char *name, uint32_t snap, uint32_t vdi) "s->inode: name %s snap_id 0x%" PRIx32 " vdi 0x%" PRIx32
|
|
||||||
|
|
||||||
# ssh.c
|
# ssh.c
|
||||||
sftp_error(const char *op, const char *ssh_err, int ssh_err_code, int sftp_err_code) "%s failed: %s (libssh error code: %d, sftp error code: %d)"
|
sftp_error(const char *op, const char *ssh_err, int ssh_err_code, int sftp_err_code) "%s failed: %s (libssh error code: %d, sftp error code: %d)"
|
||||||
|
|
|
@ -447,7 +447,6 @@ vdi=${default_feature:-yes}
|
||||||
vvfat=${default_feature:-yes}
|
vvfat=${default_feature:-yes}
|
||||||
qed=${default_feature:-yes}
|
qed=${default_feature:-yes}
|
||||||
parallels=${default_feature:-yes}
|
parallels=${default_feature:-yes}
|
||||||
sheepdog="no"
|
|
||||||
libxml2="$default_feature"
|
libxml2="$default_feature"
|
||||||
debug_mutex="no"
|
debug_mutex="no"
|
||||||
libpmem="$default_feature"
|
libpmem="$default_feature"
|
||||||
|
@ -1478,10 +1477,6 @@ for opt do
|
||||||
;;
|
;;
|
||||||
--enable-parallels) parallels="yes"
|
--enable-parallels) parallels="yes"
|
||||||
;;
|
;;
|
||||||
--disable-sheepdog) sheepdog="no"
|
|
||||||
;;
|
|
||||||
--enable-sheepdog) sheepdog="yes"
|
|
||||||
;;
|
|
||||||
--disable-vhost-user) vhost_user="no"
|
--disable-vhost-user) vhost_user="no"
|
||||||
;;
|
;;
|
||||||
--enable-vhost-user) vhost_user="yes"
|
--enable-vhost-user) vhost_user="yes"
|
||||||
|
@ -1916,7 +1911,6 @@ disabled with --disable-FEATURE, default is enabled if available
|
||||||
vvfat vvfat image format support
|
vvfat vvfat image format support
|
||||||
qed qed image format support
|
qed qed image format support
|
||||||
parallels parallels image format support
|
parallels parallels image format support
|
||||||
sheepdog sheepdog block driver support (deprecated)
|
|
||||||
crypto-afalg Linux AF_ALG crypto backend driver
|
crypto-afalg Linux AF_ALG crypto backend driver
|
||||||
capstone capstone disassembler support
|
capstone capstone disassembler support
|
||||||
debug-mutex mutex debugging support
|
debug-mutex mutex debugging support
|
||||||
|
@ -6106,10 +6100,6 @@ fi
|
||||||
if test "$parallels" = "yes" ; then
|
if test "$parallels" = "yes" ; then
|
||||||
echo "CONFIG_PARALLELS=y" >> $config_host_mak
|
echo "CONFIG_PARALLELS=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
if test "$sheepdog" = "yes" ; then
|
|
||||||
add_to deprecated_features "sheepdog"
|
|
||||||
echo "CONFIG_SHEEPDOG=y" >> $config_host_mak
|
|
||||||
fi
|
|
||||||
if test "$have_mlockall" = "yes" ; then
|
if test "$have_mlockall" = "yes" ; then
|
||||||
echo "HAVE_MLOCKALL=y" >> $config_host_mak
|
echo "HAVE_MLOCKALL=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -285,15 +285,6 @@ The above, converted to the current supported format::
|
||||||
|
|
||||||
json:{"file.driver":"rbd", "file.pool":"rbd", "file.image":"name"}
|
json:{"file.driver":"rbd", "file.pool":"rbd", "file.image":"name"}
|
||||||
|
|
||||||
``sheepdog`` driver (since 5.2.0)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
The ``sheepdog`` block device driver is deprecated. The corresponding upstream
|
|
||||||
server project is no longer actively maintained. Users are recommended to switch
|
|
||||||
to an alternative distributed block device driver such as RBD. The
|
|
||||||
``qemu-img convert`` command can be used to liberate existing data by moving
|
|
||||||
it out of sheepdog volumes into an alternative storage backend.
|
|
||||||
|
|
||||||
linux-user mode CPUs
|
linux-user mode CPUs
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
|
@ -85,24 +85,6 @@ These are specified using a special URL syntax.
|
||||||
Currently authentication must be done using ssh-agent. Other
|
Currently authentication must be done using ssh-agent. Other
|
||||||
authentication methods may be supported in future.
|
authentication methods may be supported in future.
|
||||||
|
|
||||||
``Sheepdog``
|
|
||||||
Sheepdog is a distributed storage system for QEMU. QEMU supports
|
|
||||||
using either local sheepdog devices or remote networked devices.
|
|
||||||
|
|
||||||
Syntax for specifying a sheepdog device
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
sheepdog[+tcp|+unix]://[host:port]/vdiname[?socket=path][#snapid|#tag]
|
|
||||||
|
|
||||||
Example
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
|qemu_system| --drive file=sheepdog://192.0.2.1:30000/MyVirtualMachine
|
|
||||||
|
|
||||||
See also https://sheepdog.github.io/sheepdog/.
|
|
||||||
|
|
||||||
``GlusterFS``
|
``GlusterFS``
|
||||||
GlusterFS is a user space distributed file system. QEMU supports the
|
GlusterFS is a user space distributed file system. QEMU supports the
|
||||||
use of GlusterFS volumes for hosting VM disk images using TCP, Unix
|
use of GlusterFS volumes for hosting VM disk images using TCP, Unix
|
||||||
|
|
|
@ -547,75 +547,6 @@ also available. Here are some example of the older syntax:
|
||||||
|qemu_system| linux2.img -hdb nbd:unix:/tmp/my_socket
|
|qemu_system| linux2.img -hdb nbd:unix:/tmp/my_socket
|
||||||
|qemu_system| -cdrom nbd:localhost:10809:exportname=debian-500-ppc-netinst
|
|qemu_system| -cdrom nbd:localhost:10809:exportname=debian-500-ppc-netinst
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Sheepdog disk images
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Sheepdog is a distributed storage system for QEMU. It provides highly
|
|
||||||
available block level storage volumes that can be attached to
|
|
||||||
QEMU-based virtual machines.
|
|
||||||
|
|
||||||
You can create a Sheepdog disk image with the command:
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
qemu-img create sheepdog:///IMAGE SIZE
|
|
||||||
|
|
||||||
where *IMAGE* is the Sheepdog image name and *SIZE* is its
|
|
||||||
size.
|
|
||||||
|
|
||||||
To import the existing *FILENAME* to Sheepdog, you can use a
|
|
||||||
convert command.
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
qemu-img convert FILENAME sheepdog:///IMAGE
|
|
||||||
|
|
||||||
You can boot from the Sheepdog disk image with the command:
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
|qemu_system| sheepdog:///IMAGE
|
|
||||||
|
|
||||||
You can also create a snapshot of the Sheepdog image like qcow2.
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
qemu-img snapshot -c TAG sheepdog:///IMAGE
|
|
||||||
|
|
||||||
where *TAG* is a tag name of the newly created snapshot.
|
|
||||||
|
|
||||||
To boot from the Sheepdog snapshot, specify the tag name of the
|
|
||||||
snapshot.
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
|qemu_system| sheepdog:///IMAGE#TAG
|
|
||||||
|
|
||||||
You can create a cloned image from the existing snapshot.
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
qemu-img create -b sheepdog:///BASE#TAG sheepdog:///IMAGE
|
|
||||||
|
|
||||||
where *BASE* is an image name of the source snapshot and *TAG*
|
|
||||||
is its tag name.
|
|
||||||
|
|
||||||
You can use an unix socket instead of an inet socket:
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
|qemu_system| sheepdog+unix:///IMAGE?socket=PATH
|
|
||||||
|
|
||||||
If the Sheepdog daemon doesn't run on the local host, you need to
|
|
||||||
specify one of the Sheepdog servers to connect to.
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
qemu-img create sheepdog://HOSTNAME:PORT/IMAGE SIZE
|
|
||||||
|qemu_system| sheepdog://HOSTNAME:PORT/IMAGE
|
|
||||||
|
|
||||||
iSCSI LUNs
|
iSCSI LUNs
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -474,3 +474,10 @@ VXHS backend (removed in 5.1)
|
||||||
'''''''''''''''''''''''''''''
|
'''''''''''''''''''''''''''''
|
||||||
|
|
||||||
The VXHS code did not compile since v2.12.0. It was removed in 5.1.
|
The VXHS code did not compile since v2.12.0. It was removed in 5.1.
|
||||||
|
|
||||||
|
``sheepdog`` driver (removed in 6.0)
|
||||||
|
''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
The corresponding upstream server project is no longer maintained.
|
||||||
|
Users are recommended to switch to an alternative distributed block
|
||||||
|
device driver such as RBD.
|
||||||
|
|
|
@ -2634,7 +2634,6 @@ if have_block
|
||||||
summary_info += {'vvfat support': config_host.has_key('CONFIG_VVFAT')}
|
summary_info += {'vvfat support': config_host.has_key('CONFIG_VVFAT')}
|
||||||
summary_info += {'qed support': config_host.has_key('CONFIG_QED')}
|
summary_info += {'qed support': config_host.has_key('CONFIG_QED')}
|
||||||
summary_info += {'parallels support': config_host.has_key('CONFIG_PARALLELS')}
|
summary_info += {'parallels support': config_host.has_key('CONFIG_PARALLELS')}
|
||||||
summary_info += {'sheepdog support': config_host.has_key('CONFIG_SHEEPDOG')}
|
|
||||||
summary_info += {'FUSE exports': fuse.found()}
|
summary_info += {'FUSE exports': fuse.found()}
|
||||||
endif
|
endif
|
||||||
summary(summary_info, bool_yn: true, section: 'Block layer support')
|
summary(summary_info, bool_yn: true, section: 'Block layer support')
|
||||||
|
|
|
@ -2818,7 +2818,6 @@
|
||||||
'luks', 'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels',
|
'luks', 'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels',
|
||||||
'preallocate', 'qcow', 'qcow2', 'qed', 'quorum', 'raw', 'rbd',
|
'preallocate', 'qcow', 'qcow2', 'qed', 'quorum', 'raw', 'rbd',
|
||||||
{ 'name': 'replication', 'if': 'defined(CONFIG_REPLICATION)' },
|
{ 'name': 'replication', 'if': 'defined(CONFIG_REPLICATION)' },
|
||||||
'sheepdog',
|
|
||||||
'ssh', 'throttle', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] }
|
'ssh', 'throttle', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] }
|
||||||
|
|
||||||
##
|
##
|
||||||
|
@ -3651,26 +3650,6 @@
|
||||||
'*key-secret': 'str',
|
'*key-secret': 'str',
|
||||||
'*server': ['InetSocketAddressBase'] } }
|
'*server': ['InetSocketAddressBase'] } }
|
||||||
|
|
||||||
##
|
|
||||||
# @BlockdevOptionsSheepdog:
|
|
||||||
#
|
|
||||||
# Driver specific block device options for sheepdog
|
|
||||||
#
|
|
||||||
# @vdi: Virtual disk image name
|
|
||||||
# @server: The Sheepdog server to connect to
|
|
||||||
# @snap-id: Snapshot ID
|
|
||||||
# @tag: Snapshot tag name
|
|
||||||
#
|
|
||||||
# Only one of @snap-id and @tag may be present.
|
|
||||||
#
|
|
||||||
# Since: 2.9
|
|
||||||
##
|
|
||||||
{ 'struct': 'BlockdevOptionsSheepdog',
|
|
||||||
'data': { 'server': 'SocketAddress',
|
|
||||||
'vdi': 'str',
|
|
||||||
'*snap-id': 'uint32',
|
|
||||||
'*tag': 'str' } }
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# @ReplicationMode:
|
# @ReplicationMode:
|
||||||
#
|
#
|
||||||
|
@ -4037,7 +4016,6 @@
|
||||||
'rbd': 'BlockdevOptionsRbd',
|
'rbd': 'BlockdevOptionsRbd',
|
||||||
'replication': { 'type': 'BlockdevOptionsReplication',
|
'replication': { 'type': 'BlockdevOptionsReplication',
|
||||||
'if': 'defined(CONFIG_REPLICATION)' },
|
'if': 'defined(CONFIG_REPLICATION)' },
|
||||||
'sheepdog': 'BlockdevOptionsSheepdog',
|
|
||||||
'ssh': 'BlockdevOptionsSsh',
|
'ssh': 'BlockdevOptionsSsh',
|
||||||
'throttle': 'BlockdevOptionsThrottle',
|
'throttle': 'BlockdevOptionsThrottle',
|
||||||
'vdi': 'BlockdevOptionsGenericFormat',
|
'vdi': 'BlockdevOptionsGenericFormat',
|
||||||
|
@ -4496,74 +4474,6 @@
|
||||||
'*zeroed-grain': 'bool' } }
|
'*zeroed-grain': 'bool' } }
|
||||||
|
|
||||||
|
|
||||||
##
|
|
||||||
# @SheepdogRedundancyType:
|
|
||||||
#
|
|
||||||
# @full: Create a fully replicated vdi with x copies
|
|
||||||
# @erasure-coded: Create an erasure coded vdi with x data strips and
|
|
||||||
# y parity strips
|
|
||||||
#
|
|
||||||
# Since: 2.12
|
|
||||||
##
|
|
||||||
{ 'enum': 'SheepdogRedundancyType',
|
|
||||||
'data': [ 'full', 'erasure-coded' ] }
|
|
||||||
|
|
||||||
##
|
|
||||||
# @SheepdogRedundancyFull:
|
|
||||||
#
|
|
||||||
# @copies: Number of copies to use (between 1 and 31)
|
|
||||||
#
|
|
||||||
# Since: 2.12
|
|
||||||
##
|
|
||||||
{ 'struct': 'SheepdogRedundancyFull',
|
|
||||||
'data': { 'copies': 'int' }}
|
|
||||||
|
|
||||||
##
|
|
||||||
# @SheepdogRedundancyErasureCoded:
|
|
||||||
#
|
|
||||||
# @data-strips: Number of data strips to use (one of {2,4,8,16})
|
|
||||||
# @parity-strips: Number of parity strips to use (between 1 and 15)
|
|
||||||
#
|
|
||||||
# Since: 2.12
|
|
||||||
##
|
|
||||||
{ 'struct': 'SheepdogRedundancyErasureCoded',
|
|
||||||
'data': { 'data-strips': 'int',
|
|
||||||
'parity-strips': 'int' }}
|
|
||||||
|
|
||||||
##
|
|
||||||
# @SheepdogRedundancy:
|
|
||||||
#
|
|
||||||
# Since: 2.12
|
|
||||||
##
|
|
||||||
{ 'union': 'SheepdogRedundancy',
|
|
||||||
'base': { 'type': 'SheepdogRedundancyType' },
|
|
||||||
'discriminator': 'type',
|
|
||||||
'data': { 'full': 'SheepdogRedundancyFull',
|
|
||||||
'erasure-coded': 'SheepdogRedundancyErasureCoded' } }
|
|
||||||
|
|
||||||
##
|
|
||||||
# @BlockdevCreateOptionsSheepdog:
|
|
||||||
#
|
|
||||||
# Driver specific image creation options for Sheepdog.
|
|
||||||
#
|
|
||||||
# @location: Where to store the new image file
|
|
||||||
# @size: Size of the virtual disk in bytes
|
|
||||||
# @backing-file: File name of a base image
|
|
||||||
# @preallocation: Preallocation mode for the new image (default: off;
|
|
||||||
# allowed values: off, full)
|
|
||||||
# @redundancy: Redundancy of the image
|
|
||||||
# @object-size: Object size of the image
|
|
||||||
#
|
|
||||||
# Since: 2.12
|
|
||||||
##
|
|
||||||
{ 'struct': 'BlockdevCreateOptionsSheepdog',
|
|
||||||
'data': { 'location': 'BlockdevOptionsSheepdog',
|
|
||||||
'size': 'size',
|
|
||||||
'*backing-file': 'str',
|
|
||||||
'*preallocation': 'PreallocMode',
|
|
||||||
'*redundancy': 'SheepdogRedundancy',
|
|
||||||
'*object-size': 'size' } }
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# @BlockdevCreateOptionsSsh:
|
# @BlockdevCreateOptionsSsh:
|
||||||
#
|
#
|
||||||
|
@ -4687,7 +4597,6 @@
|
||||||
'qcow2': 'BlockdevCreateOptionsQcow2',
|
'qcow2': 'BlockdevCreateOptionsQcow2',
|
||||||
'qed': 'BlockdevCreateOptionsQed',
|
'qed': 'BlockdevCreateOptionsQed',
|
||||||
'rbd': 'BlockdevCreateOptionsRbd',
|
'rbd': 'BlockdevCreateOptionsRbd',
|
||||||
'sheepdog': 'BlockdevCreateOptionsSheepdog',
|
|
||||||
'ssh': 'BlockdevCreateOptionsSsh',
|
'ssh': 'BlockdevCreateOptionsSsh',
|
||||||
'vdi': 'BlockdevCreateOptionsVdi',
|
'vdi': 'BlockdevCreateOptionsVdi',
|
||||||
'vhdx': 'BlockdevCreateOptionsVhdx',
|
'vhdx': 'BlockdevCreateOptionsVhdx',
|
||||||
|
@ -5322,7 +5231,7 @@
|
||||||
#
|
#
|
||||||
# Notes: In transaction, if @name is empty, or any snapshot matching @name
|
# Notes: In transaction, if @name is empty, or any snapshot matching @name
|
||||||
# exists, the operation will fail. Only some image formats support it,
|
# exists, the operation will fail. Only some image formats support it,
|
||||||
# for example, qcow2, rbd, and sheepdog.
|
# for example, qcow2, and rbd.
|
||||||
#
|
#
|
||||||
# Since: 1.7
|
# Since: 1.7
|
||||||
##
|
##
|
||||||
|
|
|
@ -112,10 +112,10 @@
|
||||||
#
|
#
|
||||||
# On failure, the original disks pre-snapshot attempt will be used.
|
# On failure, the original disks pre-snapshot attempt will be used.
|
||||||
#
|
#
|
||||||
# For internal snapshots, the dictionary contains the device and the snapshot's
|
# For internal snapshots, the dictionary contains the device and the
|
||||||
# name. If an internal snapshot matching name already exists, the request will
|
# snapshot's name. If an internal snapshot matching name already exists,
|
||||||
# be rejected. Only some image formats support it, for example, qcow2, rbd,
|
# the request will be rejected. Only some image formats support it, for
|
||||||
# and sheepdog.
|
# example, qcow2, and rbd,
|
||||||
#
|
#
|
||||||
# On failure, qemu will try delete the newly created internal snapshot in the
|
# On failure, qemu will try delete the newly created internal snapshot in the
|
||||||
# transaction. When an I/O error occurs during deletion, the user needs to fix
|
# transaction. When an I/O error occurs during deletion, the user needs to fix
|
||||||
|
|
|
@ -52,11 +52,6 @@ if [ "$IMGFMT" = "vpc" ]; then
|
||||||
_notrun "image format $IMGFMT does not support large image sizes"
|
_notrun "image format $IMGFMT does not support large image sizes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# sheepdog image is limited to 4TB, so we can't test it here
|
|
||||||
if [ "$IMGPROTO" = "sheepdog" ]; then
|
|
||||||
_notrun "image protocol $IMGPROTO does not support large image sizes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Sanity check: For raw, we require a file system that permits the creation
|
# Sanity check: For raw, we require a file system that permits the creation
|
||||||
# of a HUGE (but very sparse) file. Check we can create it before continuing.
|
# of a HUGE (but very sparse) file. Check we can create it before continuing.
|
||||||
if [ "$IMGFMT" = "raw" ]; then
|
if [ "$IMGFMT" = "raw" ]; then
|
||||||
|
|
|
@ -39,7 +39,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||||
. ./common.pattern
|
. ./common.pattern
|
||||||
|
|
||||||
_supported_fmt raw qcow2 qed luks
|
_supported_fmt raw qcow2 qed luks
|
||||||
_supported_proto file sheepdog rbd nfs fuse
|
_supported_proto file rbd nfs fuse
|
||||||
|
|
||||||
echo "=== Creating image"
|
echo "=== Creating image"
|
||||||
echo
|
echo
|
||||||
|
|
|
@ -65,8 +65,7 @@ def make_argparser() -> argparse.ArgumentParser:
|
||||||
mg.add_argument('-' + fmt, dest='imgfmt', action='store_const',
|
mg.add_argument('-' + fmt, dest='imgfmt', action='store_const',
|
||||||
const=fmt, help=f'test {fmt}')
|
const=fmt, help=f'test {fmt}')
|
||||||
|
|
||||||
protocol_list = ['file', 'rbd', 'sheepdog', 'nbd', 'ssh', 'nfs',
|
protocol_list = ['file', 'rbd', 'nbd', 'ssh', 'nfs', 'fuse']
|
||||||
'fuse']
|
|
||||||
g_prt = p.add_argument_group(
|
g_prt = p.add_argument_group(
|
||||||
' image protocol options',
|
' image protocol options',
|
||||||
'The following options set the IMGPROTO environment variable. '
|
'The following options set the IMGPROTO environment variable. '
|
||||||
|
|
|
@ -641,10 +641,6 @@ _cleanup_test_img()
|
||||||
rbd --no-progress rm "$TEST_DIR/t.$IMGFMT" > /dev/null
|
rbd --no-progress rm "$TEST_DIR/t.$IMGFMT" > /dev/null
|
||||||
;;
|
;;
|
||||||
|
|
||||||
sheepdog)
|
|
||||||
collie vdi delete "$TEST_DIR/t.$IMGFMT"
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue