f2fs_io8
F2fs ioctl utility
Overview
f2fs_io is used to send various commands to the f2fs file system for administrative purposes.
Available commands
set_verity[file]-
Set the verity flags associated with the specified file.
fsync[file]-
fsync given the file.
fdatasync[file]-
fdatasync given the file.
getflags[file]-
Get the flags associated with the specified file.
setflags[flag] [file]-
Set an f2fs file on specified file. The flag can be casefold, compression, nocompression, immutable, and nocow.
clearflags[flag] [file]-
Clear the specified flag on the target file, which can be compression,
nocompression, immutable, and nocow.
shutdownshutdown filesystem-
Freeze and stop all IOs for the file system mounted on dir. The level parameter can be:
- 0
-
going down with full sync
- 1
-
going down with checkpoint only
- 2
-
going down with no sync
- 3
-
going down with metadata flush
- 4
-
going down with fsck mark
pinfile[get|set|unset] [file]-
Get or set the pinning status on a file.
fadvise[advice] [offset] [length] [file]-
Pass an advice to the specified file. The advice can be willneed, dontneed, noreuse, sequential, random.
fallocate[-c] [-i] [-p] [-z] [keep_size] [offset] [length] [file]-
Request that space be allocated on a file. The keep_size parameter can be either 1 or 0. The pattern parameter can be:
-c-
collapse range
-i-
insert range
-p-
punch hole
-z-
zero range
write[chunk_size in 4kb] [offset in chunk_size] [count] [pattern] [IO] [file_path]-
Write a given pattern to file_path. The pattern parameter can be:
zero-
zeros
inc_num-
incrementing numbers
rand-
random numbers
-
The IO parameter can be:
buffered-
buffered I/O
dio-
direct I/O
dsync-
direct I/O with O_DSYNC
read[chunk_size in 4kb] [offset in chunk_size] [count] [IO] [print_nbytes] [file_path]-
Read data in file_path and print print_nbytes. The IO options can be:
buffered-
buffered I/O
dontcache-
buffered I/O with RWF_DONTCACHE
dio-
direct I/O
mmap-
mmap(MAP_POPULATE)
mlock-
mmap() + mlock()
fiemap[offset in 4kb] [count] [file_path] {flags}-
get block address in file
gc_urgentdev [start|end|run] [time in sec]-
Start, end, or run gc_urgent for a given time period
defrag_file[start] [length] [file_path]-
Defragment a file.
copy[-d] [-m] [-s] [src_path] [dst_path]-
Copy file from src_path to dst_path. The pattern parameter can be:
-d-
use direct I/O
-m-
use mmap for source file
-s-
use sendfile to transfer data
get_cblocks[file]-
Get the number of compressed blocks.
release_cblocks[file]-
Release compressed blocks to get free space.
reserve_cblocks[file]-
Reserve free blocks to prepare decompressing blocks in the file.
gc[sync_mode] [file]-
Trigger filesystem GC
checkpoint[file]-
Trigger filesystem checkpoint
precache_extents[file]-
Trigger precache extents
move_range[src_path] [dst_path] [src_start] [dst_start] [length]-
Move a range of data blocks from source file to destination file
gc_range[sync_mode] [start in 4kb] [length in 4kb] [file]-
Trigger gc to move data blocks from specified address range
get_advise[file]-
Get i_advise value and info in file
ioprio[hint] [file]-
Set ioprio to the file. The ioprio can be ioprio_write.
test_create_perf[-s] [-S] [dir] [num_files] [size_kb]-
Measure file creation and deletion performance.
-s-
Call fsync() after each file creation.
-S-
Call sync() after deleting all files.
test_lookup_perf[-i] [-v] [dir] [num_files]-
Measure readdir/stat performance.
-i-
Initialized to create files only.
-v-
Verbose mode.
freeze[directory]-
Freeze filesystem that directory belongs to.
thaw[directory]-
Thaw filesystem that directory belongs to.
Releases
4 releases since Debian 11 (Bullseye); the text changed 2 times.