<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs/nfs/blocklayout/blocklayout.c, branch v3.2.20</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>pnfsblock: limit bio page count</title>
<updated>2012-01-26T00:13:37+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2012-01-12T15:18:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b4e8ff2994fa04444d813a3dfd2e8762756a00ec'/>
<id>b4e8ff2994fa04444d813a3dfd2e8762756a00ec</id>
<content type='text'>
commit 74a6eeb44ca6174d9cc93b9b8b4d58211c57bc80 upstream.

One bio can have at most BIO_MAX_PAGES pages. We should limit it bec otherwise
bio_alloc will fail when there are many pages in one read/write_pagelist.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&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 74a6eeb44ca6174d9cc93b9b8b4d58211c57bc80 upstream.

One bio can have at most BIO_MAX_PAGES pages. We should limit it bec otherwise
bio_alloc will fail when there are many pages in one read/write_pagelist.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pnfsblock: don't spinlock when freeing block_dev</title>
<updated>2012-01-26T00:13:36+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2012-01-12T15:18:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7e0f9f47b49048c1a809a9bfff85002cb7fbf8e3'/>
<id>7e0f9f47b49048c1a809a9bfff85002cb7fbf8e3</id>
<content type='text'>
commit 93a3844ee0f843b05a1df4b52e1a19ff26b98d24 upstream.

bl_free_block_dev() may sleep. We can not call it with spinlock held.
Besides, there is no need to take bm_lock as we are last user freeing bm_devlist.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&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 93a3844ee0f843b05a1df4b52e1a19ff26b98d24 upstream.

