• M
    qga: don't fail if mount doesn't have slave devices · 8251a72f
    Michael Roth 提交于
    In some cases the slave devices of a virtual block device are tracked
    by the parent in the corresponding sysfs node. For instance, if we
    have a loop-back mount of the form:
    
      /dev/loop3p1 on /home/mdroth/mnt type ext4 (rw,relatime,data=ordered)
    
    this will be reflected in sysfs as:
    
      /sys/devices/virtual/block/loop3/
      ...
      /sys/devices/virtual/block/loop3/slaves
      /sys/devices/virtual/block/loop3/loop3p1
    
    The current code however assumes the mounted virtual block device,
    loop3p1 in this case, contains the slaves directory, and reports an
    error otherwise. This breaks 'make check' in certain environments.
    
    Fix this by simply skipping attempts to generate disk topology
    information in these cases. Since this information is documented
    in QAPI as optionally-reported, this should be ok from an API
    perspective.
    
    In the future, this can possibly be improved upon by collecting
    topology information from the parent in these cases.
    Reported-by: NPeter Maydell <peter.maydell@linaro.org>
    Cc: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
    Tested-by: NPeter Maydell <peter.maydell@linaro.org>
    8251a72f
commands-posix.c 68.7 KB