.\" Copyright (c) 2012 Samsung Electronics Co., Ltd.
.\"             http://www.samsung.com/
.\"  Written by Jaegeuk Kim <jaegeuk.kim@samsung.com>
.\"
.TH MKFS.F2FS 8
.SH NAME
mkfs.f2fs \- create an F2FS file system
.SH SYNOPSIS
.B mkfs.f2fs
[
.B \-a
.I heap-based-allocation
]
[
.B \-c
.I device
]
[
.B \-d
.I debugging-level
]
[
.B \-e
.I extension-list
]
[
.B \-f
]
[
.B \-l
.I volume-label
]
[
.B \-m
]
[
.B \-o
.I overprovision-ratio-percentage
]
[
.B \-O
.I feature-list
]
[
.B \-q
]
[
.B \-R
.I root_owner
]
[
.B \-s
.I #-of-segments-per-section
]
[
.B \-t
.I nodiscard/discard
]
[
.B \-w
.I specific sector_size for target sectors
]
[
.B \-z
.I #-of-sections-per-zone
]
.I device
.I [sectors]
.SH DESCRIPTION
.B mkfs.f2fs
is used to create a f2fs file system (usually in a disk partition).
\fIdevice\fP is the special file corresponding to the device (e.g.
\fI/dev/sdXX\fP).
\fIsectors\fP is optionally given for specifing the filesystem size.
.PP
The exit code returned by
.B mkfs.f2fs
is 0 on success and 1 on failure.
.SH OPTIONS
.TP
.BI \-a " heap-based-allocation"
Specify 1 or 0 to enable/disable heap based block allocation policy.
If the value is equal to 1, each of active log areas are initially
assigned separately according to the whole volume size.
The default value is 1.
.TP
.BI \-c " device"
Build f2fs with this device additionally, so that user can see all
the devices as one big volume.
.TP
.BI \-d " debug-level"
Specify the level of debugging options.
The default number is 0, which shows basic debugging messages.
.TP
.BI \-e " extension-list"
Specify a file extension list in order f2fs to treat them as cold files.
The data of files having those extensions will be stored to the cold log.
The default list includes most of multimedia file extensions such as jpg, gif,
mpeg, mkv, and so on.
.TP
.BI \-f
Force overwrite when an existing filesystem is detected on the device.
By default, mkfs.f2fs will not write to the device if it suspects that
there is a filesystem or partition table on the device already.
.TP
.BI \-l " volume-label"
Specify the volume label to the partition mounted as F2FS.
.TP
.BI \-m
Specify f2fs filesystem to supports the block zoned feature.
Without it, the filesystem isn't supports the feature.
.TP
.BI \-o " overprovision-ratio-percentage"
Specify the percentage over the volume size for overprovision area. This area
is hidden to users, and utilized by F2FS cleaner. If not specified, the best
number will be assigned automatically accoring to the partition size.
.TP
.BI \-O " feature-list"
Specify a feature list like feature1[feature2,feature3,...] in order f2fs
filesystem will supports.
e.g "encrypt" and so on.
.TP
.BI \-q
Quiet mode.
With it, mkfs.f2fs does not show any messages include the basic messages.
.TP
.BI \-R
Give root_owner option for initial uid/gid assignment.
Default is set by getuid()/getgid(), and assigned by "-R $uid:$gid".
.TP
.BI \-s " #-of-segments-per-section"
Specify the number of segments per section. A section consists of
multiple consecutive segments, and is the unit of garbage collection.
The default number is 1, which means one segment is assigned to a section.
.TP
.BI \-t " nodiscard/discard"
Specify 1 or 0 to enable/disable discard policy.
If the value is equal to 1, discard policy is enabled, otherwise is disable.
The default value is 1.
.TP
.BI \-w "sector-size"
Specify the sector size in bytes along with given target sectors.
Without it, the sectors will be calculated by device sector size.
.TP
.BI \-z " #-of-sections-per-zone"
Specify the number of sections per zone. A zone consists of multiple sections.
F2FS allocates segments for active logs with separated zones as much as possible.
The default number is 1, which means a zone consists of one section.
.TP
.SH AUTHOR
This version of
.B mkfs.f2fs
has been written by Jaegeuk Kim <jaegeuk.kim@samsung.com>.
.SH AVAILABILITY
.B mkfs.f2fs
is available from git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git.
.SH SEE ALSO
.BR mkfs (8),
.BR fsck.f2fs(8),
.BR dump.f2fs(8),
.BR defrag.f2fs(8),
.BR resize.f2fs(8),
.BR sload.f2fs(8).
