<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs/nilfs2, branch v2.6.32.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>nilfs2: deleted inconsistent comment in nilfs_load_inode_block()</title>
<updated>2009-11-15T08:17:46+00:00</updated>
<author>
<name>Jiro SEKIBA</name>
<email>jir@unicus.jp</email>
</author>
<published>2009-11-15T04:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=18dafac1a4c6c88867a50f9a82492976f20383d6'/>
<id>18dafac1a4c6c88867a50f9a82492976f20383d6</id>
<content type='text'>
The comment says, "Caller of this function MUST lock s_inode_lock",
however just above the comment, it locks s_inode_lock in the function.

Signed-off-by: Jiro SEKIBA &lt;jir@unicus.jp&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The comment says, "Caller of this function MUST lock s_inode_lock",
however just above the comment, it locks s_inode_lock in the function.

Signed-off-by: Jiro SEKIBA &lt;jir@unicus.jp&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix lock order reversal in chcp operation</title>
<updated>2009-11-13T01:33:24+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-11-11T15:13:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c1ea985c710f41e97f1c72c29bbf367375370f0b'/>
<id>c1ea985c710f41e97f1c72c29bbf367375370f0b</id>
<content type='text'>
Will fix the following lock order reversal lockdep detected:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.32-rc6 #7
-------------------------------------------------------
chcp/30157 is trying to acquire lock:
 (&amp;nilfs-&gt;ns_mount_mutex){+.+.+.}, at: [&lt;fed7cfcc&gt;] nilfs_cpfile_change_cpmode+0x46/0x752 [nilfs2]

but task is already holding lock:
 (&amp;nilfs-&gt;ns_segctor_sem){++++.+}, at: [&lt;fed7ca32&gt;] nilfs_transaction_begin+0xba/0x110 [nilfs2]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #2 (&amp;nilfs-&gt;ns_segctor_sem){++++.+}:
       [&lt;c105799c&gt;] __lock_acquire+0x109c/0x139d
       [&lt;c1057d26&gt;] lock_acquire+0x89/0xa0
       [&lt;c14151e2&gt;] down_read+0x31/0x45
       [&lt;fed6d77b&gt;] nilfs_attach_checkpoint+0x8f/0x16b [nilfs2]
       [&lt;fed6e393&gt;] nilfs_get_sb+0x3e7/0x653 [nilfs2]
       [&lt;c10c0ccb&gt;] vfs_kern_mount+0x8b/0x124
       [&lt;c10c0db2&gt;] do_kern_mount+0x37/0xc3
       [&lt;c10d7517&gt;] do_mount+0x64d/0x69d
       [&lt;c10d75cd&gt;] sys_mount+0x66/0x95
       [&lt;c1002a14&gt;] sysenter_do_call+0x12/0x32

-&gt; #1 (&amp;type-&gt;s_umount_key#31/1){+.+.+.}:
       [&lt;c105799c&gt;] __lock_acquire+0x109c/0x139d
       [&lt;c1057d26&gt;] lock_acquire+0x89/0xa0
       [&lt;c104c0f3&gt;] down_write_nested+0x34/0x52
       [&lt;c10c08fe&gt;] sget+0x22e/0x389
       [&lt;fed6e133&gt;] nilfs_get_sb+0x187/0x653 [nilfs2]
       [&lt;c10c0ccb&gt;] vfs_kern_mount+0x8b/0x124
       [&lt;c10c0db2&gt;] do_kern_mount+0x37/0xc3
       [&lt;c10d7517&gt;] do_mount+0x64d/0x69d
       [&lt;c10d75cd&gt;] sys_mount+0x66/0x95
       [&lt;c1002a14&gt;] sysenter_do_call+0x12/0x32

