| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| use: [ |
| { |
| // Disables zxcrypt for minfs partitions. This argument is ignored |
| // when using Fxfs instead of minfs, which has its own encryption. |
| config: "fuchsia.fshost.NoZxcrypt", |
| key: "no_zxcrypt", |
| type: "bool", |
| }, |
| { |
| // Mounts FVM (or Fxfs, when fxfs_blob is set) and its contained |
| // volumes in a ramdisk. On-disk FVM partitions will also be |
| // mounted, but its data and blob filesystems will not be mounted. |
| config: "fuchsia.fshost.RamdiskImage", |
| key: "ramdisk_image", |
| type: "bool", |
| }, |
| { |
| // Enables all GPT devices. |
| config: "fuchsia.fshost.GptAll", |
| key: "gpt_all", |
| type: "bool", |
| }, |
| { |
| // Enables checking filesystems before mounting (if supported). |
| config: "fuchsia.fshost.CheckFilesystems", |
| key: "check_filesystems", |
| type: "bool", |
| }, |
| { |
| // Maximum number of bytes a blobfs partition can grow to. This |
| // applies only to non-ramdisk partitions unless |
| // "apply-limits-to-ramdisk" is set. |
| config: "fuchsia.fshost.BlobfsMaxBytes", |
| key: "blobfs_max_bytes", |
| type: "uint64", |
| }, |
| { |
| // Maximum number of bytes the data partition can grow to. This |
| // applies only to non-ramdisk partitions unless |
| // "apply-limits-to-ramdisk" is set. |
| config: "fuchsia.fshost.DataMaxBytes", |
| key: "data_max_bytes", |
| type: "uint64", |
| }, |
| { |
| // Automatically formats the data partition if it is found to be |
| // corrupted. |
| config: "fuchsia.fshost.FormatDataOnCorruption", |
| key: "format_data_on_corruption", |
| type: "bool", |
| }, |
| { |
| // Use the given format as the filesystem for the data partition. |
| config: "fuchsia.fshost.DataFilesystemFormat", |
| key: "data_filesystem_format", |
| type: "string", |
| max_size: 64, |
| }, |
| { |
| // Enables NAND devices. |
| config: "fuchsia.fshost.Nand", |
| key: "nand", |
| type: "bool", |
| }, |
| { |
| // Enables blobfs partitions. |
| config: "fuchsia.fshost.Blobfs", |
| key: "blobfs", |
| type: "bool", |
| }, |
| { |
| // Enables bootpart partitions. |
| config: "fuchsia.fshost.BootPart", |
| key: "bootpart", |
| type: "bool", |
| }, |
| { |
| // Enables the factory partition (small partition of settings set |
| // in the factory and never written to otherwise). |
| config: "fuchsia.fshost.Factory", |
| key: "factory", |
| type: "bool", |
| }, |
| { |
| // Enables a single FVM device. |
| config: "fuchsia.fshost.Fvm", |
| key: "fvm", |
| type: "bool", |
| }, |
| { |
| // Enables a single GPT device. |
| config: "fuchsia.fshost.Gpt", |
| key: "gpt", |
| type: "bool", |
| }, |
| { |
| // Enables MBR devices. |
| config: "fuchsia.fshost.Mbr", |
| key: "mbr", |
| type: "bool", |
| }, |
| { |
| // If set, the GPT component will merge `super` and `userdata` into an overlay `fxfs` |
| // partition. |
| config: "fuchsia.fshost.MergeSuperAndUserdata", |
| key: "merge_super_and_userdata", |
| type: "bool", |
| }, |
| { |
| // Enables data partitions. |
| config: "fuchsia.fshost.Data", |
| key: "data", |
| type: "bool", |
| }, |
| { |
| // If true, we will attempt to migrate to minfs by creating a second |
| // fxfs partition and copying data over to it. This removes the risk |
| // of power loss leading to factory reset but can only be done on |
| // devices with sufficient free space. |
| config: "fuchsia.fshost.UseDiskMigration", |
| key: "use_disk_migration", |
| type: "bool", |
| }, |
| { |
| // Disables the block watcher. This prevents fshost from binding |
| // drivers and launching filesystems using devices that appear in |
| // /dev. |
| config: "fuchsia.fshost.DisableBlockWatcher", |
| key: "disable_block_watcher", |
| type: "bool", |
| }, |
| { |
| // Slice size of the FVM partition used when reprovisioning storage. |
| config: "fuchsia.fshost.FvmSliceSize", |
| key: "fvm_slice_size", |
| type: "uint64", |
| }, |
| { |
| // Initial number of inodes to format Blobfs with when |
| // reprovisioning storage. If set to zero, the default value in |
| // Blobfs is used instead. |
| config: "fuchsia.fshost.BlobfsInitialInodes", |
| key: "blobfs_initial_inodes", |
| type: "uint64", |
| }, |
| { |
| // If true, use derecated blob format (padded Merkle tree at start) |
| // when formatting Blobfs. |
| config: "fuchsia.fshost.BlobfsUseDeprecatedPaddedFormat", |
| key: "blobfs_use_deprecated_padded_format", |
| type: "bool", |
| }, |
| { |
| // If true, blobfs is stored on fxfs. |
| config: "fuchsia.fshost.FxfsBlob", |
| key: "fxfs_blob", |
| type: "bool", |
| }, |
| { |
| // Path to the fxfs_crypt component. |
| config: "fuchsia.fshost.FxfsCryptUrl", |
| key: "fxfs_crypt_url", |
| type: "string", |
| max_size: 64, |
| }, |
| { |
| // Whether the storage-host stack should be used instead of the legacy DFv2-based |
| // storage stack. |
| config: "fuchsia.fshost.StorageHost", |
| key: "storage_host", |
| type: "bool", |
| }, |
| { |
| config: "fuchsia.fshost.DisableAutomount", |
| key: "disable_automount", |
| type: "bool", |
| availability: "optional", |
| default: false, |
| }, |
| { |
| config: "fuchsia.fshost.StarnixVolumeName", |
| key: "starnix_volume_name", |
| type: "string", |
| max_size: 64, |
| }, |
| { |
| // Enables inline encryption and barriers. Tests can enable barriers without inline |
| // encryption via StartupOptions. |
| config: "fuchsia.fshost.InlineCrypto", |
| key: "inline_crypto", |
| type: "bool", |
| }, |
| { |
| config: "fuchsia.blobfs.WriteCompressionAlgorithm", |
| key: "blobfs_write_compression_algorithm", |
| type: "string", |
| max_size: 20, |
| availability: "optional", |
| default: "zstd_chunked", |
| }, |
| { |
| config: "fuchsia.blobfs.CacheEvictionPolicy", |
| key: "blobfs_cache_eviction_policy", |
| type: "string", |
| max_size: 20, |
| availability: "optional", |
| default: "never_evict", |
| }, |
| { |
| /// If true, provision the "super_and_userdata" partition with Fxfs. |
| config: "fuchsia.fshost.ProvisionFxfs", |
| key: "provision_fxfs", |
| type: "bool", |
| }, |
| ], |
| } |