Commit Graph

104 Commits

Author SHA1 Message Date
Chao Yu
151fdb1aa0 f2fs_io: support get_advise command
Support get_advise command to get i_advise field value and info
in file.

For example:
f2fs_io get_advise /mnt/f2fs/foo.so
i_advise=0x11, advise_type: cold keep_size

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-03-08 13:34:54 -08:00
Konstantin Vyshetsky
b6fad4e648 f2fs_io: add write_advice command
Add a write_advice command with same behavior as existing write command
with the exception that data should be treated as hot or cold.

Signed-off-by: Konstantin Vyshetsky <vkon@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-21 09:41:52 -08:00
Konstantin Vyshetsky
575e8e05d3 f2fs_io: override setxattr value for system.advise
Adjust behavior to match kernel.

Signed-off-by: Konstantin Vyshetsky <vkon@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-21 09:41:52 -08:00
Daeho Jeong
06393fda81 f2fs_io: add lseek command to execute lseek()
Added lseek command to support lseek() for SEEK_DATA and SEEK_HOLE.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-02-15 13:49:34 -08:00
Jaegeuk Kim
eea39f1207 f2fs_io: add list/set/removexattr command
Let's add list/set/removexattrs commands.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-10-19 19:07:24 -07:00
Jaegeuk Kim
0baf928aa1 f2fs_io: add fadvise support
f2fs_io fadvise [advice] [offset] [length] [file]

advice can be "willneed" and "sequential".

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-10-03 15:29:10 -07:00
Waldemar Brodkorb
b15b6cc56a f2fs-tools: convert to lseek() and kill lseek64
This patch replaces lseek64 with lseek() having #define _FILE_OFFSET_BITS 64.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-08-25 10:28:52 -07:00
Qi Han
f6c89aaeff f2fs_io: add do_clearflags to clear nocompress/compress flag
To align f2fs_io functionality with chattr +/-c and +/-m, the
do_clearflags function has been added to clear the FS_COMPR_FL and
FS_NOCOMP_FL flags.

Signed-off-by: Qi Han <hanqi@vivo.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-08-21 12:40:30 -07:00
Jaegeuk Kim
4338603fc4 f2fs-tools: f2fs_io: no memcpy for mmap read
This replaces the mmmap read flow to get the maximum performance.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-08-17 18:22:21 -07:00
Jaegeuk Kim
bb8af9c06a f2fs_io: fix build warning
external/f2fs-tools/tools/f2fs_io/f2fs_io.c:1452:3: error: format specifies type 'unsigned long' but the argument has type 'u64' (aka 'unsigned long long') [-Werror,-Wformat]
                range.start, range.len, ret);
                ^~~~~~~~~~~
external/f2fs-tools/tools/f2fs_io/f2fs_io.c:1452:16: error: format specifies type 'unsigned long' but the argument has type 'u64' (aka 'unsigned long long') [-Werror,-Wformat]
                range.start, range.len, ret);
                             ^~~~~~~~~
2 errors generated.
20:35:27 ninja failed with: exit status 1

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-07-17 20:37:12 -07:00
Yangtao Li
c05ab3493c f2fs_io: expend fallocate command
Expend fallocate command to support more flags.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-06-19 23:42:30 -07:00
Chao Yu
7933e522c9 f2fs_io: support gc_range command
This patch supports a new sub-command 'gc_range' in f2fs_io to trigger
gc to move blocks in specified range via F2FS_IOC_GARBAGE_COLLECT_RANGE
ioctl.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-06-07 09:57:30 -07:00
zangyangyang1
a2f4d30336 f2fs_io: Fix integer multiplication overflow error in fiemap
When using fiemap to obtain the block address of files
larger than 2GB ((2147483647+1) bytes), an integer
multiplication overflow error will occur.
This issue is caused by the following code:
    start = atoi(argv[1]) * F2FS_BLKSIZE;
    length = atoi(argv[2]) * F2FS_BLKSIZE;

Signed-off-by: zangyangyang1 <zangyangyang1@xiaomi.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-05-30 15:52:55 -07:00
Chao Yu
0f74f239a1 f2fs-tools: add noatime for quota file
Disk quota file is controlled by filesystem quota subsystem, access time
of quota file is almost random, and should be meanless to user, so let's
add noatime to quota file.

