On 05/21/2018 12:46 PM, Daniel P. Berrangé wrote: > One of the tests checks the ability to boot multiple guests at once, and > it is using the same (empty) disk image for all. Modern QEMU rejects > this sharing, but it is harmless in context of this test case, so we > mark the disk as shareable to allow it. > > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> Reviewed-by: Laine Stump <laine@xxxxxxxxx> > --- > lib/Sys/Virt/TCK.pm | 6 +++++- > lib/Sys/Virt/TCK/DomainBuilder.pm | 3 +++ > scripts/domain/081-unique-id-create.t | 4 ++-- > 3 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/lib/Sys/Virt/TCK.pm b/lib/Sys/Virt/TCK.pm > index e7ff71b..ac9c125 100644 > --- a/lib/Sys/Virt/TCK.pm > +++ b/lib/Sys/Virt/TCK.pm > @@ -782,6 +782,7 @@ sub generic_machine_domain { > my $caps = exists $params{caps} ? $params{caps} : die "caps parameter is required"; > my $ostype = exists $params{ostype} ? $params{ostype} : "hvm"; > my $fullos = exists $params{fullos} ? $params{fullos} : 0; > + my $shareddisk = exists $params{shareddisk} ? $params{shareddisk} : 0; > my $filterref = exists $params{filterref} ? $params{filterref} : undef; > my %filterparams = exists $params{filterparams} ? %{$params{filterparams}} : (); > > @@ -857,7 +858,8 @@ sub generic_machine_domain { > > $b->disk(src => $config{root}, > dst => $config{dev}, > - type => "file"); > + type => "file", > + shareable => $shareddisk); > return $b; > } > } > @@ -915,6 +917,7 @@ sub generic_domain { > my $ostype = exists $params{ostype} ? $params{ostype} : "hvm"; > my $fullos = exists $params{fullos} ? $params{fullos} : 0; > my $netmode = exists $params{netmode} ? $params{netmode} : undef; > + my $shareddisk = exists $params{shareddisk} ? $params{shareddisk} : 0; > my $filterref = exists $params{filterref} ? $params{filterref} : undef; > my %filterparams = exists $params{filterparams} ? %{$params{filterparams}} : (); > > @@ -936,6 +939,7 @@ sub generic_domain { > $b = $self->generic_machine_domain(name => $name, > caps => $caps, > ostype => $ostype, > + shareddisk => $shareddisk, > fullos => $fullos, > filterref => $filterref, > filterparams => \%filterparams); > diff --git a/lib/Sys/Virt/TCK/DomainBuilder.pm b/lib/Sys/Virt/TCK/DomainBuilder.pm > index b6adbd3..5ca2a07 100644 > --- a/lib/Sys/Virt/TCK/DomainBuilder.pm > +++ b/lib/Sys/Virt/TCK/DomainBuilder.pm > @@ -409,6 +409,9 @@ sub as_xml { > $w->emptyTag("source", > file => $disk->{src}); > } > + if ($disk->{shareable}) { > + $w->emptyTag("shareable"); > + } > $w->emptyTag("target", > dev => $disk->{dst}, > $disk->{bus} ? (bus => $disk->{bus}) : ()); > diff --git a/scripts/domain/081-unique-id-create.t b/scripts/domain/081-unique-id-create.t > index 07143a5..0d53599 100644 > --- a/scripts/domain/081-unique-id-create.t > +++ b/scripts/domain/081-unique-id-create.t > @@ -54,13 +54,13 @@ my $uuid1 = "11111111-1111-1111-1111-111111111111"; > my $uuid2 = "22222222-1111-1111-1111-111111111111"; > > # The initial config > -my $xml = $tck->generic_domain(name => $name1)->uuid($uuid1)->as_xml; > +my $xml = $tck->generic_domain(name => $name1, shareddisk => 1)->uuid($uuid1)->as_xml; > # One with a different UUID, matching name > my $xml_diffuuid = $tck->generic_domain(name => $name1)->uuid($uuid2)->as_xml; > # One with a matching UUID, different name > my $xml_diffname = $tck->generic_domain(name => $name2)->uuid($uuid1)->as_xml; > # One with a different UUID, different name > -my $xml_diffboth = $tck->generic_domain(name => $name2)->uuid($uuid2)->as_xml; > +my $xml_diffboth = $tck->generic_domain(name => $name2, shareddisk => 1)->uuid($uuid2)->as_xml; > > diag "Defining persistent domain config"; > my ($dom, $dom1); -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list