源代码-ext4文件系统中自带的debug信息如何查看?

问题描述

ext4文件系统中自带的debug信息如何查看?

ext4文件系统代码中自带有用于调试的debug语句,如函数ext4_map_blocks中的

 ext_debug("ext4_map_blocks(): inode %lu, flag %d, max_blocks %u,"
          "logical block %lun", inode->i_ino, flags, map->m_len,
          (unsigned long) map->m_lblk);

请问如何使得这种语句生效?多谢

解决方案

貌似是通过编译开关控制的。
#ifdef EXT_DEBUG
#define ext_debug(fmt, ...) printk(fmt, ##__VA_ARGS__)
#else
#define ext_debug(fmt, ...) no_printk(fmt, ##__VA_ARGS__)
#endif

时间: 2024-07-28 12:22:10

源代码-ext4文件系统中自带的debug信息如何查看?的相关文章

Linux的EXT4 文件系统的历史、特性以及最佳实践

让我们大概地从 EXT4 的历史.特性以及最佳实践这几个方面来学习它和之前的几代 EXT 文件系统有何不同. 在之前关于 Linux 文件系统的文章里,我写过一篇 Linux 文件系统介绍 和一些更高级的概念例如 一切都是文件.现在我想要更深入地了解 EXT 文件系统的特性的详细内容,但是首先让我们来回答一个问题,"什么样才算是一个文件系统 ?" 一个文件系统应该涵盖以下所有特点: 数据存储: 对于任何一个文件系统来说,一个最主要的功能就是能够被当作一个结构化的容器来存储和获取数据.

Ext4文件系统架构分析(二)

   接着上一篇博文,继续分析Ext4磁盘布局中的元数据. 1.7 超级块 超级块记录整个文件系统的大量信息,如数据块个数.inode个数.支持的特性.管理信息,等待. 如果设置sparse_super特性标志,超级块和块组描述符表的冗余备份仅存放在编号为0或3.5.7的幂次方的块组中.如果未设置sparse_super特性标志,冗余备份存在与所有的块组中.以下是2.6.32.18内核中对Ext4超级块的描述:   3.0的内核中,Ext4的超级块加入了以下相关元数据:快照.文件系统错误处理相关

Nexus S中的Android将使用ext4文件系统

Google 新发布的 Nexus S 智能手机将是 Android 设备第一个使用 Ext4 文件系统的手机.ext4(第四扩展文件系统)文件系统是Linux系统下的日志文件系统,是ext3文件系统的后继版本. Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能: 1. 与 Ext3 兼容. 执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统.原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支

如何在CentOS 6.x x64系统中创建超过16TB的ext4文件系统

如何在CentOS 6.x x64系统中创建超过16TB的ext4文件系统 作者 digoal 日期 2016-09-18 标签 ext4 , 16TB 背景 在使用Ext4文件系统时,发现无法创建超过16TB的文件系统. 例如我的服务器中有多块8T的盘,使用逻辑卷或者软RAID做成较大的块设备,然后使用mkfs.ext4格式化,当LVM或软RAID设备大于16TB时,出现这样的报错 # mkfs.ext4 -b 4096 /dev/md0 mke2fs 1.41.12 (17-May-2010

Linux中ext3与ext4文件系统区别

ext3还是使用15个inode来查找数据块,前12个为直接数据块,直接指向存储数据的数据块,接下来分别为一级间接块,二级间接块,三级间接块,如下图: 其中point本来也是数据块,现在拿来做数据块的索引用,其中ext3的头文件定义为:__u32 i_block[EXT3_N_BLOCKS];/* Pointers to blocks */,所以可以计算ext3文件系统的极限: 最大分区:     因为定义的是无符号32位数,所以可能定位的block范围为2^32,也就是4G,如果一个block

CentOS中EXT4文件系统是什么?CentOS中EXT4有什么用

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已.Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能: 1. 与 Ext3 兼容.执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统.原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ex

Ext4文件系统架构分析(三) ——目录哈希、扩展属性与日志

struct dx_root Htree的内部节点: struct dx_node Htree 树根和节点中都存在的 Hash map: struct dx_entry   1.20 扩展属性EA 扩展属性(xattrs)通常存储在磁盘上的一个单独的数据块中,通过inode.i_file_acl*引用.扩展属性的第一应用是存储文件的ACL以及其他安全数据(selinux).使用user_xattr挂载选项就可为用户存储以"user"开头的所有扩展属性.这样的限制在3.0内核中已经消失.

Ext4文件系统架构分析(一)

本文描述Ext4文件系统磁盘布局和元数据的一些分析,同样适用于Ext3和Ext2文件系统,除了它们不支持的Ext4的特性外.整个分析分两篇博文,分别概述布局和详细介绍各个布局的数据结构及组织寻址方式等.感兴趣的看官敬请留意和指导! 1. Ext4文件系统布局综述 一个Ext4文件系统被分成一系列块组.为减少磁盘碎片产生的性能瓶颈,块分配器尽量保持每个文件的数据块都在同一个块组中,从而减少寻道时间.以4KB的数据块为例,一个块组可以包含32768个数据块,也就是128MB. 1.1 磁盘布局 Ex

(转)关于PL/SQL Developer中对存储过程add debug information

关于PL/SQL Developer中对存储过程add debug information  http://space.itpub.net/13129975/viewspace-626245 如果使用PL/SQL Developer中选择一个存储过程debug但又debug不进去! 解决这个问题是很简单的,只需要在PL/SQL Developer中选择要debug的存储过程,然后点右键,在弹出的菜单中选择"Add debug information"后再重新开一个窗口开始debug就能