You are not logged in.
Hi,
I activate kernel debug with :
echo 1 > /proc/sys/vm/block_dump
Now, dmesg I got a lot of "READ block xxx on sdXX" :
[12501.346573] ls(4079): READ block 43098492 on sda2 (1 sectors)
[12501.346619] ls(4079): READ block 43098493 on sda2 (1 sectors)
[12501.346667] ls(4079): READ block 43098494 on sda2 (1 sectors)
[12501.346714] ls(4079): READ block 43098495 on sda2 (1 sectors)
[12501.346774] ls(4079): READ block 43098496 on sda2 (1 sectors)
[12501.346824] ls(4079): READ block 43098497 on sda2 (1 sectors)
[12501.346871] ls(4079): READ block 43098498 on sda2 (1 sectors)
[12501.346918] ls(4079): READ block 43098499 on sda2 (1 sectors)
I would like to understand what are those block number. They seems to not correspond to block in debugfs's icheck command. How can I dump the content of those block or which file are they from ?
Last edited by mhtrinh (2012-08-14 18:54:47)
Offline
I think it's a device file,the command "echo" will use syscall open and read,and it will call the functions which registered in the file_ops struct in kernel ,so the syscall read do you function read in file_ops,transmit the message to user space,also the return value of the "read() of echo".
I am so sorry i can not explain it clearly,maybe i was wrong,and my english is bad,a chinese.
I study ARM+Linux as a novice..
Long, Long had been my road and far, far was the journey
Offline
Hello,
I'm back with the solution : at least for my system, debugfs_block_id = kernel_block_id / 8
For example with :
<7>[12091.038936] firefox(4491): READ block 4037656 on sda6 (384 sectors)To get what is read, with 4037656 / 8= 504707
[root@hpmini ~]# debugfs /dev/sda6
debugfs 1.41.14 (22-Dec-2010)
debugfs: icheck 504707
Block Inode number
504707 45727
debugfs: quit
[root@hpmini ~]# find / -xdev -inum 45727
/usr/share/fonts/misc/cu12.pcf.gzOffline
:cool
Long, Long had been my road and far, far was the journey
Offline