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 > 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