-&gt; #0 (&amp;nilfs-&gt;ns_mount_mutex){+.+.+.}:
       [&lt;c1057727&gt;] __lock_acquire+0xe27/0x139d
       [&lt;c1057d26&gt;] lock_acquire+0x89/0xa0
       [&lt;c1414d63&gt;] mutex_lock_nested+0x41/0x23e
       [&lt;fed7cfcc&gt;] nilfs_cpfile_change_cpmode+0x46/0x752 [nilfs2]
       [&lt;fed801b2&gt;] nilfs_ioctl+0x11a/0x7da [nilfs2]
       [&lt;c10cca12&gt;] vfs_ioctl+0x27/0x6e
       [&lt;c10ccf93&gt;] do_vfs_ioctl+0x491/0x4db
       [&lt;c10cd022&gt;] sys_ioctl+0x45/0x5f
       [&lt;c1002a14&gt;] sysenter_do_call+0x12/0x32

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Will fix the following lock order reversal lockdep detected:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.32-rc6 #7
-------------------------------------------------------
chcp/30157 is trying to acquire lock:
 (&amp;nilfs-&gt;ns_mount_mutex){+.+.+.}, at: [&lt;fed7cfcc&gt;] nilfs_cpfile_change_cpmode+0x46/0x752 [nilfs2]

but task is already holding lock:
 (&amp;nilfs-&gt;ns_segctor_sem){++++.+}, at: [&lt;fed7ca32&gt;] nilfs_transaction_begin+0xba/0x110 [nilfs2]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #2 (&amp;nilfs-&gt;ns_segctor_sem){++++.+}:
       [&lt;c105799c&gt;] __lock_acquire+0x109c/0x139d
       [&lt;c1057d26&gt;] lock_acquire+0x89/0xa0
       [&lt;c14151e2&gt;] down_read+0x31/0x45
       [&lt;fed6d77b&gt;] nilfs_attach_checkpoint+0x8f/0x16b [nilfs2]
       [&lt;fed6e393&gt;] nilfs_get_sb+0x3e7/0x653 [nilfs2]
       [&lt;c10c0ccb&gt;] vfs_kern_mount+0x8b/0x124
       [&lt;c10c0db2&gt;] do_kern_mount+0x37/0xc3
       [&lt;c10d7517&gt;] do_mount+0x64d/0x69d
       [&lt;c10d75cd&gt;] sys_mount+0x66/0x95
       [&lt;c1002a14&gt;] sysenter_do_call+0x12/0x32

-&gt; #1 (&amp;type-&gt;s_umount_key#31/1){+.+.+.}:
       [&lt;c105799c&gt;] __lock_acquire+0x109c/0x139d
       [&lt;c1057d26&gt;] lock_acquire+0x89/0xa0
       [&lt;c104c0f3&gt;] down_write_nested+0x34/0x52
       [&lt;c10c08fe&gt;] sget+0x22e/0x389
       [&lt;fed6e133&gt;] nilfs_get_sb+0x187/0x653 [nilfs2]
       [&lt;c10c0ccb&gt;] vfs_kern_mount+0x8b/0x124
       [&lt;c10c0db2&gt;] do_kern_mount+0x37/0xc3
       [&lt;c10d7517&gt;] do_mount+0x64d/0x69d
       [&lt;c10d75cd&gt;] sys_mount+0x66/0x95
       [&lt;c1002a14&gt;] sysenter_do_call+0x12/0x32

