File System Creation

A S3QL file system is created with the mkfs.s3ql command. It has the following syntax:

mkfs.s3ql [options] <storage url>

This command accepts the following options:

--cachedir <path>

Store cached data in this directory (default: ~/.s3ql)

--log <target>

Destination for log messages. Specify none for standard output or syslog for the system logging daemon. Anything else will be interpreted as a file name. Log files will be rotated when they reach 1 MiB, and at most 5 old log files will be kept. Default: None

--debug-modules <modules>

Activate debugging output from specified modules (use commas to separate multiple modules, ‘all’ for everything). Debug messages will be written to the target specified by the --log option.

--debug

Activate debugging output from all S3QL modules. Debug messages will be written to the target specified by the --log option.

--quiet

be really quiet

--backend-options <options>

Backend specific options (separate by commas). See backend documentation for available options.

--version

just print program version and exit

--authfile <path>

Read authentication credentials from this file (default: ~/.s3ql/authinfo2)

-L <name>

Filesystem label

--data-block-size <size>

Block size (in KiB) to use for storing file contents. Files larger than this size will be stored in multiple backend objects. Backend object size may be smaller than this due to compression. Default: 1024 KiB.

--metadata-block-size <size>

Block size (in KiB) to use for storing filesystem metadata. Backend object size may be smaller than this due to compression. Default: 64 KiB.

--plain

Create unencrypted file system.

Unless you have specified the --plain option, mkfs.s3ql will ask you to enter an encryption password. This password will not be read from an authentication file specified with the --authfile option to prevent accidental creation of an encrypted file system.

Note that:

  • All data that is stored under the given storage url is assumed to managed exclusively by S3QL. Trying to manually save additional objects (or remove or manipulate existing objects) will lead to file system corruption, and fsck.s3ql may delete objects that do not belong to the file system.

  • With most storage backends, slashes in the storage url prefix do not have special meaning. For example, the storage urls s3://mybucket/myprefix/ and s3://mybucket/myprefix are distinct. In the first case, the prefix is myprefix/, while in the second it is myprefix.

  • S3QL file systems can not be “stacked”, i.e. you cannot have one file system stored at s3://bucketname/outerprefix and a second one at s3://bucketname/outerprefix/innerprefix.