On 07/20/2010 11:02 AM, Jes Sorensen wrote:
On 07/20/10 17:40, Anthony Liguori wrote:
On 07/20/2010 10:17 AM, jes.soren...@redhat.com wrote:
From: Jes Sorensen<jes.soren...@redhat.com>

O_DIRECT (cache=none) requires sector alignment, however the physical
sector size of CDROM/DVD drives is 2048, as opposed to most disk
devices which use 512. QEMU is hard coding 512 all over the place, so
allowing O_DIRECT for CDROM/DVD devices does not work.

Signed-off-by: Jes Sorensen<jes.soren...@redhat.com>

Wouldn't a better solution be to have a cdrom_read/cdrom_write hook that
did the appropriate bouncing?

Silently disabling something a user explicitly asked for is not a good
option.  In the very least, it should error out entirely.
I thought about this, but it would require basically fixing up or
copying all of the pread/pwrite code to use the right block size. This
is really more of a band-aid but it should be pretty safe.

Please throw an error. If a user explicitly asks for something, and we can provide it, we should not continue. Changing it to something else is a bug.

That doesn't apply when we're changing a default value, but if the user asks for something, we should give it to them or fail.

Regards,

Anthony Liguori

Cheers,
Jes


Reply via email to