Meanwhile, set quota file w/ F2FS_IMMUTABLE_FL instead of FS_IMMUTABLE_FL,
since F2FS_IMMUTABLE_FL is on-disk flag, however FS_IMMUTABLE_FL is in-memory
one.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-05-17 18:30:53 -07:00
Yangtao Li
6701168961 f2fs_io: support move_range command
This patch supports a new sub-command 'move_range' in f2fs_io
to move a range of data blocks from source file to destination
file via F2FS_IOC_MOVE_RANGE ioctl.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-05-17 18:24:59 -07:00
Yangtao Li
23ef5f5d83 f2fs_io: support precache_extents command
This patch supports a new sub-command 'precache_extents' in f2fs_io
to trigger precache extents via F2FS_IOC_PRECACHE_EXTENTS ioctl.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-04-14 13:00:13 -07:00
Chao Yu
f001b4d3d3 f2fs_io: support checkpoint command
This patch supports a new sub-command 'checkpoint' in f2fs_io to
trigger filesystem checkpoint via F2FS_IOC_WRITE_CHECKPOINT ioctl.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-04-14 12:57:16 -07:00
Jaegeuk Kim
5b08ca9bf4 f2fs_io: support AES_256_HCTR2
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-02-07 10:37:19 -08:00
Khem Raj
ae3301c1fc f2fs_io: Fix out of tree builds
Relative path does not work when searching for include files
when srcdir != builddir

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-02-07 10:37:19 -08:00
Jaegeuk Kim
77bf7ed29f f2fs-tools: Remove deprecated f2fstat
Let's remove this.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-02-07 10:37:15 -08:00
Bart Van Assche
fb6575e583 Remove sg_write_buffer
Remove the sg_write_buffer source code and build rules now that the
sg3_utils project has been imported.

Signed-off-by: Bart Van Assche <bvanassche@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-11-23 16:47:21 -08:00
Daeho Jeong
907b972756 f2fs-tools: support F2FS_IOC_START_ATOMIC_REPLACE
Added options in f2fs_io write command to support
F2FS_IOC_START_ATOMIC_REPLACE.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-10-26 13:37:31 -07:00
Chao Yu
f09c2b7d4c f2fs_io: support triggering filesystem GC via ioctl
Support 'gc' sub command to trigger filesystem GC via ioctl in f2fs.

Signed-off-by: Chao Yu <chao.yu@oppo.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-07-30 20:20:08 -07:00
Ben Chang
406b1c930f f2fs-tools: fix cannot get bdev information
Some device like android phone doesn't show the dev number path in
/dev/block/, for example:

$ ls /dev/block/
bootdevice  dm-6    loop24  loop43    ram13  sda5  sdd4   sde24  sde43  sde62  sdf1
by-name     dm-7    loop25  loop44    ram14  sda6  sdd5   sde25  sde44  sde63  sdf10
dm-0        dm-8    loop26  loop45    ram15  sda7  sdd6   sde26  sde45  sde64  sdf11
dm-1        dm-9    loop27  loop46    ram2   sda8  sdd7   sde27  sde46  sde65  sdf12
dm-10       loop0   loop28  loop47    ram3   sda9  sde    sde28  sde47  sde66  sdf13
dm-11       loop1   loop29  loop48    ram4   sdb   sde1   sde29  sde48  sde67  sdf14
dm-12       loop10  loop3   loop49    ram5   sdb1  sde10  sde3   sde49  sde68  sdf15
dm-13       loop11  loop30  loop5     ram6   sdb2  sde11  sde30  sde5   sde69  sdf16
dm-14       loop12  loop31  loop50    ram7   sdb3  sde12  sde31  sde50  sde7   sdf17
dm-15       loop13  loop32  loop51    ram8   sdb4  sde13  sde32  sde51  sde70  sdf18
dm-16       loop14  loop33  loop6     ram9   sdb5  sde14  sde33  sde52  sde71  sdf19
dm-17       loop15  loop34  loop7     sda    sdc   sde15  sde34  sde53  sde72  sdf2
dm-18       loop16  loop35  loop8     sda1   sdc1  sde16  sde35  sde54  sde73  sdf3
dm-19       loop17  loop36  loop9     sda10  sdc2  sde17  sde36  sde55  sde74  sdf4
dm-2        loop18  loop37  mapper    sda11  sdc3  sde18  sde37  sde56  sde75  sdf5
dm-20       loop19  loop38  platform  sda12  sdc4  sde19  sde38  sde57  sde76  sdf6
dm-21       loop2   loop39  ram0      sda13  sdc5  sde2   sde39  sde58  sde77  sdf7
dm-3        loop20  loop4   ram1      sda14  sdd   sde20  sde4   sde59  sde78  sdf8
dm-4        loop21  loop40  ram10     sda2   sdd1  sde21  sde40  sde6   sde8   sdf9
dm-5        loop22  loop41  ram11     sda3   sdd2  sde22  sde41  sde60  sde9   vold
dm-53       loop23  loop42  ram12     sda4   sdd3  sde23  sde42  sde61  sdf    zram0

