[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 0/2] libxl: add support for pvscsi, iteration 13



CC Ian -- I think he followed more closely than I did.

On Fri, Feb 17, 2017 at 10:49:54AM +0000, Olaf Hering wrote:
> Port vscsi=[] and scsi-{attach,detach,list} commands from xend to libxl.
> 
> libvirt uses its existing SCSI support:
> http://lists.xenproject.org/archives/html/xen-devel/2015-04/msg02963.html
> 
> targetcli/rtslib has to be aware of xen-scsiback (upstream unresponsive):
> http://article.gmane.org/gmane.linux.scsi.target.devel/8146
> 
> TODO:
>  - document pvscsi in xen wiki
>  - find a way to carry vscsi devices during live migration to remote host
>    could be done with using 'string' for pdev/vdev in idl
> 
> Changes between v12 and v13:
>  - rebase to 'staging' (936a7a5..a7a578ce6b)
>  - rebase to 'staging' (8b27d2b..936a7a5)
> 
> Changes between v11 and v12:
>  - rebase to 'staging' (3dac42f..8b27d2b)
>  - rebase to 'staging' (a35dc6c..3dac42f)
>  - Rework API of xlu_vscsi_get_ctrl
>  - Sanitize input from frontend in vscsi_fill_ctrl
>  - Use macro for libxl_ctrl_index
> https://lists.xenproject.org/archives/html/xen-devel/2016-04/msg01772.html
> 
> Changes between v10 and v11:
>  - rebase to 'staging' (d887c19..a35dc6c)
>  - rebase to 'staging' (829e03c..d887c19)
>  - Remove evtch and rref from vscsiinfo
>  - Remove COMPARE_VSCSI, use COMPARE_DEVID
>  - Remove vscsi_wwn_valid helpers, use sscanf instead
> http://lists.xenproject.org/archives/html/xen-devel/2016-04/msg01120.html
> 
> Changes between v9 and v10:
>  - rebase to 'staging' (3b971de..829e03c)
> http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg02773.html
> 
> Changes between v8 and v9:
>  - Mention libxl_ctrl_index in vscsiif.h
>  - Rename idx to libxl_ctrl_index
>  - Fix device assignment in vscsidev_remove
>  - Add vscsictrls to multidev callchain
>  - Reorder some functions
>  - Move and rename vscsidev_rm
>  - Remove libxl prefix from static functions
>  - Reorder functions in libxl_vscsi.c
>  - Add comment to libxl_vscsidev_aodev_cb
>  - Move libxl_device_vscsictrl_remove into libxl_vscsi.c
>  - Enclose libxl__device instead of aodev in libxl__vscsidev_rm
>  - Update typedef of libxl__vscsidev_rm
>  - Assign devid earlier in libxl__device_vscsictrl_add
>  - Rework xlu_vscsi_get_ctrl and main_vscsiattach
>  - Add config idx also to libxl_vscsiinfo
>  - Make libxl__vscsi_collect_ctrls static
>  - Implement libxl_device_vscsidev_add
>  - Move vscsictrl add from libxl.c to libxl_vscsi.c
>  - Export libxl__device_nextid for internal use
>  - Remove some checks for empty controllers
>  - Introduce an idx file to present the config index in empty vscsictrls
>  - Use libxl__ev_devstate_wait in libxl__device_vscsictrl_reconfigure_add
>  - Rework error handling in libxl__vscsi_fill_ctrl
>  - Remove state checking from libxl__vscsi_fill_dev
>  - Wrap long lines in libxl__device_vscsictrl_new_backend
>  - Use LIBXL_DESTROY_TIMEOUT in libxl__device_vscsidev_rm
>  - Remove tab from libxl__vscsi_collect_ctrls
>  - Goto out if libxl__device_vscsidev_backend_set_add fails
>  - Add fallthrough to libxl__device_vscsidev_backend_set_add
>  - Fix typo in xl.cfg.pod: naa.
>  - Wrap long line in xl.cfg.pod.5
>  - Use memmove in libxl_device_vscsictrl_remove_vscsidev
>  - Adjust code in main_vscsilist to fit in 80 chars
>  - Align switch and case to gain 4 columns
>  - Wrap long line in libxl__device_vscsi_reconfigure_rm
>  - Wrap long line in libxl__device_vscsidev_rm_be
>  - Adjust flexarray size in libxl__device_vscsi_reconfigure_rm
>  - Rework libxl_device_vscsidev_remove
>  - Introduce libxl_device_vscsictrl_remove_vscsidev
>  - Use stack variables in xlu_vscsi_get_ctrl
>  - Rename function names to refer to vscsictrl
>  - Rename local variables to refer to vscsictrl
>  - Use generic vscsictrl->devid
> http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg03196.html
> 
> Changes between v7 and v8:
>  - Make be_path const in libxl__device_vscsictrl_add
>  - Adjust years in Copyright
>  - Whitespace in libxl_device_vscsictrl idl
>  - Implement libxl_device_vscsictrl_destroy
>  - Set backend_devid
>  - Reorder assignments in libxl__device_vscsictrl_add
>  - Whitespace changes for libxl__device_vscsi_reconfigure_add
>  - Register watch unconditionally in libxl__device_vscsidev_rm
>  - Wait for StateClosing for unconnected frontends in detach
>  - Adjust logic in libxl__vscsi_fill_dev
>  - Rework scsi-detach
>  - Increase swap partition from 12 to 96 blocks for mkswap
>  - Update MERGE macro for vscsictrls
> http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg01662.html
> 
> Changes between v6 and v7:
>  - rebase to 'staging' (3b971de)
>  - Introduce libxl_device_vscsictrl_append_vscsidev
>  - Add libxl__vscsi_collect_ctrls and used it in libxl_device_vscsictrl_list
>  - Convert type of lun from u32 to u64 per SCSI spec
>  - Use vscsi_saved in libxl__device_vscsictrl_add
>  - Assign unique vscsidev_id per vscsictrl
>  - Rename vscsi_dev to vscsidev in function names
>  - Rename variables in libxl_vscsiinfo
>  - Rename locals to refer to ctrl/dev
>  - Rename various strings from host to ctrl
>  - Rename local variables vscsi_ctrl to vscsictrl
>  - Rename libxl_device_vscsictrl->vscsi_devs to vscsidevs
>  - Remove libxl_device_vscsidev->remove, rework detach
>  - Rename libxl_device_vscsidev->vscsi_dev_id to vscsidev_id
>  - Rename local variables vscsi_host to vscsi_ctrl
>  - Rename local variables v_hst to v_ctrl
>  - Remove libxl_device_vscsictrl->v_hst
>  - Rename libxl_vscsi_dev to libxl_device_vscsidev
>  - Rename libxl_device_vscsi to libxl_device_vscsictrl
> http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg00884.html
> 
> Changes between v5 and v6:
>  - rebase to 'staging' (a7b39c8 and b7e7ad8)
>  - Fix off-by-one in xlu__vscsi_compare_udev
>  - xl.cfg: use options instead of option
>  - xl.cfg: fix grammar for pdev/options
>  - xl.cfg: fix Usually typo
>  - Remove next_vscsi_dev_id from libxl_device_vscsi
>  - Use XLU_WWN_LEN also in libxl_vscsi.c
> http://lists.xenproject.org/archives/html/xen-devel/2015-11/msg01446.html
> 
> Changes between v4 and v5:
>  - vscsiif.h: refer to backend_domid
>  - Set update_json in libxl_device_vscsi_remove
>  - Remove comment from libxl__device_vscsi_add
>  - Remove debug LOG from libxl__device_vscsi_reconfigure
>  - Move local nb variable in libxl__device_vscsi_reconfigure
>  - Make be_path const in libxl__device_vscsi_reconfigure
>  - Adjust libxl__device_vscsi_dev_backend_set to avoid long lines
>  - Adjust libxl__device_vscsi_dev_backend_rm to avoid long lines
>  - Use CTX in libxl__device_vscsi_dev_backend_rm
>  - Make be_path const in libxl__device_vscsi_dev_backend_rm
>  - xl.cfg: Its typo
>  - xl.cfg: Use persistent instead of persistant
>  - Rename feature_host to scsi_raw_cmds
>  - target-create-xen-scsiback.sh: detect pvops and xenlinux
>  - Wrap long lines in main_vscsilist
>  - Call libxl_vscsiinfo_dispose unconditional
>  - Let scsi-list print p-dev instead of p-devname
>  - Handle broken vscsi device entry in xenstore
>  - Split libxl__vscsi_fill_host from libxl_device_vscsi_list
>  - Make xlu_vscsi_append_dev static
>  - Remove reference to pvscsi.txt from xenstore-paths.markdown
>  - xl.cfg: update Linux and xenlinux
>  - xl.cfg: refer to backend domain instead of dom0
>  - xl.cfg: be more verbose what persistant format is
>  - return if libxl__device_vscsi_dev_backend_set fails in 
> libxl__device_vscsi_new_backend
>  - target-create-xen-scsiback.sh: set also alias for libvirt
> http://lists.xenproject.org/archives/html/xen-devel/2015-05/msg00523.html
> 
> Changes between v3 and v4:
>  - Use libxl__device_nextid in libxl__device_vscsi_add
>  - Remove check for duplicate pdev assignment from libxl_device_vscsi_get_host
>  - Caller provides libxl_device_vscsi to libxl_device_vscsi_get_host
>  - Define LIBXL_HAVE_VSCSI
>  - Remove init_val from libxl_vscsi_pdev_type
>  - Move some functions from libxl to libxlu
>  - Introduce libxl_device_vscsi->next_vscsi_dev_id to handle holes
>  - Use Struct in KeyedUnion for ocaml idl
>  - docs: Mention pvscsi in xl and xl.cfg
>  - Turn feature_host into a defbool and add checking
>  - Support pvops and /dev/ nodes in config
>  - Wrap entire libxlu_vscsi.c with ifdef linux
>  - Set remove flag in libxl_device_vscsi_list
>  - Fix vscsiif path in xenstore-paths.markdown
>  - vscsiif.h: add some notes about xenstore layout
>  - Add copyright to libxlu_vscsi.c and libxl_vscsi.c
>  - Scripts to create and delete xen-scsiback nodes in Linux target framework
>  - Remove pvscsi.txt
> http://lists.xenproject.org/archives/html/xen-devel/2015-04/msg01949.html
> 
> Changes between v2 and v3:
>  - Adjust change for vscsiif.h
>  - Support "naa.wwn:lun" notation in pvops kernel
>  - Add example for pvops kernel using targetcli
>    patch required for python-rtslib:
>    http://article.gmane.org/gmane.linux.scsi.target.devel/8146
>  - Use vdev variable in libxl_device_vscsi_parse
> http://lists.xenproject.org/archives/html/xen-devel/2015-03/msg00734.html
> 
> Changes between v1 and v2:
>  - ported to current staging
> http://lists.xenproject.org/archives/html/xen-devel/2015-03/msg00030.html
> 
> Initial attempt was sent a year ago:
> http://lists.xenproject.org/archives/html/xen-devel/2014-04/msg03958.html
> Most comments are addressed.
> 
> This version has been tested with SLES as backend and frontend.
> This version has been tested with pvops as backend and SLES as frontend.
> 
> 
> 
> Olaf Hering (2):
>   libxl: add support for vscsi
>   Scripts to create and delete xen-scsiback nodes in Linux target
>     framework
> 
>  docs/man/xl.cfg.pod.5.in                 |   56 ++
>  docs/man/xl.pod.1.in                     |   18 +
>  tools/libxl/Makefile                     |    2 +
>  tools/libxl/libxl.h                      |   42 ++
>  tools/libxl/libxl_create.c               |    1 +
>  tools/libxl/libxl_internal.h             |    1 +
>  tools/libxl/libxl_types.idl              |   53 ++
>  tools/libxl/libxl_types_internal.idl     |    1 +
>  tools/libxl/libxl_vscsi.c                | 1176 
> ++++++++++++++++++++++++++++++
>  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 +
>  tools/misc/Makefile                      |    4 +
>  tools/misc/target-create-xen-scsiback.sh |  135 ++++
>  tools/misc/target-delete-xen-scsiback.sh |   41 ++
>  17 files changed, 2458 insertions(+), 1 deletion(-)
>  create mode 100644 tools/libxl/libxl_vscsi.c
>  create mode 100644 tools/libxl/libxlu_vscsi.c
>  create mode 100755 tools/misc/target-create-xen-scsiback.sh
>  create mode 100755 tools/misc/target-delete-xen-scsiback.sh
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> https://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.