bl_free_block_dev() may sleep. We can not call it with spinlock held.
Besides, there is no need to take bm_lock as we are last user freeing bm_devlist.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pnfsblock: fix writeback deadlock</title>
<updated>2011-10-18T16:08:15+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2011-09-23T01:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7542274519b3ba87555410c66e8356ac1e3bc9b3'/>
<id>7542274519b3ba87555410c66e8356ac1e3bc9b3</id>
<content type='text'>
We should check if the sector is already initialized before
trying to grab the page from page cache. Otherwise when two
pages of the same block are written back by two threads each
calling from writepage_locked, it can cause deadlock like bellow.

 [ 1080.972099] INFO: task kswapd0:25 blocked for more than 120 seconds.
 [ 1080.972377] "echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 [ 1080.972812] kswapd0         D ffff88000c4926c0     0    25      2 0x00000000
 [ 1080.972816]  ffff88000df276b0 0000000000000046 ffff88000df27640 ffffffff81013ba7
 [ 1080.972821]  ffff88000c492310 ffff88000df27fd8 ffff88000df27fd8 00000000001d3440
 [ 1080.972824]  ffff88000c378000 ffff88000c492310 ffff8800175d3d40 ffff880017fc75a8
 [ 1080.972828] Call Trace:
 [ 1080.972860]  [&lt;ffffffff81013ba7&gt;] ? read_tsc+0x9/0x19
 [ 1080.972877]  [&lt;ffffffff810e0b23&gt;] ? lock_page+0x2b/0x2b
 [ 1080.972899]  [&lt;ffffffff81475a1d&gt;] io_schedule+0x63/0x7e
 [ 1080.972902]  [&lt;ffffffff810e0b31&gt;] sleep_on_page+0xe/0x12
 [ 1080.972905]  [&lt;ffffffff81475fe8&gt;] __wait_on_bit_lock+0x46/0x8f
 [ 1080.972916]  [&lt;ffffffff810822d7&gt;] ? lock_release_holdtime.part.7+0x6b/0x72
 [ 1080.972919]  [&lt;ffffffff810e0af6&gt;] __lock_page+0x66/0x68
 [ 1080.972928]  [&lt;ffffffff81072705&gt;] ? autoremove_wake_function+0x3d/0x3d
 [ 1080.972932]  [&lt;ffffffff810e0b1f&gt;] lock_page+0x27/0x2b
 [ 1080.972934]  [&lt;ffffffff810e0bcf&gt;] find_lock_page+0x34/0x57
 [ 1080.972937]  [&lt;ffffffff810e1738&gt;] find_or_create_page+0x34/0x8a
 [ 1080.972947]  [&lt;ffffffffa034245b&gt;] bl_write_pagelist+0x205/0x6da [blocklayoutdriver]
 [ 1080.972951]  [&lt;ffffffffa034145d&gt;] ? bl_free_lseg+0x38/0x38 [blocklayoutdriver]
 [ 1080.972995]  [&lt;ffffffffa02e27b9&gt;] ? nfs_write_rpcsetup+0x118/0x123 [nfs]
 [ 1080.973033]  [&lt;ffffffffa030246b&gt;] pnfs_generic_pg_writepages+0x10b/0x1f4 [nfs]
 [ 1080.973089]  [&lt;ffffffffa02deaae&gt;] nfs_pageio_doio+0x1a/0x43 [nfs]
 [ 1080.973098]  [&lt;ffffffffa02df035&gt;] nfs_pageio_complete+0x16/0x2d [nfs]
 [ 1080.973108]  [&lt;ffffffffa02e2d8f&gt;] nfs_writepage_locked+0xa0/0xbf [nfs]
 [ 1080.973119]  [&lt;ffffffffa02e36a1&gt;] nfs_writepage+0x16/0x2b [nfs]
 [ 1080.973122]  [&lt;ffffffff810e8762&gt;] ? clear_page_dirty_for_io+0x87/0x9a
 [ 1080.973133]  [&lt;ffffffff810efc5b&gt;] shrink_page_list+0x39b/0x6c8
 [ 1080.973139]  [&lt;ffffffff810f03bb&gt;] shrink_inactive_list+0x22c/0x39e
 [ 1080.973144]  [&lt;ffffffff810822d7&gt;] ? lock_release_holdtime.part.7+0x6b/0x72
 [ 1080.973148]  [&lt;ffffffff810f0c33&gt;] shrink_zone+0x445/0x588
 [ 1080.973152]  [&lt;ffffffff810f1a11&gt;] balance_pgdat+0x2c2/0x56b
 [ 1080.973170]  [&lt;ffffffff81254208&gt;] ? __bitmap_weight+0x34/0x80
 [ 1080.973175]  [&lt;ffffffff810f1f78&gt;] kswapd+0x2be/0x2fa
 [ 1080.973179]  [&lt;ffffffff810726c8&gt;] ? __init_waitqueue_head+0x4b/0x4b
 [ 1080.973183]  [&lt;ffffffff810f1cba&gt;] ? balance_pgdat+0x56b/0x56b
 [ 1080.973187]  [&lt;ffffffff81071f69&gt;] kthread+0xa8/0xb0
 [ 1080.973200]  [&lt;ffffffff814806b4&gt;] kernel_thread_helper+0x4/0x10
 [ 1080.973205]  [&lt;ffffffff81071ec1&gt;] ? __init_kthread_worker+0x5a/0x5a
 [ 1080.973210]  [&lt;ffffffff814806b0&gt;] ? gs_change+0x13/0x13
 [ 1080.973213] no locks held by kswapd0/25.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should check if the sector is already initialized before
