• E
    qga: Better mapping of SEEK_* in guest-file-seek · 0a982b1b
    Eric Blake 提交于
    Exposing OS-specific SEEK_ constants in our qapi was a mistake
    (if the host has SEEK_CUR as 1, but the guest has it as 2, then
    the semantics are unclear what should happen); if we had a time
    machine, we would instead expose only a symbolic enum.  It's too
    late to change the fact that we have an integer in qapi, but we
    can at least document what mapping we want to enforce for all
    qga clients (and luckily, it happens to be the mapping that both
    Linux and Windows use); then fix the code to match that mapping.
    It also helps us filter out unsupported SEEK_DATA and SEEK_HOLE.
    
    In the future, we may wish to move our QGA_SEEK_* constants into
    qga/qapi-schema.json, along with updating the schema to take an
    alternate type (either the integer, or the string value of the
    enum name) - but that's too much risk during hard freeze.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
    0a982b1b
qapi-schema.json 27.6 KB