diff --git a/src/runtime/config/configuration-fc.toml.in b/src/runtime/config/configuration-fc.toml.in index e28316cfa..28040aacc 100644 --- a/src/runtime/config/configuration-fc.toml.in +++ b/src/runtime/config/configuration-fc.toml.in @@ -126,11 +126,6 @@ block_device_driver = "@DEFBLOCKSTORAGEDRIVER_FC@" # Default false #block_device_cache_set = true -# Specifies cache-related options for block devices. -# Denotes whether use of O_DIRECT (bypass the host page cache) is enabled. -# Default false -#block_device_cache_direct = true - # Specifies cache-related options for block devices. # Denotes whether flush requests for the device are ignored. # Default false diff --git a/src/runtime/virtcontainers/fc.go b/src/runtime/virtcontainers/fc.go index e3348f68d..1ecf366b4 100644 --- a/src/runtime/virtcontainers/fc.go +++ b/src/runtime/virtcontainers/fc.go @@ -835,6 +835,17 @@ func (fc *firecracker) createDiskPool(ctx context.Context) error { PathOnHost: &jailedDrive, } + if fc.config.BlockDeviceCacheSet { + var cacheOption string + if fc.config.BlockDeviceCacheNoflush { + cacheOption = models.DriveCacheTypeUnsafe + } else { + cacheOption = models.DriveCacheTypeWriteback + } + + drive.CacheType = &cacheOption + } + fc.fcConfig.Drives = append(fc.fcConfig.Drives, drive) }