trying to grab the page from page cache. Otherwise when two
pages of the same block are written back by two threads each
calling from writepage_locked, it can cause deadlock like bellow.

 [ 1080.972099] INFO: task kswapd0:25 blocked for more than 120 seconds.
 [ 1080.972377] "echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 [ 1080.972812] kswapd0         D ffff88000c4926c0     0    25      2 0x00000000
 [ 1080.972816]  ffff88000df276b0 0000000000000046 ffff88000df27640 ffffffff81013ba7
 [ 1080.972821]  ffff88000c492310 ffff88000df27fd8 ffff88000df27fd8 00000000001d3440
 [ 1080.972824]  ffff88000c378000 ffff88000c492310 ffff8800175d3d40 ffff880017fc75a8
 [ 1080.972828] Call Trace:
 [ 1080.972860]  [&lt;ffffffff81013ba7&gt;] ? read_tsc+0x9/0x19
 [ 1080.972877]  [&lt;ffffffff810e0b23&gt;] ? lock_page+0x2b/0x2b
 [ 1080.972899]  [&lt;ffffffff81475a1d&gt;] io_schedule+0x63/0x7e
 [ 1080.972902]  [&lt;ffffffff810e0b31&gt;] sleep_on_page+0xe/0x12
 [ 1080.972905]  [&lt;ffffffff81475fe8&gt;] __wait_on_bit_lock+0x46/0x8f
 [ 1080.972916]  [&lt;ffffffff810822d7&gt;] ? lock_release_holdtime.part.7+0x6b/0x72
 [ 1080.972919]  [&lt;ffffffff810e0af6&gt;] __lock_page+0x66/0x68
 [ 1080.972928]  [&lt;ffffffff81072705&gt;] ? autoremove_wake_function+0x3d/0x3d
 [ 1080.972932]  [&lt;ffffffff810e0b1f&gt;] lock_page+0x27/0x2b
 [ 1080.972934]  [&lt;ffffffff810e0bcf&gt;] find_lock_page+0x34/0x57
 [ 1080.972937]  [&lt;ffffffff810e1738&gt;] find_or_create_page+0x34/0x8a
 [ 1080.972947]  [&lt;ffffffffa034245b&gt;] bl_write_pagelist+0x205/0x6da [blocklayoutdriver]
 [ 1080.972951]  [&lt;ffffffffa034145d&gt;] ? bl_free_lseg+0x38/0x38 [blocklayoutdriver]
 [ 1080.972995]  [&lt;ffffffffa02e27b9&gt;] ? nfs_write_rpcsetup+0x118/0x123 [nfs]
 [ 1080.973033]  [&lt;ffffffffa030246b&gt;] pnfs_generic_pg_writepages+0x10b/0x1f4 [nfs]
 [ 1080.973089]  [&lt;ffffffffa02deaae&gt;] nfs_pageio_doio+0x1a/0x43 [nfs]
 [ 1080.973098]  [&lt;ffffffffa02df035&gt;] nfs_pageio_complete+0x16/0x2d [nfs]
 [ 1080.973108]  [&lt;ffffffffa02e2d8f&gt;] nfs_writepage_locked+0xa0/0xbf [nfs]
 [ 1080.973119]  [&lt;ffffffffa02e36a1&gt;] nfs_writepage+0x16/0x2b [nfs]
 [ 1080.973122]  [&lt;ffffffff810e8762&gt;] ? clear_page_dirty_for_io+0x87/0x9a
 [ 1080.973133]  [&lt;ffffffff810efc5b&gt;] shrink_page_list+0x39b/0x6c8
 [ 1080.973139]  [&lt;ffffffff810f03bb&gt;] shrink_inactive_list+0x22c/0x39e
 [ 1080.973144]  [&lt;ffffffff810822d7&gt;] ? lock_release_holdtime.part.7+0x6b/0x72
 [ 1080.973148]  [&lt;ffffffff810f0c33&gt;] shrink_zone+0x445/0x588
 [ 1080.973152]  [&lt;ffffffff810f1a11&gt;] balance_pgdat+0x2c2/0x56b
 [ 1080.973170]  [&lt;ffffffff81254208&gt;] ? __bitmap_weight+0x34/0x80
 [ 1080.973175]  [&lt;ffffffff810f1f78&gt;] kswapd+0x2be/0x2fa
 [ 1080.973179]  [&lt;ffffffff810726c8&gt;] ? __init_waitqueue_head+0x4b/0x4b
 [ 1080.973183]  [&lt;ffffffff810f1cba&gt;] ? balance_pgdat+0x56b/0x56b
 [ 1080.973187]  [&lt;ffffffff81071f69&gt;] kthread+0xa8/0xb0
 [ 1080.973200]  [&lt;ffffffff814806b4&gt;] kernel_thread_helper+0x4/0x10
 [ 1080.973205]  [&lt;ffffffff81071ec1&gt;] ? __init_kthread_worker+0x5a/0x5a
 [ 1080.973210]  [&lt;ffffffff814806b0&gt;] ? gs_change+0x13/0x13
 [ 1080.973213] no locks held by kswapd0/25.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pnfsblock: fix NULL pointer dereference</title>