-&gt; #0 (&amp;nilfs-&gt;ns_mount_mutex){+.+.+.}:
       [&lt;c1057727&gt;] __lock_acquire+0xe27/0x139d
       [&lt;c1057d26&gt;] lock_acquire+0x89/0xa0
       [&lt;c1414d63&gt;] mutex_lock_nested+0x41/0x23e
       [&lt;fed7cfcc&gt;] nilfs_cpfile_change_cpmode+0x46/0x752 [nilfs2]
       [&lt;fed801b2&gt;] nilfs_ioctl+0x11a/0x7da [nilfs2]
       [&lt;c10cca12&gt;] vfs_ioctl+0x27/0x6e
       [&lt;c10ccf93&gt;] do_vfs_ioctl+0x491/0x4db
       [&lt;c10cd022&gt;] sys_ioctl+0x45/0x5f
       [&lt;c1002a14&gt;] sysenter_do_call+0x12/0x32

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix missing cleanup of gc cache on error cases</title>
<updated>2009-11-08T10:04:25+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-11-08T03:09:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c083234f1592ef3fad3d8083663c5e4a357ec77c'/>
<id>c083234f1592ef3fad3d8083663c5e4a357ec77c</id>
<content type='text'>
This fixes an -rc1 regression brought by the commit:
1cf58fa840472ec7df6bf2312885949ebb308853 ("nilfs2: shorten freeze
period due to GC in write operation v3").

Although the patch moved out a function call of
nilfs_ioctl_move_blocks() to nilfs_ioctl_clean_segments() from
nilfs_ioctl_prepare_clean_segments(), it didn't move corresponding
cleanup job needed for the error case.

This will move the missing cleanup job to the destination function.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Acked-by: Jiro SEKIBA &lt;jir@unicus.jp&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes an -rc1 regression brought by the commit:
1cf58fa840472ec7df6bf2312885949ebb308853 ("nilfs2: shorten freeze
period due to GC in write operation v3").

Although the patch moved out a function call of
nilfs_ioctl_move_blocks() to nilfs_ioctl_clean_segments() from
nilfs_ioctl_prepare_clean_segments(), it didn't move corresponding
cleanup job needed for the error case.

This will move the missing cleanup job to the destination function.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Acked-by: Jiro SEKIBA &lt;jir@unicus.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks</title>
<updated>2009-11-08T10:01:35+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-11-07T09:45:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5399dd1fc8f5e812db931225ef5f67d89f3b1a56'/>
<id>5399dd1fc8f5e812db931225ef5f67d89f3b1a56</id>
<content type='text'>
This fixes a kernel oops reported by Markus Trippelsdorf in the email
titled "[NILFS users] kernel Oops while running nilfs_cleanerd".

The oops was caused by a bug of error path in
nilfs_ioctl_move_blocks() function, which was inlined in
nilfs_ioctl_clean_segments().

nilfs_ioctl_move_blocks checks duplication of blocks which will be
moved in garbage collection.  But, the check should have be done
within nilfs_ioctl_move_inode_block() to prevent list corruption among
buffers storing the target blocks.

To fix the kernel oops, this moves forward the duplication check
before the list insertion.

I also tested this for stable trees [2.6.30, 2.6.31].

Reported-by: Markus Trippelsdorf &lt;markus@trippelsdorf.de&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Cc: stable &lt;stable@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a kernel oops reported by Markus Trippelsdorf in the email
titled "[NILFS users] kernel Oops while running nilfs_cleanerd".

The oops was caused by a bug of error path in
nilfs_ioctl_move_blocks() function, which was inlined in
nilfs_ioctl_clean_segments().

nilfs_ioctl_move_blocks checks duplication of blocks which will be
moved in garbage collection.  But, the check should have be done
within nilfs_ioctl_move_inode_block() to prevent list corruption among
buffers storing the target blocks.

To fix the kernel oops, this moves forward the duplication check
before the list insertion.

I also tested this for stable trees [2.6.30, 2.6.31].

Reported-by: Markus Trippelsdorf &lt;markus@trippelsdorf.de&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Cc: stable &lt;stable@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: add zero-fill for new btree node buffers</title>
<updated>2009-11-03T03:32:03+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-09-13T16:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=05b4358ad564d7a6a51b3717afe771d36711e9c4'/>
<id>05b4358ad564d7a6a51b3717afe771d36711e9c4</id>
<content type='text'>
Adds missing initialization of newly allocated b-tree node buffers.
This avoids garbage data to be mixed in b-tree node blocks.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds missing initialization of newly allocated b-tree node buffers.
This avoids garbage data to be mixed in b-tree node blocks.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix irregular checkpoint creation due to data flush</title>
<updated>2009-11-03T03:32:03+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-11-02T06:08:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aeda7f6343e6375a832e52ff5ed389c115023ca5'/>
<id>aeda7f6343e6375a832e52ff5ed389c115023ca5</id>
<content type='text'>
When nilfs flushes out dirty data to reduce memory pressure, creation
of checkpoints is wrongly postponed.  This bug causes irregular
checkpoint creation especially in small footprint systems.

To correct this issue, a timer for the checkpoint creation has to be
continued if a log writer does not create a checkpoint.

This will do the correction.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When nilfs flushes out dirty data to reduce memory pressure, creation
of checkpoints is wrongly postponed.  This bug causes irregular
checkpoint creation especially in small footprint systems.

To correct this issue, a timer for the checkpoint creation has to be
continued if a log writer does not create a checkpoint.

This will do the correction.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix dirty page accounting leak causing hang at write</title>
<updated>2009-11-03T03:31:36+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-11-02T15:25:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b1e19e5601277845b4f17ecd7c9ba04f73ee11aa'/>
<id>b1e19e5601277845b4f17ecd7c9ba04f73ee11aa</id>
<content type='text'>
Bruno Prémont and Dunphy, Bill noticed me that NILFS will certainly
hang on ARM-based targets.

I found this was caused by an underflow of dirty pages counter.  A
b-tree cache routine was marking page dirty without adjusting page
account information.

This fixes the dirty page accounting leak and resolves the hang on
arm-based targets.

Reported-by: Bruno Prémont &lt;bonbons@linux-vserver.org&gt;
Reported-by: Dunphy, Bill &lt;WDunphy@tandbergdata.com&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Tested-by: Bruno Prémont &lt;bonbons@linux-vserver.org&gt;
Cc: stable &lt;stable@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bruno Prémont and Dunphy, Bill noticed me that NILFS will certainly
hang on ARM-based targets.

I found this was caused by an underflow of dirty pages counter.  A
b-tree cache routine was marking page dirty without adjusting page
account information.

This fixes the dirty page accounting leak and resolves the hang on
arm-based targets.

Reported-by: Bruno Prémont &lt;bonbons@linux-vserver.org&gt;
Reported-by: Dunphy, Bill &lt;WDunphy@tandbergdata.com&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Tested-by: Bruno Prémont &lt;bonbons@linux-vserver.org&gt;
Cc: stable &lt;stable@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>const: constify remaining file_operations</title>
<updated>2009-10-01T23:11:11+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2009-10-01T22:43:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=828c09509b9695271bcbdc53e9fc9a6a737148d2'/>
<id>828c09509b9695271bcbdc53e9fc9a6a737148d2</id>
<content type='text'>
[akpm@linux-foundation.org: fix KVM]
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[akpm@linux-foundation.org: fix KVM]
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix missing initialization of i_dir_start_lookup member</title>
<updated>2009-09-29T11:32:13+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-09-28T04:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3cc811bffdf35ebaf1467fbec71a49b57800fc74'/>
<id>3cc811bffdf35ebaf1467fbec71a49b57800fc74</id>
<content type='text'>
The i_dir_start_lookup field in nilfs_inode_info objects should be
cleared when the objects are allocated, but the the initialization was
missing in case of reading from disk.  This adds the initialization.

Since the variable just gives a start page on directory lookups, the
bug was nonfatal until now.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The i_dir_start_lookup field in nilfs_inode_info objects should be
cleared when the objects are allocated, but the the initialization was
missing in case of reading from disk.  This adds the initialization.

Since the variable just gives a start page on directory lookups, the
bug was nonfatal until now.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: fix missing zero-fill initialization of btree node cache</title>
<updated>2009-09-29T11:12:56+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-09-27T16:46:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1f28fcd925b2b3157411bbd08f0024b55b70d8dd'/>
<id>1f28fcd925b2b3157411bbd08f0024b55b70d8dd</id>
<content type='text'>
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:
&lt;200908211918.34720.yuri@itinteg.net&gt;), 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-&gt;nrpages of a btree node cache and the actual number of pages
hung on the cache; if the mapping-&gt;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 &lt;yuri@itinteg.net&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Cc: stable &lt;stable@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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:
&lt;200908211918.34720.yuri@itinteg.net&gt;), 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-&gt;nrpages of a btree node cache and the actual number of pages
hung on the cache; if the mapping-&gt;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 &lt;yuri@itinteg.net&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Cc: stable &lt;stable@kernel.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
