Ext4及F2FS文件系统 Debug
文件系统一些debug方法积累,不定期跟新
Ext4
- 使用 debugfs
debugfs manual
有的问题可能需要查看 inode 的信息等,此时可以把该分区镜像通过工具全部拉取出来,通过挂在到电脑上的linux系统上使用debugfs进行查看各种文件节点等信息,如在debugfs里面通过mi <ino>
查看inode信息
F2FS
f2fs status
cat /sys/kernel/debug/f2fs/status/sys/fs/f2fs/sda<x>https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt
CONFIG_F2FS_CHECK_FS
再内核的config中可以使能这个宏,其会对F2FS文件系统进行更多的逻辑检查,如果检查到错误会触发bug on
抓取 f2fs ftrace event
echo 0 > /d/tracing/tracing_on echo 204800 > /d/tracing/buffer_size_kb echo "" > /d/tracing/set_event echo "" > /d/tracing/trace echo 1 > /d/tracing/events/f2fs/f2fs_background_gc/enable echo 1 > /sys/kernel/debug/tracing/tracing_on cat /d/tracing/trace_pipe
在开机阶段开启f2fs ftrace
文件系统的一些问题是在开机阶段mount时候,此时无法通过adb 抓取,可以在kernel的command line传入使能f2fs trace参数
//在cmdline中加入如下参数trace_event=f2fs:* trace_buf_size=64M ftrace=tracing_on//如果想选择性使能部分f2fs event,可以在/d/tracing/events中选择自己需要部分加入trace_event=f2fs:f2fs_sync_fs,f2fs:f2fs_gc_begin trace_buf_size=64M ftrace=tracing_on
使用 fcsk.f2fs 工具
fcsk.f2fs,可以在umount data分区的情况下,使用 fcsk.f2fs 对文件系统进行检查或修复,可以通过检查时的log,来定位文件系统问题
Usage: fsck.f2fs [options] device [options]:-a check/fix potential corruption, reported by f2fs-d debug level [default:0]-f check/fix entire partition-g add default options-O feature1[feature2,feature3,...] e.g. "encrypt"-p preen mode [default:0 the same as -a [0|1]]-S sparse_mode-t show directory tree-q preserve quota limits-y fix all the time-V print the version number and exit--dry-run do not really fix corruptions
或在启动阶段如果检查到异常就会执行fcsk进行修复,这部分可以修改 kernel command line以及修改f2fs_init_configuration代码,使其在开机阶段从kernel log中抛出更多信息
// cmdline 中加入如下参数printk.devkmsg=on//在如下位置加入c.dbg_lv = 3; //fix the debug level here--------https://android.googlesource.com/platform/external/f2fs-tools/+/a78c2885b591a8fbcfc572bbd0b4b614434bde1c/lib/libf2fs.c--------/** device information*/void f2fs_init_configuration(void){....../* calculated by overprovision ratio */c.segs_per_sec = 1;c.secs_per_zone = 1;c.segs_per_zone = 1;c.vol_label = "";c.trim = 1;c.kd = -1;c.fixed_time = -1;-----++c.dbg_lv = 3; -----c.s_encoding = 0;......}
Ext4及F2FS文件系统 Debug相关推荐
- F2FS文件系统架构与原理分析(五)——元数据组织及管理
from : http://blog.chinaunix.net/uid-28989651-id-3911126.html 1. 元数据区域 元数据区域包含以下几种元数据(参见博文:F2FS文件系统架 ...
- F2FS文件系统工具编译及使用方法
有问题 http://blog.chinaunix.net/uid-22497486-id-4075737.html 1· 用git下载f2fs文件系统tools的源代码.下载地址如下:http: ...
- F2FS文件系统架构与原理分析(三) ——文件索引树
from : http://blog.chinaunix.net/uid-28989651-id-3902441.html 文件(Files).索引节点(Inodes).数据块索引(Indexing) ...
- 深入理解ext4等Linux文件系统
了解 ext4 的历史,包括其与 ext3 和之前的其它文件系统之间的区别. 目前的大部分 Linux 文件系统都默认采用 ext4 文件系统,正如以前的 Linux 发行版默认使用 ext3.ext ...
- EXT4 之 Android 文件系统剖析
基础文件系统架构 文件系统是什么 挂载mouting 文件系统架构 文件系统架构 主要结构 虚拟文件系统层 superblock inode and dentry Buffer cache 基础文件系 ...
- Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)
一.mkfs命令 磁盘分区完毕后自然就是要进行文件系统的格式化 格式化其实就是创建文件系统.命令就是===>mkfs(make fileststem),这个命令只是个综合命令.它会调用正确的文件 ...
- 深入理解 ext4 等 Linux 文件系统
目前的大部分 Linux 文件系统都默认采用 ext4 文件系统,正如以前的 Linux 发行版默认使用 ext3.ext2 以及更久前的 ext. 对于不熟悉 Linux 或文件系统的朋友而言,你可 ...
- ext4 ntfs mysql_文件系统类型FAT16、FAT32、NTFS、EXT3、EXT4、XFS说明和对比
FAT16.FAT32.NTFS FAT(File Allocation Table)文件分配表.顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上 ...
- 磁盘切换成F2FS文件系统并加密
背景 对于SSD和SMR技术的机械硬盘,使用F2FS可以更好的利用它们的性能 下图可以看到采用SMR技术的机械硬盘也支持Trim(/dev/sda) 步骤 0. *如果有使用的swap,先停止swap ...
- linux文件类型为ext4怎么扩展,如何扩展ext4分区和文件系统?
只是为了阐明我如何为仍在阅读此线程的任何人执行此操作. 如果它是您要调整大小的引导分区,则必须从仅是Live Linux的bootcd或bootusb"救援"驱动器引导.这使您可以 ...
最新文章
- jQuery基础---filter()和find()
- 《多处理器编程的艺术》读书笔记(4)--- 自旋锁(1)
- Android7.0 PowerManagerService(1) 启动过程
- 前端开发中使用mock模拟数据
- JS关闭浏览器 (不弹出提示框)
- 设置第三方的SMTP服务
- android 弹窗有边框_Android 多种简单的弹出框样式设置代码
- 获取某一列_Excel VBA 8.2 获取多列唯一值,不用肉眼,VBA帮你快速搞定
- 深入MTK平台bootloader启动分析笔记
- 如何在分组报表中实现组内数据补空行及组内页码
- 62. 拆分初始化负载
- vb.net webclient 网络目录是否存在_安卓用户注意了,安全人员又发现新型加密货币挖矿僵尸网络...
- 阅读--2020-7-19 CCFC2019 使用向量自回归和堆积LSTM模型进行多变量工作量预测
- TTL电路和CMOS电路的区别和…
- 多元统计分析最短距离法_多元统计分析-聚类分析
- 辞旧迎新:祝您阖家幸福安康,万事如意
- 10大PPT模板可直接套用助PM正确写好年终总结
- vue watch使用了immediate之后,handler的this指向问题
- Matlab中利用finverse求解反函数
- 计算方法预测蛋白质三级结构