Go to file
liuchao12 9401f8f0eb resize.f2fs: add option to manually specify new overprovision
Make.f2fs supports manually specifying overprovision, and we expect
resize.f2fs to support it as well.

This change add a new '-o' option to manually specify overprovision,
and fix to check free space before grow. Otherwise, after grow,
kernel may report below error message when we mount the image if -o
parameter is specified during resize:

F2FS-fs (loop0): invalid crc_offset: 0
F2FS-fs (loop0): Wrong valid_user_blocks: 16404, user_block_count: 13312
F2FS-fs (loop0): Failed to get valid F2FS checkpoint
mount(2) system call failed: Structure needs cleaning.

Signed-off-by: liuchao12 <liuchao12@xiaomi.com>
Signed-off-by: qixiaoyu1 <qixiaoyu1@xiaomi.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Change-Id: I2ad0ecc5546a1712b7aa36230e91c3e0b1beb7e0
2024-04-15 11:31:38 +08:00
.github/workflows ci: Enable -Wall, -Wextra and -Werror 2023-04-13 14:13:51 +08:00
fsck resize.f2fs: add option to manually specify new overprovision 2024-04-15 11:31:38 +08:00
include android_config: add time headers 2024-04-15 11:29:16 +08:00
lib Check fallthrough in mount.h for Mac 2024-04-15 11:29:16 +08:00
m4 mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
man resize.f2fs: add option to manually specify new overprovision 2024-04-15 11:31:38 +08:00
mkfs Remove unnecessary config.h 2024-04-15 11:29:16 +08:00
scripts script: add simple test script 2016-04-18 21:11:26 -04:00
tools f2fs-tools: fix cannot get bdev information 2024-04-15 11:29:16 +08:00
.gitignore f2fs-tools: Add f2fs_io to .gitignore 2019-03-23 19:00:10 +09:00
AUTHORS mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
autogen.sh defrag.f2fs: introduce defragmentation tool 2015-12-11 15:58:50 -08:00
BUILD.gn f2fs_tools部件化 2022-08-23 10:40:59 +08:00
bundle.json 修改inner_kits配置 2024-03-19 06:34:01 +00:00
ChangeLog f2fs-tools: add fsck.f2fs and dump.f2fs 2013-07-04 23:15:25 +09:00
config.h 适配build.gn 2023-04-14 16:51:10 +08:00
configure.ac f2fs-tools: upgrade version 1.15.0 2023-04-13 14:13:52 +08:00
COPYING License tweak: LGPL v2.1 vs LGPL v2 2014-06-12 16:52:59 +09:00
License 开源文件更新 2024-01-22 14:12:59 +08:00
Makefile.am f2fs-tools: add f2fstat to print f2fs's status in sec 2014-01-14 17:48:35 +09:00
MODULE_LICENSE_GPL 增加开源声明文件 2024-01-25 10:30:22 +08:00
OAT.xml 单个模块扫描(三方软件)结果清零. 2022-02-16 16:22:31 +08:00
README.md configure.ac: Enable cross-compilation 2023-04-13 14:13:48 +08:00
README.OpenSource 适配build.gn 2023-04-14 16:51:10 +08:00
VERSION f2fs-tools: upgrade version 1.15.0 2023-04-13 14:13:52 +08:00
VERSIONING doc: add versioning rule 2018-11-21 11:38:23 -08:00

F2FS format utility

To use the f2fs filesystem, you should format the storage partition with this utility. Otherwise, you cannot mount f2fs.

Before compilation

You should install the following packages.

  • libuuid-devel or uuid-dev
  • autoconf
  • libtool
  • libselinux1-dev

Initial compilation

Before initial compilation, autoconf/automake tools should be run.

./autogen.sh

How to compile

./configure
make
make install

How to cross-compile (e.g., for ARM)

  1. Add the below line into mkfs/Makefile.am:
    mkfs_f2fs_LDFLAGS = -all-static

  2. Add the below line into fsck/Makefile.am:
    fsck_f2fs_LDFLAGS = -all-static

  3. then, do:
    LDFLAGS=--static ./configure
    --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
    make

How to run by default

mkfs.f2fs -l [LABEL] $DEV

For more mkfs options, see the man page.