On 10/24/2011 09:37 AM, Kevin Wolf wrote:
Why? cache=unsafe is explicitly allowing to s/data/manure/ on
crash.
It's surely expected on a host crash, but is it for a qemu crash?
cache=unsafe was introduced to avoid fsync() costs, which it still
does after this patch.
I think it's not about "why is it there", but rather about "what is it
useful for". My interpretation of it is "I do not need the image
anymore unless the command exits cleanly": VM installations, qemu-img
conversions, BDRV_O_SNAPSHOT (doesn't do it yet, but it could). Even
SIGINT and SIGTERM would be excluded from this definition, but they cost
nothing so it's nice to include them.
If you do this for raw-posix, you need to do it for all protocols.
rbd could use it, too, right. Any other protocol I missed?
NBD could, but it doesn't support flush yet.
In general, even if it were useful to implement this, I'm not sure this
is the best way to implement it. For example you could simply clear
BDRV_O_NO_FLUSH in qcow2_open.
Paolo