1. 12 2月, 2019 11 次提交
  2. 04 2月, 2019 1 次提交
  3. 02 2月, 2019 1 次提交
  4. 01 2月, 2019 3 次提交
    • J
      util: Introduce virStorageFileGetNPIVKey · 5f9e211c
      John Ferlan 提交于
      The vHBA/NPIV LUNs created via the udev processing of the
      VPORT_CREATE command end up using the same serial value
      as seen/generated by the /lib/udev/scsi_id as returned
      during virStorageFileGetSCSIKey. Therefore, in order to
      generate a unique enough key to be used when adding the
      LUN as a volume during virStoragePoolObjAddVol a more
      unique key needs to be generated for an NPIV volume.
      
      The problem is illustrated by the following example, where
      scsi_host5 is a vHBA used with the following LUNs:
      
      $ lsscsi -tg
      ...
      [5:0:4:0]    disk    fc:0x5006016844602198,0x101f00  /dev/sdh   /dev/sg23
      [5:0:5:0]    disk    fc:0x5006016044602198,0x102000  /dev/sdi   /dev/sg24
      ...
      
      Calling virStorageFileGetSCSIKey would return:
      
      /lib/udev/scsi_id --device /dev/sdh --whitelisted --replace-whitespace /dev/sdh
      350060160c460219850060160c4602198
      /lib/udev/scsi_id --device /dev/sdh --whitelisted --replace-whitespace /dev/sdi
      350060160c460219850060160c4602198
      
      Note that althrough /dev/sdh and /dev/sdi are separate LUNs, they
      end up with the same serial number used for the vol->key value.
      When virStoragePoolFCRefreshThread calls virStoragePoolObjAddVol
      the second LUN fails to be added with the following message
      getting logged:
      
          virHashAddOrUpdateEntry:341 : internal error: Duplicate key
      
      To resolve this, virStorageFileGetNPIVKey will use a similar call
      sequence as virStorageFileGetSCSIKey, except that it will add the
      "--export" option to the call. This results in more detailed output
      which needs to be parsed in order to formulate a unique enough key
      to be used. In order to be unique enough, the returned value will
      concatenate the target port as returned in the "ID_TARGET_PORT"
      field from the command to the "ID_SERIAL" value.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      ACKed-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      5f9e211c
    • J
      storage: Rework virStorageBackendSCSISerial · 8bf89dc8
      John Ferlan 提交于
      Alter the code to use the virStorageFileGetSCSIKey helper
      to fetch the unique key for the SCSI disk. Alter the logic
      to follow the former code which would return a duplicate
      of @dev when either the virCommandRun succeeded, but returned
      an empty string or when WITH_UDEV was not true.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      ACKed-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      8bf89dc8
    • J
      util: Modify virStorageFileGetSCSIKey return · 9b86bbcc
      John Ferlan 提交于
      Alter the "real" code to return -2 on virCommandRun failure.
      Alter the comments and function header to describe the function
      and its returns.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      ACKed-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      9b86bbcc
  5. 28 1月, 2019 2 次提交
  6. 14 12月, 2018 1 次提交
    • D
      Remove all Author(s): lines from source file headers · 60046283
      Daniel P. Berrangé 提交于
      In many files there are header comments that contain an Author:
      statement, supposedly reflecting who originally wrote the code.
      In a large collaborative project like libvirt, any non-trivial
      file will have been modified by a large number of different
      contributors. IOW, the Author: comments are quickly out of date,
      omitting people who have made significant contribitions.
      
      In some places Author: lines have been added despite the person
      merely being responsible for creating the file by moving existing
      code out of another file. IOW, the Author: lines give an incorrect
      record of authorship.
      
      With this all in mind, the comments are useless as a means to identify
      who to talk to about code in a particular file. Contributors will always
      be better off using 'git log' and 'git blame' if they need to  find the
      author of a particular bit of code.
      
      This commit thus deletes all Author: comments from the source and adds
      a rule to prevent them reappearing.
      
      The Copyright headers are similarly misleading and inaccurate, however,
      we cannot delete these as they have legal meaning, despite being largely
      inaccurate. In addition only the copyright holder is permitted to change
      their respective copyright statement.
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      60046283
  7. 12 10月, 2018 2 次提交
    • P
      util: storage: Properly parse URIs with missing trailing slash · 6e7e965d
      Peter Krempa 提交于
      The URI parser used by libvirt does not populate uri->path if the
      trailing slash is missing. The code virStorageSourceParseBackingURI
      would then not populate src->path.
      
      As only NBD network disks are allowed to have the 'name' field in the
      XML defining the disk source omitted we'd generate an invalid XML which
      we'd not parse again.
      
      Fix it by populating src->path with an empty string if the uri is
      lacking slash.
      
      As pointed out above NBD is special in this case since we actually allow
      it being NULL. The URI path is used as export name. Since an empty
      export does not make sense the new approach clears the src->path if the
      trailing slash is present but nothing else.
      
      Add test cases now to cover all the various cases for NBD and non-NBD
      uris as there was to time only 1 test abusing the quirk witout slash for
      NBD and all other URIs contained the slash or in case of NBD also the
      export name.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      6e7e965d
    • P
      util: storage: Rename '@path' argument of virStorageSourceParseBackingURI · 4471f770
      Peter Krempa 提交于
      The name is misleading. Change it to 'uristr' so that 'path' can be
      reused in the proper context later.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      4471f770
  8. 24 9月, 2018 1 次提交
  9. 20 9月, 2018 1 次提交
  10. 17 9月, 2018 1 次提交
  11. 08 8月, 2018 2 次提交
  12. 20 7月, 2018 2 次提交
  13. 10 7月, 2018 1 次提交
  14. 08 6月, 2018 1 次提交
  15. 05 6月, 2018 2 次提交
  16. 16 5月, 2018 4 次提交
  17. 11 5月, 2018 4 次提交