Files
linux-legacy/fs/nilfs2
Ryusuke Konishi 3a9b96ab8d nilfs2: fix missing zero-fill initialization of btree node cache
commit 1f28fcd925b2b3157411bbd08f0024b55b70d8dd upstream.

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: Yuri Chislov <yuri@itinteg.net>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-10-05 09:31:50 -07:00
..
2009-04-07 08:31:13 -07:00
2009-04-07 08:31:13 -07:00
2009-07-12 12:22:34 -07:00
2009-04-07 08:31:19 -07:00
2009-04-07 08:31:14 -07:00
2009-04-07 08:31:14 -07:00
2009-06-24 08:17:05 -04:00
2009-07-14 12:34:17 +09:00
2009-04-07 08:31:16 -07:00
2009-04-07 08:31:13 -07:00
2009-06-24 08:17:05 -04:00
2009-06-11 21:36:18 -04:00