[libvirt] [PATCH] esx: Add autodetection for the SCSI controller model

Daniel P. Berrange berrange at redhat.com
Wed Jul 7 11:19:57 UTC 2010


On Tue, Jul 06, 2010 at 08:19:55PM +0200, Matthias Bolte wrote:
> This works for file-backed SCSI disk device with a datastore
> related source path.
> ---
>  docs/drvesx.html.in            |    6 ++
>  docs/schemas/domain.rng        |    1 +
>  src/conf/domain_conf.c         |    1 +
>  src/conf/domain_conf.h         |    1 +
>  src/esx/esx_vi_generator.input |  149 +++++++++++++++++++++++++++++++++
>  src/esx/esx_vi_generator.py    |    3 +
>  src/esx/esx_vmx.c              |  180 +++++++++++++++++++++++++++++++++++++++-
>  src/esx/esx_vmx.h              |    8 ++-
>  8 files changed, 344 insertions(+), 5 deletions(-)
> 
> diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in
> index f4e7530..75c24cb 100644
> --- a/docs/drvesx.html.in
> +++ b/docs/drvesx.html.in
> @@ -292,6 +292,12 @@ ethernet0.checkMACAddress = "false"
>  
>      <h4>SCSI controller models</h4>
>      <dl>
> +        <dt><code>auto</code></dt>
> +        <dd>
> +            This isn't a actual controller model. If specified the ESX driver
> +            tries to detect the SCSI controller model referenced in the
> +            <code>.vmdk</code> file and use it. <span class="since">Since 0.8.3</span>
> +        </dd>
>          <dt><code>buslogic</code></dt>
>          <dd>
>              BusLogic SCSI controller for older guests.
> diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
> index b171d01..e090366 100644
> --- a/docs/schemas/domain.rng
> +++ b/docs/schemas/domain.rng
> @@ -673,6 +673,7 @@
>        <optional>
>          <attribute name="model">
>            <choice>
> +            <value>auto</value>
>              <value>buslogic</value>
>              <value>lsilogic</value>
>              <value>lsisas1068</value>

I don't really see how this can sensibly work.

A controller can have multiple disks associated with
it. Each associated disk has a drive address that uniquely
identifies its position on the controller.

Now consider a controller of mode 'auto' and attach two
disks to it. One VMDK specifies 'lsilogic' and the other
VMDK specifies 'lsisas1068'. This is not reconcilable
because you have 2 conflicting controller models, but have
associated both disks with the same controller object.
Furthermore both disks could be LUN 1 on their respective
controller, which means you'd now have a uniquness violation
on the drive address.

Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list