Go to file
Weichao Guo 398c037d13 fsck.f2fs: use elapsed_time in checkpoint for period check
We now use walltime for monthly period check. However the walltime is:
* unstable(timestamp register reset) and settable(modified by user)
* unreasonable(e.g: device power-off for one month, no data changed)

When the walltime changes to the past before one month or the future
after one month, the period check in next fsck will fail to skip or
start a full scan. So, let's use the elapsed_time in checkpoint as
current time for period check.

Signed-off-by: Weichao Guo <guoweichao@oppo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:31:46 +08:00
.github/workflows ci: Enable -Wall, -Wextra and -Werror 2023-04-13 14:13:51 +08:00
fsck fsck.f2fs: use elapsed_time in checkpoint for period check 2024-04-15 11:31:46 +08:00
include f2fs-tools: use F2FS_BLKSIZE instead of PAGE_*_SIZE 2024-04-15 11:31:46 +08:00
lib Improve compile-time type checking for f2fs_report_zone() 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: catch total_zones=0 instead of crashing 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 triggering filesystem GC via ioctl 2024-04-15 11:31:46 +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 configure.ac: fix cross compilation 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.