1. 29 9月, 2009 1 次提交
    • R
      nilfs2: fix missing zero-fill initialization of btree node cache · 1f28fcd9
      Ryusuke Konishi 提交于
      This will fix file system corruption which infrequently happens after
      mount.  The problem was reported from users with the title "[NILFS
      users] Fail to mount NILFS." (Message-ID:
      <200908211918.34720.yuri@itinteg.net>), and so forth.  I've also
      experienced the corruption multiple times on kernel 2.6.30 and 2.6.31.
      
      The problem turned out to be caused due to discordance between
      mapping->nrpages of a btree node cache and the actual number of pages
      hung on the cache; if the mapping->nrpages becomes zero even as it has
      pages, truncate_inode_pages() returns without doing anything.  Usually
      this is harmless except it may cause page leak, but garbage collection
      fairly infrequently sees a stale page remained in the btree node cache
      of DAT (i.e. disk address translation file of nilfs), and induces the
      corruption.
      
      I identified a missing initialization in btree node caches was the
      root cause.  This corrects the bug.
      
      I've tested this for kernel 2.6.30 and 2.6.31.
      Reported-by: NYuri Chislov <yuri@itinteg.net>
      Signed-off-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Cc: stable <stable@kernel.org>
      1f28fcd9
  2. 28 9月, 2009 8 次提交
  3. 27 9月, 2009 22 次提交
  4. 26 9月, 2009 9 次提交