On 2022/6/22 0:39, Jaegeuk Kim wrote:
Thanks, applied.
On 06/20, Ben Chang wrote:
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
Hi Ben,
I didn't get why it shows different result when listing /dev/block
and /sys/dev/block, can you please check the root cause of this
issue?
If it only affect android, it should use WITH_ANDROID macro to
cover the codes?
Thanks,
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 <[email protected]>
---
tools/fibmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/fibmap.c b/tools/fibmap.c
index 3238f29..9f94b53 100644
--- a/tools/fibmap.c
+++ b/tools/fibmap.c
@@ -102,7 +102,7 @@ static void stat_bdev(struct stat *st, unsigned int
*start_lba)
char linkname[32] = { 0, };
int fd;
- sprintf(devname, "/dev/block/%d:%d", major(st->st_dev), minor(st->st_dev));
+ sprintf(devname, "/sys/dev/block/%d:%d", major(st->st_dev),
minor(st->st_dev));
fd = open(devname, O_RDONLY);
if (fd < 0)
--
2.25.1
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel