Android文件系统日记功能

ext3有3个日记选项:journal,ordered和writeback.根据维基百科entry,这些范围从最小风险到最危险的崩溃恢复.出于某种原因,Android的Linux版本仅支持后两个选项,默认为回写. (我正在经营Froyo)

有没有办法添加对日记模式的支持?我想在/ data分区上执行此操作,这是ext3,也是大多数文件写入的地方.我的设备没有电池,所以当有人断电时,我需要确保它是防撞的.

如果有人感兴趣,Linux选项在kernel / fs / ext3 / Kconfig中定义.具体选项是EXT3_DEFAULTS_TO_ORDERED.

最佳答案
解决方案是将以下内容添加到kernel / fs / ext3 / Kconfig,并使用EXT3_DEFAULTS_TO_JOURNAL重建内核.

choice
    prompt "EXT3 default journal mode"
    default EXT3_DEFAULTS_TO_ORDERED
    help
      The journal mode options for ext3 have different tradeoffs
      between when data is guaranteed to be on disk and
      performance.  The use of "data=writeback" can cause
      unwritten data to appear in files after an system crash or
      power failure,which can be a security issue.  However,"data=ordered" mode can also result in major performance
      problems,including seconds-long delays before an fsync()
      call returns.  "data=journal" is the safest option but possibly
      the the great perfromance burden.  For details,see:

      http://ext4.wiki.kernel.org/index.php/Ext3_data_mode_tradeoffs

      If you have been historically happy with ext3's performance,data=ordered mode will be a safe choice.


config EXT3_DEFAULTS_TO_JOURNAL
    bool "Default to 'data=journal' in ext3"
    depends on EXT3_FS
    help
      Both data and metadata are journaled.  Should be safe
      against crashes,power failure,etc.


config EXT3_DEFAULTS_TO_ORDERED
    bool "Default to 'data=ordered' in ext3"
    depends on EXT3_FS
    help
      Only metadata are journaled. Data is written first and then
      metadata is update.  Mostly safe against crashes,power
      failures,etc.,except if the anomally occurred while a file 
      is being overwritten.  Most of the time files are appended and
      not over written.

config EXT3_DEFAULTS_TO_WRITEBACK
    bool "Default to 'data=writeback' in ext3"
    depends on EXT3_FS
    help
      Ext2 with a fast ckfs.  Not always safe against crashes,but has the best preformance

endchoice

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...