diff --git a/virtcontainers/acrn_arch_base.go b/virtcontainers/acrn_arch_base.go index 61197ea2fc..8e447ed16e 100644 --- a/virtcontainers/acrn_arch_base.go +++ b/virtcontainers/acrn_arch_base.go @@ -360,8 +360,6 @@ func (a *acrnArchBase) memoryTopology(memoryMb uint64) Memory { func (a *acrnArchBase) capabilities() types.Capabilities { var caps types.Capabilities - // For devicemapper disable support for filesystem sharing - caps.SetFsSharingUnsupported() caps.SetBlockDeviceSupport() caps.SetBlockDeviceHotplugSupport() diff --git a/virtcontainers/fc.go b/virtcontainers/fc.go index 26a60cb2ce..d2e39af16d 100644 --- a/virtcontainers/fc.go +++ b/virtcontainers/fc.go @@ -1065,7 +1065,6 @@ func (fc *firecracker) capabilities() types.Capabilities { span, _ := fc.trace("capabilities") defer span.Finish() var caps types.Capabilities - caps.SetFsSharingUnsupported() caps.SetBlockDeviceHotplugSupport() return caps diff --git a/virtcontainers/qemu_amd64.go b/virtcontainers/qemu_amd64.go index 69ceb4f519..1a5b266937 100644 --- a/virtcontainers/qemu_amd64.go +++ b/virtcontainers/qemu_amd64.go @@ -119,6 +119,7 @@ func (q *qemuAmd64) capabilities() types.Capabilities { } caps.SetMultiQueueSupport() + caps.SetFsSharingSupport() return caps } diff --git a/virtcontainers/qemu_arch_base.go b/virtcontainers/qemu_arch_base.go index a2af89f8b3..9d72dd09f2 100644 --- a/virtcontainers/qemu_arch_base.go +++ b/virtcontainers/qemu_arch_base.go @@ -271,6 +271,7 @@ func (q *qemuArchBase) capabilities() types.Capabilities { var caps types.Capabilities caps.SetBlockDeviceHotplugSupport() caps.SetMultiQueueSupport() + caps.SetFsSharingSupport() return caps } diff --git a/virtcontainers/types/capabilities.go b/virtcontainers/types/capabilities.go index fbd86a6209..28772f1b73 100644 --- a/virtcontainers/types/capabilities.go +++ b/virtcontainers/types/capabilities.go @@ -9,7 +9,7 @@ const ( blockDeviceSupport = 1 << iota blockDeviceHotplugSupport multiQueueSupport - fsSharingUnsupported + fsSharingSupported ) // Capabilities describe a virtcontainers hypervisor capabilities @@ -50,10 +50,10 @@ func (caps *Capabilities) SetMultiQueueSupport() { // IsFsSharingSupported tells if an hypervisor supports host filesystem sharing. func (caps *Capabilities) IsFsSharingSupported() bool { - return caps.flags&fsSharingUnsupported == 0 + return caps.flags&fsSharingSupported != 0 } // SetFsSharingUnsupported sets the host filesystem sharing capability to true. -func (caps *Capabilities) SetFsSharingUnsupported() { - caps.flags |= fsSharingUnsupported +func (caps *Capabilities) SetFsSharingSupport() { + caps.flags |= fsSharingSupported } diff --git a/virtcontainers/types/capabilities_test.go b/virtcontainers/types/capabilities_test.go index 36b7c3e6c1..375cd8ce9b 100644 --- a/virtcontainers/types/capabilities_test.go +++ b/virtcontainers/types/capabilities_test.go @@ -30,7 +30,7 @@ func TestBlockDeviceHotplugCapability(t *testing.T) { func TestFsSharingCapability(t *testing.T) { var caps Capabilities - assert.True(t, caps.IsFsSharingSupported()) - caps.SetFsSharingUnsupported() assert.False(t, caps.IsFsSharingSupported()) + caps.SetFsSharingSupport() + assert.True(t, caps.IsFsSharingSupported()) }