this will cause stat_bdev cannot show bdev information.

But most of devices (include android) show dev number path in /sys/dev/block, for example:

$ ls  /sys/dev/block
1:0    254:1   254:6   259:21  259:38  259:54  7:104  7:24   7:368  8:11  8:4   8:70  8:87
1:1    254:10  254:7   259:22  259:39  259:55  7:112  7:240  7:376  8:12  8:48  8:71  8:88
1:10   254:11  254:8   259:23  259:4   259:56  7:120  7:248  7:384  8:13  8:49  8:72  8:89
1:11   254:12  254:9   259:24  259:40  259:57  7:128  7:256  7:392  8:14  8:5   8:73  8:9
1:12   254:13  259:0   259:25  259:41  259:58  7:136  7:264  7:40   8:16  8:50  8:74  8:90
1:13   254:14  259:1   259:26  259:42  259:59  7:144  7:272  7:400  8:17  8:51  8:75  8:91
1:14   254:15  259:10  259:27  259:43  259:6   7:152  7:280  7:408  8:18  8:52  8:76  8:92
1:15   254:16  259:11  259:28  259:44  259:60  7:16   7:288  7:48   8:19  8:53  8:77  8:93
1:2    254:17  259:12  259:29  259:45  259:61  7:160  7:296  7:56   8:2   8:54  8:78  8:94
1:3    254:18  259:13  259:3   259:46  259:62  7:168  7:304  7:64   8:20  8:55  8:79  8:95
1:4    254:19  259:14  259:30  259:47  259:63  7:176  7:312  7:72   8:21  8:6   8:8
1:5    254:2   259:15  259:31  259:48  259:64  7:184  7:32   7:8    8:3   8:64  8:80
1:6    254:20  259:16  259:32  259:49  259:65  7:192  7:320  7:80   8:32  8:65  8:81
1:7    254:21  259:17  259:33  259:5   259:66  7:200  7:328  7:88   8:33  8:66  8:82
1:8    254:3   259:18  259:34  259:50  259:7   7:208  7:336  7:96   8:34  8:67  8:83
1:9    254:4   259:19  259:35  259:51  259:8   7:216  7:344  8:0    8:35  8:68  8:84
253:0  254:5   259:2   259:36  259:52  259:9   7:224  7:352  8:1    8:36  8:69  8:85
254:0  254:53  259:20  259:37  259:53  7:0     7:232  7:360  8:10   8:37  8:7   8:86

so change the access path from /dev/block to /sys/dev/block
(same method of libudev)

Before:

$./f2fs.fibmap testfile_4k

----------------file info-------------------
testfile_4k :
--------------------------------------------
dev       [254:53]
ino       [0x    3dda : 15834]
mode      [0x    81b6 : 33206]
nlink     [0x       1 : 1]
uid       [0x       0 : 0]
gid       [0x       0 : 0]
size      [0x   40000 : 262144]
blksize   [0x    1000 : 4096]
blocks    [0x     200 : 512]
--------------------------------------------

file_pos   start_blk     end_blk        blks
       0     2256926     2256987          62
  253952     2150337     2150338           2

Patched:
$./f2fs.fibmap testfile_4k
----------------bdev info-------------------
devname = 254:53
start_lba = 0

----------------file info-------------------
testfile_4k :
--------------------------------------------
dev       [254:53]
ino       [0x    3dda : 15834]
mode      [0x    81b6 : 33206]
nlink     [0x       1 : 1]
uid       [0x       0 : 0]
gid       [0x       0 : 0]
size      [0x   40000 : 262144]
blksize   [0x    1000 : 4096]
blocks    [0x     200 : 512]
--------------------------------------------

