diff --git a/virtcontainers/capabilities.go b/virtcontainers/capabilities.go index 6eb34c3b81..72716ddb24 100644 --- a/virtcontainers/capabilities.go +++ b/virtcontainers/capabilities.go @@ -9,6 +9,7 @@ const ( blockDeviceSupport = 1 << iota blockDeviceHotplugSupport multiQueueSupport + fsSharingUnsupported ) type capabilities struct { @@ -47,3 +48,11 @@ func (caps *capabilities) isMultiQueueSupported() bool { func (caps *capabilities) setMultiQueueSupport() { caps.flags |= multiQueueSupport } + +func (caps *capabilities) isFsSharingSupported() bool { + return caps.flags&fsSharingUnsupported == 0 +} + +func (caps *capabilities) setFsSharingUnsupported() { + caps.flags |= fsSharingUnsupported +} diff --git a/virtcontainers/capabilities_test.go b/virtcontainers/capabilities_test.go index 91bde2fe55..3396989a85 100644 --- a/virtcontainers/capabilities_test.go +++ b/virtcontainers/capabilities_test.go @@ -34,3 +34,17 @@ func TestBlockDeviceHotplugCapability(t *testing.T) { t.Fatal() } } + +func TestFsSharingCapability(t *testing.T) { + var caps capabilities + + if !caps.isFsSharingSupported() { + t.Fatal() + } + + caps.setFsSharingUnsupported() + + if caps.isFsSharingSupported() { + t.Fatal() + } +}