2 Jun 2012 18:51
[PATCH] nilfs2: ensure proper cache clearing for gc-inodes
This is a bug fix for meta-data corruption problem during garbage collection. I found stale block data on gc-inodes infrequently causes incorrect relocation of on-disk block and leads to file system corruption. The following patch will fix it. I will send it to upstream and stable trees after some tests. Ryusuke Konishi -- From: Ryusuke Konishi <konishi.ryusuke@...> nilfs2: ensure proper cache clearing for gc-inodes A gc-inode is a pseudo inode used to buffer the blocks to be moved by garbage collection. Block caches of gc-inodes must be cleared every time a garbage collection function (nilfs_clean_segments) completes. Otherwise, stale blocks buffered in the caches may be wrongly reused in successive calls of the GC function. For user files, this is not a problem because their gc-inodes are distinguished by a checkpoint number as well as an inode number. They never buffer different blocks if either an inode number, a checkpoint number, or a block offset differs. However, gc-inodes of sufile, cpfile and DAT file can store different(Continue reading)
RSS Feed