Accepting request 243931 from home:cyliu:branches:Virtualization

- bnc#820399 - virsh blockcopy should refuse identical device
  blockcopy-check-dst-identical-device.patch

OBS-URL: https://build.opensuse.org/request/show/243931
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=396
This commit is contained in:
James Fehlig 2014-08-08 15:04:43 +00:00 committed by Git OBS Bridge
parent 3598615076
commit e0ef76a77b
3 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,31 @@
From 475b272c126d53f3985860422dc96b01b470423e Mon Sep 17 00:00:00 2001
From: Chunyan Liu <cyliu@suse.com>
Date: Tue, 29 Jul 2014 17:31:28 +0800
Subject: [PATCH] blockcopy: check dst = identical device
Check whether dst is the same device as source, if yes, report
error and exit.
Signed-off-by: Chunyan Liu <cyliu@suse.com>
---
src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: libvirt-1.2.5/src/qemu/qemu_driver.c
===================================================================
--- libvirt-1.2.5.orig/src/qemu/qemu_driver.c
+++ libvirt-1.2.5/src/qemu/qemu_driver.c
@@ -15263,6 +15263,13 @@ qemuDomainBlockCopy(virDomainObjPtr vm,
}
/* Prepare the destination file. */
+ if (STREQ_NULLABLE(realpath(disk->src->path, NULL), realpath(dest, NULL))) {
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("destination '%s' is the same as disk '%s' source"),
+ dest, path);
+ goto endjob;
+ }
+
if (stat(dest, &st) < 0) {
if (errno != ENOENT) {
virReportSystemError(errno, _("unable to stat for disk %s: %s"),

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Aug 8 03:23:10 UTC 2014 - cyliu@suse.com
- bnc#820399 - virsh blockcopy should refuse identical device
blockcopy-check-dst-identical-device.patch
-------------------------------------------------------------------
Mon Aug 4 09:32:57 MDT 2014 - jfehlig@suse.com

View File

@ -431,6 +431,7 @@ Source99: baselibs.conf
# Need to go upstream
Patch100: xen-name-for-devid.patch
Patch101: xen-pv-cdrom.patch
Patch102: blockcopy-check-dst-identical-device.patch
# Our patches
Patch200: libvirtd-defaults.patch
Patch201: libvirtd-init-script.patch
@ -944,6 +945,7 @@ namespaces.
%setup -q
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1