• J
    virsh vol-upload/download disallow negative offset · 570d0f63
    John Ferlan 提交于
    https://bugzilla.redhat.com/show_bug.cgi?id=1087104
    
    Commit id 'c6212539' explicitly allowed a negative value to be used for
    offset and length as a shorthand for the largest value after commit id
    'f18c02ec' modified virStrToLong_ui() to essentially disallow a negative
    value.
    
    However, allowing a negative value for offset ONLY worked if the negative
    value was -1 since the eventual lseek() does allow a -1 to mean the end
    of the file.  Providing other negative values resulted in errors such as:
    
    $ virsh vol-download --pool default qcow3-vol2 /home/vm-images/raw \
      --offset -2 --length -1000
    error: cannot download from volume qcow3-vol2
    error: Unable to seek /home/vm-images/qcow3-vol2 to 18446744073709551614: Invalid argument
    
    $
    
    Thus, it seems unreasonable to expect or allow a negative value for offset
    since the only benefit is to lseek() to the end of the file and then only
    take advantage of how the OS would handle such a seek. For the purposes of
    upload or download of volume data, that seems to be a no-op.  Therefore,
    disallow a negative value for offset.
    
    Additionally, modify the man page for vol-upload and vol-download to provide
    more details regarding the valid values for both offset and length.
    570d0f63
virsh-volume.c 49.7 KB