On 2013年01月04日 08:21, Eric Blake wrote:
On 01/02/2013 07:37 AM, Osier Yang wrote:
> Like "rawio", "sgio" is only allowed for block disk of device
> type "lun".
>
> It doesn't default disk->sgio to "filtered" when parsing, as
> it won't be able to distinguish explicitly requested "filtered"
> and a default "filtered" in driver then. We have to error out for
> explicit request when the kernel doesn't support the new sysfs
> knob "unpriv_sgio", however, for defaulted "filtered", we can
> just ignore it if the kernel doesn't support "unpriv_sgio".
> ---
> src/conf/domain_conf.c | 55 +++++++++++++++-----
> src/conf/domain_conf.h | 10 ++++
> ...qemuxml2argv-disk-scsi-lun-passthrough-sgio.xml | 32 +++++++++++
> tests/qemuxml2xmltest.c | 1 +
> 4 files changed, 85 insertions(+), 13 deletions(-)
> create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough-sgio.xml
>
> +enum virDomainDiskSGIO {
> + VIR_DOMAIN_DISK_SGIO_DEFAULT = 0,
> + VIR_DOMAIN_DISK_SGIO_FILTERED,
> + VIR_DOMAIN_DISK_SGIO_UNFILTERED,
> +
> + VIR_DOMAIN_DISK_SGIO_LAST
> +};
> +
> typedef struct _virDomainBlockIoTuneInfo virDomainBlockIoTuneInfo;
> struct _virDomainBlockIoTuneInfo {
> unsigned long long total_bytes_sec;
> @@ -638,6 +646,7 @@ struct _virDomainDiskDef {
> virStorageEncryptionPtr encryption;
> bool rawio_specified;
> int rawio; /* no = 0, yes = 1 */
Don't know why we didn't make this 'bool', but that's pre-existing
and
would be a separate cleanup patch.
> + int sgio;
I'd add /* enum virDomainDiskSGIO */, to make it easier to see what goes
in this int.
Okay, will add it when pushing.
ACK.