Il 23/07/2013 15:36, Daniel P. Berrange ha scritto:
On Tue, Jul 23, 2013 at 03:29:40PM +0200, Paolo Bonzini wrote:
> Il 23/07/2013 15:26, Daniel P. Berrange ha scritto:
>>>>
>>>> Ok, this answers my question. :)
>>>>
>>>> I think the default mode should be direct, because otherwise things such
>>>> as persistent reservations do not work.
>> No, the default has to be host mode, because that is the only mode that
>> is guaranteed to be usable with any QEMU. The direct mode requires a
>> QEMU that is new enough, and a distro to have enabled it. We can't
>> rely on that as a default choice.
>
> Volume sources are also new enough that you can assume a good QEMU.
No we can't assume that. New libvirt is frequently used with old QEMU
and we want to have good default behaviour there.
New libvirt, yes. But can't new libvirt features also assume a new QEMU
if the old one causes more trouble than anything?
> Host mode for iSCSI is broken. It also doesn't reconnect
well if you
> have a network problem, because after a LUN rescan the inode may change.
That's a much smaller level of brokeness, than if QEMU doesn't support
the iscsi block protocol & thus the default configuration won't even
boot.
Failure to reconnect is not part of the brokenness. :)
If you use host mode and the guest issues reservation commands, you may
get data corruption. That is the brokenness.
Another difference is that direct mode doesn't require the pool to be
started before starting the domain. For authenticated iSCSI LUNs, this
is better because you cannot autostart authenticated iSCSI pools.
Perhaps the default could be specified in a configuration file (and the
default should be the safe one).
Paolo