文件系统一些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相关推荐

  1. F2FS文件系统架构与原理分析(五)——元数据组织及管理

    from : http://blog.chinaunix.net/uid-28989651-id-3911126.html 1. 元数据区域 元数据区域包含以下几种元数据(参见博文:F2FS文件系统架 ...

  2. F2FS文件系统工具编译及使用方法

    有问题 http://blog.chinaunix.net/uid-22497486-id-4075737.html 1·   用git下载f2fs文件系统tools的源代码.下载地址如下:http: ...

  3. F2FS文件系统架构与原理分析(三) ——文件索引树

    from : http://blog.chinaunix.net/uid-28989651-id-3902441.html 文件(Files).索引节点(Inodes).数据块索引(Indexing) ...

  4. 深入理解ext4等Linux文件系统

    了解 ext4 的历史,包括其与 ext3 和之前的其它文件系统之间的区别. 目前的大部分 Linux 文件系统都默认采用 ext4 文件系统,正如以前的 Linux 发行版默认使用 ext3.ext ...

  5. EXT4 之 Android 文件系统剖析

    基础文件系统架构 文件系统是什么 挂载mouting 文件系统架构 文件系统架构 主要结构 虚拟文件系统层 superblock inode and dentry Buffer cache 基础文件系 ...

  6. Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)

    一.mkfs命令 磁盘分区完毕后自然就是要进行文件系统的格式化 格式化其实就是创建文件系统.命令就是===>mkfs(make fileststem),这个命令只是个综合命令.它会调用正确的文件 ...

  7. 深入理解 ext4 等 Linux 文件系统

    目前的大部分 Linux 文件系统都默认采用 ext4 文件系统,正如以前的 Linux 发行版默认使用 ext3.ext2 以及更久前的 ext. 对于不熟悉 Linux 或文件系统的朋友而言,你可 ...

  8. ext4 ntfs mysql_文件系统类型FAT16、FAT32、NTFS、EXT3、EXT4、XFS说明和对比

    FAT16.FAT32.NTFS FAT(File Allocation Table)文件分配表.顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上 ...

  9. 磁盘切换成F2FS文件系统并加密

    背景 对于SSD和SMR技术的机械硬盘,使用F2FS可以更好的利用它们的性能 下图可以看到采用SMR技术的机械硬盘也支持Trim(/dev/sda) 步骤 0. *如果有使用的swap,先停止swap ...

  10. linux文件类型为ext4怎么扩展,如何扩展ext4分区和文件系统?

    只是为了阐明我如何为仍在阅读此线程的任何人执行此操作. 如果它是您要调整大小的引导分区,则必须从仅是Live Linux的bootcd或bootusb"救援"驱动器引导.这使您可以 ...

最新文章

  1. jQuery基础---filter()和find()
  2. 《多处理器编程的艺术》读书笔记(4)--- 自旋锁(1)
  3. Android7.0 PowerManagerService(1) 启动过程
  4. 前端开发中使用mock模拟数据
  5. JS关闭浏览器 (不弹出提示框)
  6. 设置第三方的SMTP服务
  7. android 弹窗有边框_Android 多种简单的弹出框样式设置代码
  8. 获取某一列_Excel VBA 8.2 获取多列唯一值,不用肉眼,VBA帮你快速搞定
  9. 深入MTK平台bootloader启动分析笔记
  10. 如何在分组报表中实现组内数据补空行及组内页码
  11. 62. 拆分初始化负载
  12. vb.net webclient 网络目录是否存在_安卓用户注意了,安全人员又发现新型加密货币挖矿僵尸网络...
  13. 阅读--2020-7-19 CCFC2019 使用向量自回归和堆积LSTM模型进行多变量工作量预测
  14. TTL电路和CMOS电路的区别和…
  15. 多元统计分析最短距离法_多元统计分析-聚类分析
  16. 辞旧迎新:祝您阖家幸福安康,万事如意
  17. 10大PPT模板可直接套用助PM正确写好年终总结
  18. vue watch使用了immediate之后,handler的this指向问题
  19. Matlab中利用finverse求解反函数
  20. 计算方法预测蛋白质三级结构

热门文章

  1. IAR 8.3 for Arm 安装与注册
  2. 2020印象笔记日记模板及更改印象笔记背景色教程
  3. 分享NI卸载工具(免费)
  4. linux下vi命令大全,linux系统vi命令详解
  5. Meshing Tutorials(网格划分教程)
  6. directx修复工具win7_win7蓝屏该怎么解决图文教程
  7. svnserver 重新启动
  8. 雷达篇(二)线性调频信号公式推导及matlab仿真
  9. comps电磁场模拟软件_电力系统仿真软件综述说课.ppt
  10. Oracle11g软硬件基本要求,Oracle 11g的安装