Go to file
Jaegeuk Kim 2c1ebe237a defrag.f2fs: introduce defragmentation tool
This tool tries to move the valid blocks ranging from blkaddr to blkaddr + len
to targeted blkaddr with a direction like expand or shrink.

The option includes:
 -d debug level [default:0]
 -s start block address [default: main_blkaddr]
 -l length [default:512 (2MB)]
 -t target block address [default: main_blkaddr + 2MB]
 -i set direction as shrink [default: expand]

For example,
 # defrag.f2fs -s 0x100 -l 0x10 -t 0x4000 /dev/sdb1

This will move data blocks between 0x100 and 0x110 to the right side of
0x4000 space.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-12-11 15:58:50 -08:00
fsck defrag.f2fs: introduce defragmentation tool 2015-12-11 15:58:50 -08:00
include defrag.f2fs: introduce defragmentation tool 2015-12-11 15:58:50 -08:00
lib libf2fs: enhance the bit operations 2015-12-10 19:46:22 -08:00
m4 mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
man man: fix missing description for overprovision ratio 2015-09-23 15:20:49 -07:00
mkfs mkfs.f2fs: export get_best_overprovision 2015-12-10 19:46:28 -08:00
scripts tracepoint.sh: update latest tracepoints 2014-09-08 11:13:00 -07:00
tools f2fstat: fix option parsing 2015-03-03 16:10:23 -08:00
.gitignore build: make several base functions as a library 2013-04-04 09:19:07 +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
ChangeLog f2fs-tools: add fsck.f2fs and dump.f2fs 2013-07-04 23:15:25 +09:00
configure.ac f2fs-tools: add library version info 2015-12-09 11:08:45 -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
README README: add libtool guide 2013-12-16 12:33:41 +09:00
VERSION f2fs-tools: release 1.5.0 2015-11-05 10:47:04 -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
------------------

Your should install the following packages.
 - libuuid-devel or uuid-dev
 - pkg-config
 - autoconf
 - libtool

Initial compilation
-------------------

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

 # autoreconf --install

How to compile
--------------

 # ./configure
 # make

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.