<updated>2011-10-18T16:08:14+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2011-09-23T01:50:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e6d05a757c314ad88d0649d3835a8a1daa964236'/>
<id>e6d05a757c314ad88d0649d3835a8a1daa964236</id>
<content type='text'>
bl_add_page_to_bio returns error pointer. bio should be reset to
NULL in failure cases as the out path always calls bl_submit_bio.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bl_add_page_to_bio returns error pointer. bio should be reset to
NULL in failure cases as the out path always calls bl_submit_bio.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pnfs: make _set_lo_fail generic</title>
<updated>2011-10-18T16:08:13+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2011-09-23T01:50:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1b0ae068779874f54b55aac3a2a992bcf3f2c3c4'/>
<id>1b0ae068779874f54b55aac3a2a992bcf3f2c3c4</id>
<content type='text'>
file layout and block layout both use it to set mark layout io failure
bit. So make it generic.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
file layout and block layout both use it to set mark layout io failure
bit. So make it generic.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pnfsblock: add missing rpc_put_mount and path_put</title>
<updated>2011-10-18T16:08:12+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2011-09-23T01:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=760383f1ee4d14b0e0bdf0cddee648d9b8633429'/>
<id>760383f1ee4d14b0e0bdf0cddee648d9b8633429</id>
<content type='text'>
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SUNRPC/NFS: make rpc pipe upcall generic</title>
<updated>2011-10-18T16:08:12+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2011-09-23T01:50:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c1225158a8dad9e9d5eee8a17dbbd9c7cda05ab9'/>
<id>c1225158a8dad9e9d5eee8a17dbbd9c7cda05ab9</id>
<content type='text'>
The same function is used by idmap, gss and blocklayout code. Make it
generic.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The same function is used by idmap, gss and blocklayout code. Make it
generic.

Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pnfsblock: fix return code confusion</title>
<updated>2011-10-18T16:08:11+00:00</updated>
<author>
<name>Jim Rees</name>
<email>rees@umich.edu</email>
</author>
<published>2011-09-23T01:50:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=516f2e24faa7548a61d9ba790958528469c2e284'/>
<id>516f2e24faa7548a61d9ba790958528469c2e284</id>
<content type='text'>
Always return PTR_ERR, not NULL, from nfs4_blk_get_deviceinfo and
nfs4_blk_decode_device.

Check for IS_ERR, not NULL, in bl_set_layoutdriver when calling
nfs4_blk_get_deviceinfo.

Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Always return PTR_ERR, not NULL, from nfs4_blk_get_deviceinfo and
nfs4_blk_decode_device.

Check for IS_ERR, not NULL, in bl_set_layoutdriver when calling
nfs4_blk_get_deviceinfo.

Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: add missing prefetch.h include</title>
<updated>2011-08-04T15:54:25+00:00</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2011-08-02T07:57:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=88c9e42196285a7c573e2abda11a4b5037c669bc'/>
<id>88c9e42196285a7c573e2abda11a4b5037c669bc</id>
<content type='text'>
Fix this compile error on s390:

  CC [M]  fs/nfs/blocklayout/blocklayout.o
fs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_read':
fs/nfs/blocklayout/blocklayout.c:201:4: error: implicit declaration of function 'prefetchw'

Introduced with 9549ec01 "pnfsblock: bl_read_pagelist".

Cc: Fred Isaman &lt;iisaman@citi.umich.edu&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix this compile error on s390:

  CC [M]  fs/nfs/blocklayout/blocklayout.o
fs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_read':
fs/nfs/blocklayout/blocklayout.c:201:4: error: implicit declaration of function 'prefetchw'

Introduced with 9549ec01 "pnfsblock: bl_read_pagelist".

Cc: Fred Isaman &lt;iisaman@citi.umich.edu&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pnfsblock: write_pagelist handle zero invalid extents</title>
<updated>2011-07-31T16:18:17+00:00</updated>
<author>
<name>Peng Tao</name>
<email>bergwolf@gmail.com</email>
</author>
<published>2011-07-31T00:52:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=71cdd40fd498f12679070def668f6a4719ddbd1c'/>
<id>71cdd40fd498f12679070def668f6a4719ddbd1c</id>
<content type='text'>
For invalid extents, find other pages in the same fsblock and write them out.

[pnfsblock: write_begin]
Signed-off-by: Fred Isaman &lt;iisaman@citi.umich.edu&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@panasas.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For invalid extents, find other pages in the same fsblock and write them out.

[pnfsblock: write_begin]
Signed-off-by: Fred Isaman &lt;iisaman@citi.umich.edu&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@panasas.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Peng Tao &lt;peng_tao@emc.com&gt;
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
