Decentralized, Epoch-based F2FS Journaling with Fine-grained Crash Recovery
Yaotian Cui, Zhiqi Wang, Renhai Chen, Zili Shao
摘要
F2FS, a log-structured filesystem, has gained widespread adoption in Android systems. However, F2FS relies on coarsegrained checkpointing for crash recovery. When triggered, this mechanism significantly degrades system performance by blocking file writes. Additionally, F2FS's checkpointing approach may not fully recover file data and metadata to a consistent state after a crash. Given these limitations, it is crucial to design a new journaling mechanism for F2FS that provides fine-grained crash recovery. While journaling methods are well-studied for in-place-update filesystems (such as JBD2 for EXT4), directly applying these state-of-the-art techniques to F2FS -an out-of-place-update filesystem -does not yield similar benefits.
In this paper, we propose a novel journaling technique, called F2FSJ, for F2FS with ordered journal mode. Catering to the out-of-place update features of F2FS, F2FSJ incorporate several innovative designs. First, in F2FSJ, only metadata changes are journaled and committed after data flushing, by which I/O and storage overheads can be mitigated. Second, we propose a decentralized journal design by embedding journal logs into inodes, which significantly reduces lock contention and interference when recording metadata changes. Third, we propose an epoch-based approach with a novel data/controlplane decoupling mechanism, which eliminates waiting times during journal period transfers. Finally, for journal apply, we propose a fast-forward-to-latest approach to consolidate multiple small updates into one update for reducing small writes. We have implemented a fully functional prototype of F2FSJ and conducted extensive experiments. Our experimental results demonstrate that F2FSJ can effectively reduce the checkpointing time by up to 4.9x and reduce the latency by up to 35% compared with F2FS. F2FSJ is open-sourced for public access.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper4
- WineFS: a hugepage-aware file system for persistent memory that ages gracefullyRohan Kadekodi, Saurabh Kadekodi, Soujanya Ponnapalli, Harshad Shirwadkar 等SOSP 2021 · 被引用 35 次
- FastCommit: resource-efficient, performant and cost-effective file system journalingHarshad Shirwadkar, Saurabh Kadekodi, Theodore Y. Ts'oUSENIX ATC 2024 · 被引用 6 次
- LODIC: Logical Distributed Counting for Scalable File AccessJeoungahn Park, Taeho Hwang, Jongmoo Choi, Changwoo Min 等USENIX ATC 2021 · 被引用 1 次
- CJFS: Concurrent Journaling for Better ScalabilityJoontaek Oh, Seung Won Yoo, Hojin Nam, Changwoo Min 等FAST 2023
相关 Paper
- Z-Journal: Scalable Per-Core JournalingJongseok Kim, Cassiano Campes, Joo Young Hwang, Jinkyu Jeong 等USENIX ATC 2021 · 被引用 22 次
- Fast and Synchronous Crash Consistency with Metadata Write-Once File SystemYanqi Pan, Wen Xia, Yifeng Zhang, Xiangyu Zou 等OSDI 2025
- ScaleXFS: Getting scalability of XFS back on the ringDohyun Kim, Kwangwon Min, Joontaek Oh, Youjip WonFAST 2022 · 被引用 14 次
- D2FS: Device-Driven Filesystem Garbage CollectionJuwon Kim, Seungjae Lee, Joontaek Oh, Dongkun Shin 等FAST 2025 · 被引用 7 次
- IPLFS: Log-Structured File System without Garbage CollectionJuwon Kim, Minsu Kim, Muhammad Danish Tehseen, Joontaek Oh 等USENIX ATC 2022
