<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs/nilfs2/btnode.c, branch v2.6.32.51</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>mm: prevent concurrent unmap_mapping_range() on the same inode</title>
<updated>2011-07-13T03:29:27+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2011-02-23T12:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ffdd12eabed263a487ddc05fdf65be6e4fc717b4'/>
<id>ffdd12eabed263a487ddc05fdf65be6e4fc717b4</id>
<content type='text'>
commit 2aa15890f3c191326678f1bd68af61ec6b8753ec upstream.

Michael Leun reported that running parallel opens on a fuse filesystem
can trigger a "kernel BUG at mm/truncate.c:475"

Gurudas Pai reported the same bug on NFS.

The reason is, unmap_mapping_range() is not prepared for more than
one concurrent invocation per inode.  For example:

  thread1: going through a big range, stops in the middle of a vma and
     stores the restart address in vm_truncate_count.

  thread2: comes in with a small (e.g. single page) unmap request on
     the same vma, somewhere before restart_address, finds that the
     vma was already unmapped up to the restart address and happily
     returns without doing anything.

Another scenario would be two big unmap requests, both having to
restart the unmapping and each one setting vm_truncate_count to its
own value.  This could go on forever without any of them being able to
finish.

Truncate and hole punching already serialize with i_mutex.  Other
callers of unmap_mapping_range() do not, and it's difficult to get
i_mutex protection for all callers.  In particular -&gt;d_revalidate(),
which calls invalidate_inode_pages2_range() in fuse, may be called
with or without i_mutex.

This patch adds a new mutex to 'struct address_space' to prevent
running multiple concurrent unmap_mapping_range() on the same mapping.