file_pos   start_blk     end_blk        blks
       0     2256926     2256987          62
  253952     2150337     2150338           2

Signed-off-by: Ben Chang <ben.chang@sonicsky.net>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-06-24 17:30:30 -07:00
Jaegeuk Kim
9d0cb9e712 f2fs_io: add dsync option for write
This adds a write option having O_DIRECT | O_DSYNC.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-06-24 17:30:30 -07:00
Dylan Chang
a7b8b468ad tools: fix file too large causing overflow
fibmap: Fix file too large causing file_pos overflow

fibmap show file_pos with incorrectly value when passing a large file.

Before:

----------------file info-------------------
/data/media/0/data1 :
--------------------------------------------
dev       [254:18]
ino       [0x    4db1 : 19889]
mode      [0x    81b0 : 33200]
nlink     [0x       1 : 1]
uid       [0x    280e : 10254]
gid       [0x     3ff : 1023]
size      [0x1b3dca314 : 7312548628]
blksize   [0x    1000 : 4096]
blocks    [0x  da2530 : 14296368]
--------------------------------------------

file_pos   start_blk     end_blk        blks
       0     3197602     3198463         862
 3530752     3197509     3197509           1
 3534848     3197557     3197578          22
 3624960     3198464     3396701      198238
815607808     3396703     3632480      235778
1781354496     3632482     3652095       19614
1861693440     3396702     3396702           1
1861697536     3632481     3632481           1
1861701632     1514948     1514948           1
1861705728     1518774     1518774           1
1861709824     2543104     2543125          22
...
1862111232     2457813     2457813           1
1862115328     3652096     3878168      226073
-1506856960     3878170     4133725      255556
-460099584     1510048     1510052           5

Patched:
----------------file info-------------------
/data/media/0/data1 :
--------------------------------------------
dev       [254:18]
ino       [0x    4db1 : 19889]
mode      [0x    81b0 : 33200]
nlink     [0x       1 : 1]
uid       [0x    280e : 10254]
gid       [0x     3ff : 1023]
size      [0x1b3dca314 : 7312548628]
blksize   [0x    1000 : 4096]
blocks    [0x  da2530 : 14296368]
--------------------------------------------

file_pos   start_blk     end_blk        blks
       0     3197602     3198463         862
 3530752     3197509     3197509           1
 3534848     3197557     3197578          22
 3624960     3198464     3396701      198238
815607808     3396703     3632480      235778
1781354496     3632482     3652095       19614
1861693440     3396702     3396702           1
1861697536     3632481     3632481           1
1861701632     1514948     1514948           1
1861705728     1518774     1518774           1
1861709824     2543104     2543125          22
...
1862111232     2457813     2457813           1
1862115328     3652096     3878168      226073
2788110336     3878170     4133725      255556
3834867712     1510048     1510052           5

Signed-off-by: Dylan Chang <dylan.chang@oneplus.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-06-24 17:30:30 -07:00
Jaegeuk Kim
274abbb77c Remove unnecessary config.h
Instead, we should use <config.h> generated by configure.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-05-25 15:40:30 -07:00
Jaegeuk Kim
4f216e6b06 f2fs-tools: move android_config before defining them
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-05-21 23:03:38 -07:00
Jaegeuk Kim
48c5dbb435 f2fscrypt: adjust config file first
We need to get the definitions first.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-05-19 17:13:22 -07:00
Jaegeuk Kim
eee3969d7d mkfs.f2fs: check uuid library
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-26 16:05:35 -07:00
Bart Van Assche
c491657c0e Fix PowerPC format string warnings
__SANE_USERSPACE_TYPES__ must be defined before <linux/types.h> is
included. Hence this patch that moves the definition of that macro into
the source files that need it.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2022-04-22 12:42:52 -07:00
Bart Van Assche
7a1206adf3 Annotate switch/case fallthrough
Just like in the Linux kernel source code, annotate switch/case
fallthrough.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 12:42:52 -07:00
Bart Van Assche
28de4d1334 tools/f2fs_io: Fix the type of 'ret'
Make it possible to check whether the return value of ioctl() is negative.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 12:42:52 -07:00
Bart Van Assche
93c6483b85 tools/f2fscrypt.c: Fix build without uuid/uuid.h header file
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 12:42:51 -07:00
Bart Van Assche
1790203dee Fix the MinGW build
Fix multiple compiler warnings and build errors reported by the MinGW
cross-compiler.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 11:43:14 -07:00
Bart Van Assche
1612bf99de Remove unnecessary __attribute__((packed)) annotations
Applying the __attribute__((packed)) annotation to members that do not
need it impacts performance negatively on architectures that do not
support efficient unaligned accesses (e.g. ARMv7). Hence minimize the
__attribute__((packed)) annotations.

