以下模块打印出超级块中某些字段的内容

以下模块打印出超级块中某些字段的内容。

#include <linux/module.h>

#include <linux/fs.h>

#include <linux/init.h>

#include <linux/list.h>

#include <linux/spinlock.h>

#include <linux/kdev_t.h>

#define SUPER_BLOCKS_ADDRESS 0xc048db0c // from /proc/kallsyms

#define SB_LOCK_ADDRESS      0xc05b2440 //  from /proc/kallsyms

static int __init sbinfo_init(void)

{

struct super_block *sb;

struct list_head *pos;

printk("sb:%d/tinode:%d/n",sizeof(struct super_block),sizeof(struct inode));

printk("/nprint file_sys_type:/n");

spin_lock((spinlock_t *)SB_LOCK_ADDRESS);

list_for_each(pos, (struct list_head *)SUPER_BLOCKS_ADDRESS) {

sb = list_entry(pos, struct super_block, s_list);

printk("dev_t:%d:%d  ", MAJOR(sb->s_dev),MINOR(sb->s_dev));

printk("count:%d  file_type name:%s/n", sb->s_count, sb->s_type->name);

}

spin_unlock((spinlock_t *)SB_LOCK_ADDRESS);

return 0;

}

static void __exit sbinfo_exit(void)

{

printk("unloading..../n");

}

module_init(auditfs_init);

module_exit(auditfs_exit);

MODULE_LICENSE("GPL");

原文地址:https://www.cnblogs.com/lucelujiaming/p/9467878.html

时间: 2024-10-11 05:49:38

以下模块打印出超级块中某些字段的内容的相关文章

【20190405】算法-输入一个字符串,按字典序打印出该字符串中字符的所有排列

方法一:利用递归 利用递归求全排列的过程真的很难理解,先把代码贴上来吧 function Permutation(str) { // write code here if(!str){ return str; } let len=str.length, result=[]; str=str.split('');// 字符串的索引属性都是只读,后面要交换两个字符的话还是要先把字符串转化为数组 str.sort();// 直接把字符串按字典序排列了,后面求全排列时也会按照字典序 Permutate(

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

package myprac.LeetCode; import java.util.ArrayList; import java.util.List; public class StringPermutation { /* public static ArrayList<String> Permutation(String str) { ArrayList<String> list = new ArrayList<>(); if(str==null || str.len

sql UNION 同时把多个表中相同字段的内容取出来合并成为一个表

UNION指令的目的是将两个SQL语句的结果合并起来.从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料. UNION的一个限制是两个SQL语句所产生的栏位需要是同样的资料种类.另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT). UNION只是将两个结果联结起来一起显示,并不是联结两个表. 假设我们有以下的两个表格:  Store_Information 表: store_n

ext2文件系统中的超级块及对应代码

在进行分区时,每个分区就是一个文件系统,而每个文件系统开始位置的那个块就称为超级块.超级块的作用是存储文件系统的大小.空的和填满的块,以及它们各自的总数和其他诸如此类的信息.这也就是说,要使用这一个分区来进行数据访问时,第一个要经过的就是超级块,所以超级块坏了,这个磁盘也就回天乏术了. super block的中文名称是超级块,它是硬盘分区开头--开头的第一个byte是byte 0,从 byte 1024开始往后的1024 bytes. 超级块中的数据其实就是文件卷的控制信息部分,也可以说它是卷

目录、目录项、超级块、索引节点、文件

unix中,文件系统被安装在一个特定的安装节点上,该安装点在全局层次结构中被称为命名空间,所有已安装的文件系统都作为根文件系统树的枝叶出现在系统中.本质讲,文件系统是特殊的数据分层存储结构,包含文件.目录和相关的控制信息. 目录: 1.作用:文件是通过目录组织起来的,目录相当于文件夹,用来容纳对应的文件 2.一个例子: /home/csj/1.c 什么是目录,分析一下上面的例子. 根目录 / 这个名词应该都不陌生,后面的 home表示家目录,csj也表示目录,最后的1.c表示一个程序文件 3.上

ext系统的超级块

什么是超级块 如果说inode块是Linux操作系统中文件的核心,那么超级块就是文件系统的心脏.启动Lnux操作系统后,发现某个文件系统无法使用,很有 可能就是超级块出现了问题.为什么这个超级块有这么大的作用呢?主要是因为在超级块中保存了全局文件信息,如硬盘已用空间.数据块可用空间.inode结 点信息等等.做一个形象的比喻,这个超级块就好像是企业的资产负债表,一个文件系统中有哪些资源都记录在这个表中.超级块保存在第一个块组内,并在其他块组留有备份. ext系统查看超级块信息 例: dumpe2

超级块的定义

超级块,文件系统的心脏. 如果说inode块是Unix操作系统中文件的核心,那么超级块就是文件系统的心脏.启动Unix操作系统后,发现某个文件系统无法使用,很有 可能就是超级块出现了问题.为什么这个超级块有这么大的作用呢?主要是因为在超级块中保存了全局文件信息,如硬盘已用空间.数据块可用空间.inode结 点信息等等.做一个形象的比喻,这个超级块就好像是企业的资产负债表,一个文件系统中有哪些资源都记录在这个表中. 当操作系统启动后,系统内核会把超级块中的内容复制到内存中,并周期性的利用内存里的最

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

一个问题:关于finally中return吞掉catch块中抛出的异常

今天遇到一个感觉很神奇的问题,记录一下问题以及自己分析问题的思路. 预警:不知道怎么看java字节码的朋友可能需要先看一下如何阅读java字节码才能看懂后面的解释. 我有一段程序: public class Test { public static void main(String[] args) { try { int a = 1 / 0; } catch (Exception e) { throw e; } } } 这个程序的运行结果相信大家都能猜到: 在main方法里捕获异常没有处理直接往