[ We'll hopefully get rid of all this with the upcoming mm
  preemptibility series by Peter Zijlstra, the "mm: Remove i_mmap_mutex
  lockbreak" patch in particular.  But that is for 2.6.39 ]

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Reported-by: Michael Leun &lt;lkml20101129@newton.leun.net&gt;
Reported-by: Gurudas Pai &lt;gurudas.pai@oracle.com&gt;
Tested-by: Gurudas Pai &lt;gurudas.pai@oracle.com&gt;
Acked-by: Hugh Dickins &lt;hughd@google.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2aa15890f3c191326678f1bd68af61ec6b8753ec upstream.

Michael Leun reported that running parallel opens on a fuse filesystem
can trigger a "kernel BUG at mm/truncate.c:475"

Gurudas Pai reported the same bug on NFS.

The reason is, unmap_mapping_range() is not prepared for more than
one concurrent invocation per inode.  For example:

  thread1: going through a big range, stops in the middle of a vma and
     stores the restart address in vm_truncate_count.

  thread2: comes in with a small (e.g. single page) unmap request on
     the same vma, somewhere before restart_address, finds that the
     vma was already unmapped up to the restart address and happily
     returns without doing anything.

Another scenario would be two big unmap requests, both having to
restart the unmapping and each one setting vm_truncate_count to its
own value.  This could go on forever without any of them being able to
finish.

Truncate and hole punching already serialize with i_mutex.  Other
callers of unmap_mapping_range() do not, and it's difficult to get
i_mutex protection for all callers.  In particular -&gt;d_revalidate(),
which calls invalidate_inode_pages2_range() in fuse, may be called
with or without i_mutex.

This patch adds a new mutex to 'struct address_space' to prevent
running multiple concurrent unmap_mapping_range() on the same mapping.

[ We'll hopefully get rid of all this with the upcoming mm
  preemptibility series by Peter Zijlstra, the "mm: Remove i_mmap_mutex
  lockbreak" patch in particular.  But that is for 2.6.39 ]

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Reported-by: Michael Leun &lt;lkml20101129@newton.leun.net&gt;
Reported-by: Gurudas Pai &lt;gurudas.pai@oracle.com&gt;
Tested-by: Gurudas Pai &lt;gurudas.pai@oracle.com&gt;
Acked-by: Hugh Dickins &lt;hughd@google.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&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 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>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>
<entry>
<title>const: mark remaining address_space_operations const</title>
<updated>2009-09-22T14:17:24+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2009-09-22T00:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7f09410bbc4306f592cfb43812389ea1c7905a20'/>
<id>7f09410bbc4306f592cfb43812389ea1c7905a20</id>
<content type='text'>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&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>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&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 preempt count underflow in nilfs_btnode_prepare_change_key</title>
<updated>2009-08-31T03:03:06+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-08-29T19:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac'/>
<id>b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac</id>
<content type='text'>
This will fix the following preempt count underflow reported from
users with the title "[NILFS users] segctord problem" (Message-ID:
&lt;949415.6494.qm@web58808.mail.re1.yahoo.com&gt; and Message-ID:
&lt;debc30fc0908270825v747c1734xa59126623cfd5b05@mail.gmail.com&gt;):

 WARNING: at kernel/sched.c:4890 sub_preempt_count+0x95/0xa0()
 Hardware name: HP Compaq 6530b (KR980UT#ABC)
 Modules linked in: bridge stp llc bnep rfcomm l2cap xfs exportfs nilfs2 cowloop loop vboxnetadp vboxnetflt vboxdrv btusb bluetooth uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 arc4 snd_hda_codec_analog ecb iwlagn iwlcore rfkill lib80211 mac80211 snd_hda_intel snd_hda_codec ehci_hcd uhci_hcd usbcore snd_hwdep snd_pcm tg3 cfg80211 psmouse snd_timer joydev libphy ohci1394 snd_page_alloc hp_accel lis3lv02d ieee1394 led_class i915 drm i2c_algo_bit video backlight output i2c_core dm_crypt dm_mod
 Pid: 4197, comm: segctord Not tainted 2.6.30-gentoo-r4-64 #7
 Call Trace:
  [&lt;ffffffff8023fa05&gt;] ? sub_preempt_count+0x95/0xa0
  [&lt;ffffffff802470f8&gt;] warn_slowpath_common+0x78/0xd0
  [&lt;ffffffff8024715f&gt;] warn_slowpath_null+0xf/0x20
  [&lt;ffffffff8023fa05&gt;] sub_preempt_count+0x95/0xa0
  [&lt;ffffffffa04ce4db&gt;] nilfs_btnode_prepare_change_key+0x11b/0x190 [nilfs2]
  [&lt;ffffffffa04d01ad&gt;] nilfs_btree_assign_p+0x19d/0x1e0 [nilfs2]
  [&lt;ffffffffa04d10ad&gt;] nilfs_btree_assign+0xbd/0x130 [nilfs2]
  [&lt;ffffffffa04cead7&gt;] nilfs_bmap_assign+0x47/0x70 [nilfs2]
  [&lt;ffffffffa04d9bc6&gt;] nilfs_segctor_do_construct+0x956/0x20f0 [nilfs2]
  [&lt;ffffffff805ac8e2&gt;] ? _spin_unlock_irqrestore+0x12/0x40
  [&lt;ffffffff803c06e0&gt;] ? __up_write+0xe0/0x150
  [&lt;ffffffff80262959&gt;] ? up_write+0x9/0x10
  [&lt;ffffffffa04ce9f3&gt;] ? nilfs_bmap_test_and_clear_dirty+0x43/0x60 [nilfs2]
  [&lt;ffffffffa04cd627&gt;] ? nilfs_mdt_fetch_dirty+0x27/0x60 [nilfs2]
  [&lt;ffffffffa04db5fc&gt;] nilfs_segctor_construct+0x8c/0xd0 [nilfs2]
  [&lt;ffffffffa04dc3dc&gt;] nilfs_segctor_thread+0x15c/0x3a0 [nilfs2]
  [&lt;ffffffffa04dbe20&gt;] ? nilfs_construction_timeout+0x0/0x10 [nilfs2]
  [&lt;ffffffff80252633&gt;] ? add_timer+0x13/0x20
  [&lt;ffffffff802370da&gt;] ? __wake_up_common+0x5a/0x90
  [&lt;ffffffff8025e960&gt;] ? autoremove_wake_function+0x0/0x40
  [&lt;ffffffffa04dc280&gt;] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]
  [&lt;ffffffffa04dc280&gt;] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]
  [&lt;ffffffff8025e556&gt;] kthread+0x56/0x90
  [&lt;ffffffff8020cdea&gt;] child_rip+0xa/0x20
  [&lt;ffffffff8025e500&gt;] ? kthread+0x0/0x90
  [&lt;ffffffff8020cde0&gt;] ? child_rip+0x0/0x20

This problem was caused due to a missing radix_tree_preload() call in
the retry path of nilfs_btnode_prepare_change_key() function.

Reported-by: Eric A &lt;eric225125@yahoo.com&gt;
Reported-by: Jerome Poulin &lt;jeromepoulin@gmail.com&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Tested-by: Jerome Poulin &lt;jeromepoulin@gmail.com&gt;
Cc: stable@kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will fix the following preempt count underflow reported from
users with the title "[NILFS users] segctord problem" (Message-ID:
&lt;949415.6494.qm@web58808.mail.re1.yahoo.com&gt; and Message-ID:
&lt;debc30fc0908270825v747c1734xa59126623cfd5b05@mail.gmail.com&gt;):

 WARNING: at kernel/sched.c:4890 sub_preempt_count+0x95/0xa0()
 Hardware name: HP Compaq 6530b (KR980UT#ABC)
 Modules linked in: bridge stp llc bnep rfcomm l2cap xfs exportfs nilfs2 cowloop loop vboxnetadp vboxnetflt vboxdrv btusb bluetooth uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 arc4 snd_hda_codec_analog ecb iwlagn iwlcore rfkill lib80211 mac80211 snd_hda_intel snd_hda_codec ehci_hcd uhci_hcd usbcore snd_hwdep snd_pcm tg3 cfg80211 psmouse snd_timer joydev libphy ohci1394 snd_page_alloc hp_accel lis3lv02d ieee1394 led_class i915 drm i2c_algo_bit video backlight output i2c_core dm_crypt dm_mod
 Pid: 4197, comm: segctord Not tainted 2.6.30-gentoo-r4-64 #7
 Call Trace:
  [&lt;ffffffff8023fa05&gt;] ? sub_preempt_count+0x95/0xa0
  [&lt;ffffffff802470f8&gt;] warn_slowpath_common+0x78/0xd0
  [&lt;ffffffff8024715f&gt;] warn_slowpath_null+0xf/0x20
  [&lt;ffffffff8023fa05&gt;] sub_preempt_count+0x95/0xa0
  [&lt;ffffffffa04ce4db&gt;] nilfs_btnode_prepare_change_key+0x11b/0x190 [nilfs2]
  [&lt;ffffffffa04d01ad&gt;] nilfs_btree_assign_p+0x19d/0x1e0 [nilfs2]
  [&lt;ffffffffa04d10ad&gt;] nilfs_btree_assign+0xbd/0x130 [nilfs2]
  [&lt;ffffffffa04cead7&gt;] nilfs_bmap_assign+0x47/0x70 [nilfs2]
  [&lt;ffffffffa04d9bc6&gt;] nilfs_segctor_do_construct+0x956/0x20f0 [nilfs2]
  [&lt;ffffffff805ac8e2&gt;] ? _spin_unlock_irqrestore+0x12/0x40
  [&lt;ffffffff803c06e0&gt;] ? __up_write+0xe0/0x150
  [&lt;ffffffff80262959&gt;] ? up_write+0x9/0x10
  [&lt;ffffffffa04ce9f3&gt;] ? nilfs_bmap_test_and_clear_dirty+0x43/0x60 [nilfs2]
  [&lt;ffffffffa04cd627&gt;] ? nilfs_mdt_fetch_dirty+0x27/0x60 [nilfs2]
  [&lt;ffffffffa04db5fc&gt;] nilfs_segctor_construct+0x8c/0xd0 [nilfs2]
  [&lt;ffffffffa04dc3dc&gt;] nilfs_segctor_thread+0x15c/0x3a0 [nilfs2]
  [&lt;ffffffffa04dbe20&gt;] ? nilfs_construction_timeout+0x0/0x10 [nilfs2]
  [&lt;ffffffff80252633&gt;] ? add_timer+0x13/0x20
  [&lt;ffffffff802370da&gt;] ? __wake_up_common+0x5a/0x90
  [&lt;ffffffff8025e960&gt;] ? autoremove_wake_function+0x0/0x40
  [&lt;ffffffffa04dc280&gt;] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]
  [&lt;ffffffffa04dc280&gt;] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]
  [&lt;ffffffff8025e556&gt;] kthread+0x56/0x90
  [&lt;ffffffff8020cdea&gt;] child_rip+0xa/0x20
  [&lt;ffffffff8025e500&gt;] ? kthread+0x0/0x90
  [&lt;ffffffff8020cde0&gt;] ? child_rip+0x0/0x20

