• E
    qemu: improve efficiency of dd during snapshots · 8e42c50b
    Eric Blake 提交于
    POSIX states about dd:
    
    If the bs=expr operand is specified and no conversions other than
    sync, noerror, or notrunc are requested, the data returned from each
    input block shall be written as a separate output block; if the read
    returns less than a full block and the sync conversion is not
    specified, the resulting output block shall be the same size as the
    input block. If the bs=expr operand is not specified, or a conversion
    other than sync, noerror, or notrunc is requested, the input shall be
    processed and collected into full-sized output blocks until the end of
    the input is reached.
    
    Since we aren't using conv=sync, there is no zero-padding, but our
    use of bs= means that a short read results in a short write.  If
    instead we use ibs= and obs=, then short reads are collected and dd
    only has to do a single write, which can make dd more efficient.
    
    * src/qemu/qemu_monitor.c (qemuMonitorMigrateToFile):
    Avoid 'dd bs=', since it can cause short writes.
    8e42c50b
qemu_monitor.c 53.5 KB