diff --git a/libxl.pvscsi.patch b/libxl.pvscsi.patch index dea9401..fe6fccf 100644 --- a/libxl.pvscsi.patch +++ b/libxl.pvscsi.patch @@ -1,71 +1,100 @@ -* local-fate316613-pvscsi-staging-4.4 - git://github.com/olafhering/xen.git : local-fate316613-pvscsi-staging-4.4 - -Implement pvscsi in xl/libxl +Subject: [PATCH v12 1/2] libxl: add support for vscsi +Date: Wed, 13 Apr 2016 08:56:59 +0000 +Message-Id: <1460537820-15398-2-git-send-email-olaf@aepfle.de> fate#316613 , https://fate.suse.com/316613 -10bd594 pvscsi: move parse_vscsi_config code block to avoid fuzz -06914e1 Merge pull request #4 from aaannz/pvscsi -fe65eb3 define SUSE PVSCSI extension for 3rd party use -8a34a98 pvscsi: check null pointer in libxl__add_vscsis -09fa151 pvscsi: avoid double assignment of host devices -aa88928 pvscsi: fix double free in scsi-attach -2de1507 pvscsi: update comments about libxl.so ABI -483f7e9 Merge pull request #3 from aaannz/pvscsi -d98458c Xen4.2 ABI compat -73744a5 preserve Xen4.2 ABI, WIP -0f8e701 fix minor memory leaks -1b1c55d pvscsi: correct comment for DEFINE_DEVICES_ADD -6f50972 pvscsi: move libxl__add_vscsis call -6fd1327 pvscsi: add comment for DEFINE_DEVICES_ADD -e4bf1fd pvscsi: fix DEFINE_DEVICE_REMOVE destroy -51b63a6 pvscsi: man pages -e461042 pvscsi: implememnt single device scsi-detach -540e524 Merge pull request #2 from aaannz/pvscsi -919a851 implement vscsi-attach -e07db68 fix indentation -b087b9d pvscsi: implement simple scsi-detach -824f286 pvscsi: simplify sysfs parsing in parse_vscsi_config -977d81d pvscsi: include stddef in xl_cmdimpl.c to get offsetof -ee2e7e5 Merge pull request #1 from aaannz/pvscsi -7de6f49 support character devices too -c84381b allow /dev/sda as scsi devspec -f11e3a2 pvscsi +Port pvscsi support from xend to libxl: + + vscsi=['pdev,vdev{,options}'] + xl scsi-attach + xl scsi-detach + xl scsi-list + +Signed-off-by: Olaf Hering +Cc: Ian Jackson +Cc: Stefano Stabellini +Cc: Ian Campbell +Cc: Wei Liu +--- + docs/man/xl.cfg.pod.5 | 56 + + docs/man/xl.pod.1 | 18 + tools/libxl/Makefile | 2 + tools/libxl/libxl.c | 9 + tools/libxl/libxl.h | 42 + + tools/libxl/libxl_create.c | 41 + + tools/libxl/libxl_device.c | 2 + tools/libxl/libxl_internal.h | 8 + tools/libxl/libxl_types.idl | 53 + + tools/libxl/libxl_types_internal.idl | 1 + tools/libxl/libxl_vscsi.c | 1169 +++++++++++++++++++++++++++++++++++ + tools/libxl/libxlu_vscsi.c | 667 +++++++++++++++++++ + tools/libxl/libxlutil.h | 19 + tools/libxl/xl.h | 3 + tools/libxl/xl_cmdimpl.c | 225 ++++++ + tools/libxl/xl_cmdtable.c | 15 + 16 files changed, 2326 insertions(+), 4 deletions(-) + Index: xen-4.7.0-testing/docs/man/xl.cfg.pod.5 =================================================================== --- xen-4.7.0-testing.orig/docs/man/xl.cfg.pod.5 +++ xen-4.7.0-testing/docs/man/xl.cfg.pod.5 -@@ -517,6 +517,36 @@ value is optional if this is a guest dom +@@ -517,6 +517,62 @@ value is optional if this is a guest dom =back +=item B + +Specifies the PVSCSI devices to be provided to the guest. PVSCSI passes -+dom0 SCSI devices as-is to the guest. ++SCSI devices from the backend domain to the guest. + -+Each B is a mapping from dom0 SCSI devices to guest visible -+SCSI devices, like 'pvdev,vdev[,option]'. Example: '/dev/sdm,3:0:4:5,feature-host' ++Each VSCSI_SPEC_STRING consists of "pdev,vdev[,options]". ++'pdev' describes the physical device, preferable in a persistent format ++such as /dev/disk/by-*/*. ++'vdev' is the domU device in vHOST:CHANNEL:TARGET:LUN notation, all integers. ++'options' lists additional flags which a backend may recognize. ++ ++The supported values for "pdev" and "options" depends on the backend driver used: ++ ++=over 4 ++ ++=item B + +=over 4 + +=item C + -+Specifies the dom0 visible SCSI device. The string can be either a device path -+like to a block device like /dev/disk/by-id/scsi-XYZ. Or it can be a device path -+to a char device like /dev/sg5. Or it can be specified in the SCSI notation -+HOST:CHANNEL:TARGET:LUN. Note that the latter format is unreliable because -+the HOST value can change across dom0 reboots. ++The backend driver in the pvops kernel is part of the Linux-IO Target framework ++(LIO). As such the SCSI devices have to be configured first with the tools ++provided by this framework, such as a xen-scsiback aware targetcli. The "pdev" ++in domU.cfg has to refer to a config item in that framework instead of the raw ++device. Usually this is a WWN in the form of "naa.WWN:LUN". + -+=item C ++=item C + -+Specifies how the SCSI device is mapped into the guest. The notation is in -+SCSI notation HOST:CHANNEL:TARGET:LUN. HOST in this case means a virthal -+SCSI host within the guest. ++No options recognized. + -+=item C