This problem was caused due to a missing radix_tree_preload() call in
the retry path of nilfs_btnode_prepare_change_key() function.

Reported-by: Eric A &lt;eric225125@yahoo.com&gt;
Reported-by: Jerome Poulin &lt;jeromepoulin@gmail.com&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Tested-by: Jerome Poulin &lt;jeromepoulin@gmail.com&gt;
Cc: stable@kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: add sync_page method to page caches of meta data</title>
<updated>2009-06-10T14:41:12+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-05-27T13:44:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fa032744ad41de1b0a1807e7c379c6196e72ad80'/>
<id>fa032744ad41de1b0a1807e7c379c6196e72ad80</id>
<content type='text'>
This applies block_sync_page() function to the sync_page method of
page caches for meta data files, gc page caches, and btree node
buffers.  This is a companion patch of ("nilfs2: enable sync_page
mothod") which applied the function for data pages.

This allows lock_page() for those meta data to unplug pending bio
requests.

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>
This applies block_sync_page() function to the sync_page method of
page caches for meta data files, gc page caches, and btree node
buffers.  This is a companion patch of ("nilfs2: enable sync_page
mothod") which applied the function for data pages.

This allows lock_page() for those meta data to unplug pending bio
requests.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: use device's backing_dev_info for btree node caches</title>
<updated>2009-06-10T14:41:12+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-05-27T13:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a53b4751ae92adb372017222887f3ec625cba60b'/>
<id>a53b4751ae92adb372017222887f3ec625cba60b</id>
<content type='text'>
Previously, default_backing_dev_info was used for the mapping of btree
node caches.  This uses device dependent backing_dev_info to allow
detailed control of the device for the btree node pages.

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>
Previously, default_backing_dev_info was used for the mapping of btree
node caches.  This uses device dependent backing_dev_info to allow
detailed control of the device for the btree node pages.

Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nilfs2: B-tree node cache</title>
<updated>2009-04-07T15:31:13+00:00</updated>
<author>
<name>Ryusuke Konishi</name>
<email>konishi.ryusuke@lab.ntt.co.jp</email>
</author>
<published>2009-04-07T02:01:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a60be987d45dd510aeb54389526f9957cfab106c'/>
<id>a60be987d45dd510aeb54389526f9957cfab106c</id>
<content type='text'>
This adds routines for B-tree node buffers.

Signed-off-by: Seiji Kihara &lt;kihara.seiji@lab.ntt.co.jp&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&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>
This adds routines for B-tree node buffers.

Signed-off-by: Seiji Kihara &lt;kihara.seiji@lab.ntt.co.jp&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&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>
</feed>
