Go to file
Juhyung Park 7a64f18f69 fsck.f2fs: fix sanity check logic for cp_payload
cp_payload is set differently [1] when extended node bitmap feature is
enabled. Commit b79c3ba4ea broke fsck on f2fs file systems created on
2+ TB device with extended node bitmap feature enabled.

As the sanity check is for checking overflows, fix this to assume the max
possible cp_payload size under the extended node bitmap.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/tree/mkfs/f2fs_format.c?h=v1.15.0#n372 [1]
Fixes: b79c3ba4ea ("fsck.f2fs: sanity check cp_payload before reading checkpoint")
Reported-by: Alexander Koskovich <akoskovich@pm.me>
Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:31:47 +08:00
.github/workflows ci: Enable -Wall, -Wextra and -Werror 2023-04-13 14:13:51 +08:00
fsck fsck.f2fs: fix sanity check logic for cp_payload 2024-04-15 11:31:47 +08:00
include fsck.f2fs: fix sanity check logic for cp_payload 2024-04-15 11:31:47 +08:00
lib mkfs.f2fs: remove indentation 2024-04-15 11:31:46 +08:00
m4 mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
man f2fs_io: support triggering filesystem GC via ioctl 2024-04-15 11:31:46 +08:00
mkfs mkfs.f2fs: trim all the devices except the first one 2024-04-15 11:31:46 +08:00
scripts script: add simple test script 2016-04-18 21:11:26 -04:00
tools f2fs_io: support AES_256_HCTR2 2024-04-15 11:31:46 +08:00
.gitignore f2fs-tools: Remove deprecated f2fstat 2024-04-15 11:31:46 +08: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 Remove sg_write_buffer 2024-04-15 11:31:46 +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.