Bart Van Assche
cdd66bafeb
Improve compile-time type checking for f2fs_report_zone()
...
Change the type of the third argument of f2fs_report_zone() from void *
into struct blk_zone * to enable type checking.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:31:46 +08:00
Bart Van Assche
a491213a0d
Fix f2fs_report_zone()
...
The definition of struct blk_zone_report is as follows:
struct blk_zone_report {
__u64 sector;
__u32 nr_zones;
__u32 flags;
struct blk_zone zones[0];
};
Since f2fs_report_zone() allocates the above data structure with
malloc() and since f2fs_report_zone() only initializes the sector and
nr_zones members, the flags member is not initialized. Modify
f2fs_report_zone() such that 0 is passed as flags to the
BLKREPORTZONE ioctl instead of a random value. This has been
discovered by reading the source code.
Cc: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Fixes: 6d7c7b785f
("libf2fs_zoned: Introduce f2fs_report_zone() helper function")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:31:46 +08:00
Bart Van Assche
b5a09b25b7
Fix the struct f2fs_dentry_block definition
...
Fix the struct f2fs_dentry_block definition on systems for which
PAGE_SIZE != 4096. This patch does not change the struct f2fs_dentry_block
definition if PAGE_SIZE == 4096.
Cc: Peter Collingbourne <pcc@google.com>
Reported-by: Peter Collingbourne <pcc@google.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Peter Collingbourne <pcc@google.com>
Tested-by: Peter Collingbourne <pcc@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:31:46 +08:00
liuchao12
9401f8f0eb
resize.f2fs: add option to manually specify new overprovision
...
Make.f2fs supports manually specifying overprovision, and we expect
resize.f2fs to support it as well.
This change add a new '-o' option to manually specify overprovision,
and fix to check free space before grow. Otherwise, after grow,
kernel may report below error message when we mount the image if -o
parameter is specified during resize:
F2FS-fs (loop0): invalid crc_offset: 0
F2FS-fs (loop0): Wrong valid_user_blocks: 16404, user_block_count: 13312
F2FS-fs (loop0): Failed to get valid F2FS checkpoint
mount(2) system call failed: Structure needs cleaning.
Signed-off-by: liuchao12 <liuchao12@xiaomi.com>
Signed-off-by: qixiaoyu1 <qixiaoyu1@xiaomi.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Change-Id: I2ad0ecc5546a1712b7aa36230e91c3e0b1beb7e0
2024-04-15 11:31:38 +08:00
Jaegeuk Kim
6efa2e5836
fsck.f2fs: drop compression bit if inline_data is set
...
The kernel enforced not to have compression and inline_data bits
together, but old kernel created files with them. Let's disable
compression in that case.
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Ben Chang
eddad4a194
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>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
2399f56a8f
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>
2024-04-15 11:29:16 +08:00
Dylan Chang
a84478b3a4
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>
2024-04-15 11:29:16 +08:00
Yufen Yu
6cdc192294
dump.f2fs: add -I nid to dump inode by scan full disk
...
Usage:
dump.f2fs -I [inode nid] /dev/sda
This feature can be useful for some bugs caused by system crash.
We not only need dump current valid node page, but alse the history
data in disk, which can give some clues for status change of the inode.
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
[Jaegeuk Kim: fix build error]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
2205680313
android_config: add time headers
...
This allows f2fs_io report latency.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
839483e940
Check fallthrough in mount.h for Mac
...
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/os/base.h:128:23: error: missing ')' after 'do'
^~~~~~~~~~~
external/f2fs-tools/include/f2fs_fs.h:81:24: note: expanded from macro 'fallthrough'
~~ ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/os/base.h:128:22: note: to match this '('
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
7485348af8
avoid unnecessary function
...
libf2fs.c:883:12: warning: unused function 'is_power_of_2' [-Wunused-function]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Martin Stjernholm
163b23d5ac
Fix dependencies on linux/blkzoned.h when using Bionic.
...
This reverts commit adcec10b4dee ("Support zoned device if libc exists).
Signed-off-by: Martin Stjernholm <mast@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
77aa322fb7
Remove unnecessary config.h
...
Instead, we should use <config.h> generated by configure.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
72de6cc108
libzone: remove duplicate header
...
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
172234a711
Support zoned device if libc exists
...
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
2bff50e020
mkfs.f2fs: fix typo
...
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
ae57c32f13
mkfs.f2fs: split unused parameter
...
external/f2fs-tools/mkfs/f2fs_format_utils.c:51:28: error: unused parameter 'i' [-Werror,-Wunused-parameter]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
d0e53cc8aa
f2fs-tools: do not use SG_IO in Android
...
Android security team does not allow to use SG_IO.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
90a36f3918
f2fs-tools: move android_config before defining them
...
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
4b9ae54c2f
f2fscrypt: adjust config file first
...
We need to get the definitions first.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
Jaegeuk Kim
e4ef43a7fb
android_config: add missing uuid library
...
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-04-15 11:29:16 +08:00
openharmony_ci
39c8bb9f31
!40 优化syscall 调用,提升fsck 读写性能
...
Merge pull request !40 from fangzhou/syscall_opt
2024-03-28 06:41:37 +00:00
fangzhou
684c77989b
Use pread64/pwrite64 syscall optimize fsck performance
...
Issue: https://gitee.com/openharmony/third_party_f2fs-tools/issues/I9CA01
Signed-off-by: Lu Fangzhou <lufangzhou1@huawei.com>
2024-03-28 12:21:42 +08:00
openharmony_ci
be08214cd8
!39 fix: f2fs_do_mount维测增强
...
Merge pull request !39 from nieben/f2fs_do_mount-dfx
2024-03-21 07:28:59 +00:00
nieben
f505165a60
f2fs_do_mount-dfx
...
Signed-off-by: nieben <nieben1@huawei.com>
2024-03-21 10:39:24 +08:00
openharmony_ci
e3bf3a6c13
!38 第三方f2fs-tools部件编译整改
...
Merge pull request !38 from tongkai0808fh/master
2024-03-19 08:51:09 +00:00
tongkai0808fh
7a530965a2
修改inner_kits配置
...
Signed-off-by: tongkai0808fh <tongkai5@huawei.com>
2024-03-19 06:34:01 +00:00
openharmony_ci
22d5d3737b
!35 第三方f2fs-tools部件独立编译整改
...
Merge pull request !35 from tongkai0808fh/master
2024-02-29 11:37:25 +00:00
tongkai0808fh
c3bc6b2b82
修改bundle.json的子部件配置信息
...
Signed-off-by: tongkai0808fh <tongkai5@huawei.com>
2024-02-29 09:05:19 +00:00
openharmony_ci
188ac39e7f
!34 第三方f2fs部件bundle.json文件更新
...
Merge pull request !34 from tongkai0808fh/master
2024-02-29 06:40:30 +00:00
tongkai0808fh
f0c868daca
bundle.json文件加入mkfs.f2fs子组件
...
Signed-off-by: tongkai0808fh <tongkai5@huawei.com>
2024-02-29 03:19:08 +00:00
openharmony_ci
90d4a99e83
!32 第三方分f2fs-tools部件独立编译整改
...
Merge pull request !32 from tongkai0808fh/master
2024-02-21 03:52:17 +00:00
tongkai0808fh
ef6ee84a1c
第三方f2fs-tools部件独立编译整改
...
Signed-off-by: tongkai0808fh <tongkai5@huawei.com>
2024-02-21 02:51:31 +00:00
openharmony_ci
40c355d810
!31 增加开源声明文件
...
Merge pull request !31 from wangmingxuan/master
2024-01-25 03:09:17 +00:00
psycho
07937972a5
增加开源声明文件
...
Signed-off-by: psycho <wangmingxuan6@h-partners.com>
2024-01-25 10:30:22 +08:00
openharmony_ci
d4b6da9d85
!30 f2fs-tools开源信息与手机体现不一致
...
Merge pull request !30 from wangmingxuan/master
2024-01-22 11:12:51 +00:00
psycho
32b532225f
开源文件更新
...
Signed-off-by: psycho <wangmingxuan6@h-partners.com>
2024-01-22 14:12:59 +08:00
openharmony_ci
fcc0fd642f
!27 resize.f2fs支持传参使能projquota/casefold特性
...
Merge pull request !27 from 范威威/master
2023-09-05 04:52:12 +00:00
18682127009
852cbb805e
Fix: resize.f2fs enable projquota/casefold
...
Signed-off-by: 18682127009 <fanww92@126.com>
2023-09-04 19:34:25 +08:00
openharmony_ci
f19090cb94
!24 f2fs-tools构建规范化整改
...
Merge pull request !24 from yangjingbo/f2fs-tools_rectify_0614
2023-06-25 08:36:01 +00:00
y30045862
2ba6b2b207
f2fs-tools构建规范化整改
...
Signed-off-by: yangjingbo10 <yangjingbo10@huawei.com>
Change-Id: I1aae1cb27162594dae1e395f46fcf0833750e6d0
2023-06-21 09:25:04 +08:00
openharmony_ci
b809e65933
!23 fix e2fsprogs compile in f2fs_tools
...
Merge pull request !23 from 张文迪/master
2023-06-05 01:44:05 +00:00
张文迪
9fef819eb4
fix e2fsprogs
...
Signed-off-by: 张文迪 <zhangwendi3@huawei.com>
2023-06-03 17:03:53 +08:00
openharmony_ci
9cf86194f2
!22 fix compile in f2fstools
...
Merge pull request !22 from 张文迪/master
2023-06-02 01:37:43 +00:00
张文迪
b08c917ed4
fix compile
...
Signed-off-by: 张文迪 <zhangwendi3@huawei.com>
2023-06-01 20:39:25 +08:00
openharmony_ci
349fedd3f1
!21 adapt the modification of e2fsprog switching to OpenEuler
...
Merge pull request !21 from 张文迪/master
2023-05-24 02:13:19 +00:00
张文迪
461b8536e1
adapt the modification of e2fsprog switching to OpenEuler
...
Signed-off-by: 张文迪 <zhangwendi3@huawei.com>
2023-05-20 16:59:34 +08:00
openharmony_ci
fb61e5453d
!20 tools升级v1.14==>v1.15
...
Merge pull request !20 from 董森浩/master
2023-05-11 08:45:46 +00:00
dongsenhao
61cee5700e
适配build.gn
...
Signed-off-by: dongsenhao <dongsenhao2@huawei.com>
2023-04-14 16:51:10 +08:00