Go to file
Jordan Webb 7adec5bc39 f2fs-tools: Make sload.f2fs reproduce hard links
commit 747b74cb9c
category: bugfix
issue: #I6VAS0
CVE: NA

Signed-off-by: DongSenhao <dongsenhao2@huawei.com>
---------------------------------------

If sload.f2fs encounters a file with nr_links > 1, it will mark it
as a possible hard link by remembering the original device and
inode. When sload.f2fs creates the file, it will check if it has
already created a file for the same original device and inode. If
so, it will add the original inode to the directory and increment
the number of links to it, instead of writing a new inode.

This allows sload.f2fs to accurately reproduce a directory tree that
contains hard links, such as those created by ostree. Without this
patch, directory trees containing hard links result in the content of
the files being duplicated.

This is version 2 of the patch; it has been rebased against the dev
branch and includes a fix from Jaegeuk Kim to avoid building data
contents twice on hard linked files.

Co-authored-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Jordan Webb <jordan@getseam.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: dongsenhao <dongsenhao2@huawei.com>
2023-04-13 14:13:44 +08:00
fsck f2fs-tools: Make sload.f2fs reproduce hard links 2023-04-13 14:13:44 +08:00
include f2fs-tools:sload.f2fs compression support 2023-04-13 14:13:44 +08:00
lib f2fs-tools:sload.f2fs compression support 2023-04-13 14:13:44 +08:00
m4 mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
man f2fs-tools:sload.f2fs compression support 2023-04-13 14:13:44 +08:00
mkfs mkfs.f2fs: show a message when compression is enabled 2023-04-13 14:13:44 +08:00
scripts script: add simple test script 2016-04-18 21:11:26 -04:00
tools f2fs_io: add compress/decompress commands 2023-04-13 14:13:44 +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 f2fs_tools部件化 2022-08-23 10:40:59 +08:00
ChangeLog f2fs-tools: add fsck.f2fs and dump.f2fs 2013-07-04 23:15:25 +09:00
config.h BUILD.gn and config.h modify Huawei license to GPL-2.0 license.Add #ifndef CONFIG_H #define CONFIG_H on the head of file and #endif on the end of config.h. Modify the value of Name in README.OpenSource. 2021-12-20 21:44:20 +08:00
configure.ac f2fs-tools:sload.f2fs compression support 2023-04-13 14:13:44 +08:00
COPYING License tweak: LGPL v2.1 vs LGPL v2 2014-06-12 16:52:59 +09:00
Makefile.am f2fs-tools: add f2fstat to print f2fs's status in sec 2014-01-14 17:48:35 +09:00
OAT.xml 单个模块扫描(三方软件)结果清零. 2022-02-16 16:22:31 +08:00
README.md Rename file README to README.md 2022-05-11 19:10:55 +08:00
README.OpenSource README.OpenSource format modification 2022-05-26 18:31:53 +08:00
VERSION f2fs-tools: release 1.14.0 2020-08-24 14:55:54 -07:00
VERSIONING doc: add versioning rule 2018-11-21 11:38:23 -08:00

F2FS format utilility

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

Before compilation

You should install the following packages.

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

Initial compilation

Before compilation initially, 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 man page.