block dump

# dump on
echo -n 1 > /proc/sys/vm/block_dump
# dump off
echo -n 0 > /proc/sys/vm/block_dump
block/ll_rw_blk.c
    if (unlikely(block_dump)) {
        char b[BDEVNAME_SIZE];
        printk(KERN_DEBUG "%s(%d): %s block %Lu on %s\n",
            current->comm, current->pid,
            (rw & WRITE) ? "WRITE" : "READ",
            (unsigned long long)bio->bi_sector,
            bdevname(bio->bi_bdev,b));
    } 
fs/fs-writeback.c
    if (unlikely(block_dump)) {
        struct dentry *dentry = NULL;
        const char *name = "?";

        if (!list_empty(&inode->i_dentry)) {
            dentry = list_entry(inode->i_dentry.next,
                        struct dentry, d_alias);
            if (dentry && dentry->d_name.name)
                name = (const char *) dentry->d_name.name;
        }

        if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev"))
            printk(KERN_DEBUG
                   "%s(%d): dirtied inode %lu (%s) on %s\n",
                   current->comm, current->pid, inode->i_ino,
                   name, inode->i_sb->s_id);
    }
最終更新:2009年02月26日 14:36
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。