See also CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS in the Linux kernel.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 11:43:13 -07:00
Bart Van Assche
9425b47b89 Verify structure sizes at compile time
Before modifying the __attribute__((packed)) annotations, let the
compiler verify the sizes of on-disk data structures.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 11:43:13 -07:00
Bart Van Assche
87d7a95e31 Switch from the u_int to the uint types
Many format strings use one of the PRI* macros. These macros are compatible
with the uint types but not with the u_int types. Hence this patch
that switches from the u_int to the uint types.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 11:43:11 -07:00
Bart Van Assche
c48335416a configure.ac: Enable cross-compilation
Stop using PKG_CHECK_MODULES() since that macro is not compatible with
cross-compilation.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-04-22 10:44:45 -07:00
Daeho Jeong
1de1db84d2 f2fs-tools: add atomic write related options to f2fs_io write command
Added two option to f2fs_io "write" command.
 - atomic_commit : atomic write & commit
 - atomic_abort  : atomic write & abort
Also, added an optional option {delay}, which is in ms unit and optional
only for atomic_commit and atomic_abort.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2022-02-02 16:15:55 -08:00
Daeho Jeong
49159df049 f2fs-tools: change fiemap print out format
Given fiemap way to print out extents in the kernel, we can correctly
print the layout of each file in a unit of extent, not block. So, I
changed fiemap print out way like below.

Fiemap: offset = 0 len = 60
	logical addr.    physical addr.   length           flags
0	0000000000000000 00000020032df000 0000000000004000 00001008
1	0000000000004000 00000020032e0000 0000000000004000 00001008
2	0000000000008000 00000020032e1000 0000000000004000 00001008
3	000000000000c000 00000020032e2000 0000000000004000 00001008

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2021-08-23 11:42:56 -07:00
Jaegeuk Kim
8bcb58ec90 f2fs_io: add rename w/ fsync option
e.g., f2fs_io rename source dest 1
      1. open(source)
      2. rename(source, dest)
      3. fsync(source)
      4. close(source)

Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2021-08-23 11:42:56 -07:00
Daeho Jeong
529967eac0 f2fs-tools: make fiemap command in accordance with uapi
Made "fiemap" command in accordance with user api manual. So, eliminated
NEW_ADDR print out and made it ends in the last extent.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2021-07-22 13:52:15 -07:00
Jaegeuk Kim
38e3115c7f f2fs_io: add to show immutable bit
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2021-05-26 06:24:06 -07:00
Jaegeuk Kim
870915f282 f2fs_io: split definition check for crypto ioctl
This patch fixes undefined FSCRYPT_POLICY_V1 in old distribution.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2021-05-10 08:46:08 -07:00
Robin Hsu
1531853eb7 f2fs_io: Add get file name encryption mode
This patch add an ioctl to get filename encryption mode.

Signed-off-by: Robin Hsu <robinhsu@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2021-04-22 08:48:30 -07:00
Daeho Jeong
7b63f7b399 f2fs_io: add compress/decompress commands
Added new commands, compress and decompress, to support
F2FS_IOC_COMPRESS_FILE and F2FS_IOC_DECOMPRESS_FILE.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-12-10 05:51:08 -08:00
Victor Westerhuis
d322d47fa4 f2fs-tools: fix a few spelling errors in f2fs-tools
typo fix.

Signed-off-by: Victor Westerhuis <victor@westerhu.is>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-12-07 09:25:14 -08:00
Daeho Jeong
1d4c7e7ce5 f2fs_io: add get/set compression option
Added new commands, get_coption and set_coption, to support
F2FS_IOC_GET_COMPRESS_OPTION and F2FS_IOC_SET_COMPRESS_OPTION.

Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-12-07 09:25:14 -08:00
Ocean Chen
1bfc17340d f2fs_io: add erase option
f2fs_io erase [block_device_path]

Signed-off-by: Ocean Chen <oceanchen@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-12-07 09:25:14 -08:00