<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/filelayout, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-21T20:54:04Z</updated>
<entry>
<title>NFS: Simplify nfs_request_add_commit_list() arguments</title>
<updated>2016-01-21T20:54:04Z</updated>
<author>
<name>Anna Schumaker</name>
</author>
<published>2016-01-15T21:54:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6272dcc6beebbc2d8cf4165b628169e878f143e0'/>
<id>urn:sha1:6272dcc6beebbc2d8cf4165b628169e878f143e0</id>
<content type='text'>
I noticed that all the callers of this function pass cinfo-&gt;mds-&gt;list as
an argument in addition to the cinfo structure itself.  Let's get rid of
the extra argument, since it doesn't seem to be adding anything.

Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pNFS/flexfiles: Don't mark the entire layout as failed, when returning it</title>
<updated>2015-12-28T19:32:40Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-12-15T16:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9fc773ef512dd3db71560463d0e5543c35fe976'/>
<id>urn:sha1:b9fc773ef512dd3db71560463d0e5543c35fe976</id>
<content type='text'>
In pNFS/flexfiles, we want to return the layout without necessarily marking
it as having completely failed. We therefore move the call to
pnfs_layout_io_set_failed() out of pnfs_error_mark_layout_for_return(),
and then ensura that pNFS/files layout calls it separately.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS41: pop some layoutget errors to application</title>
<updated>2015-12-28T19:32:36Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2015-12-03T18:57:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d600ad1f2bdbf97c4818dcc85b174f72c90c21bd'/>
<id>urn:sha1:d600ad1f2bdbf97c4818dcc85b174f72c90c21bd</id>
<content type='text'>
For ERESTARTSYS/EIO/EROFS/ENOSPC/E2BIG in layoutget, we
should just bail out instead of hiding the error and
retrying inband IO.

Change all the call sites to pop the error all the way up.

Signed-off-by: Peng Tao &lt;tao.peng@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs/filelayout: Fix NULL reference caused by double freeing of fh_array</title>
<updated>2015-09-17T22:10:28Z</updated>
<author>
<name>Kinglong Mee</name>
</author>
<published>2015-09-14T12:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ec0c97959abff33a42db9081c22132bcff5b4f2'/>
<id>urn:sha1:3ec0c97959abff33a42db9081c22132bcff5b4f2</id>
<content type='text'>
If filelayout_decode_layout fail, _filelayout_free_lseg will causes
a double freeing of fh_array.

[ 1179.279800] BUG: unable to handle kernel NULL pointer dereference at           (null)
[ 1179.280198] IP: [&lt;ffffffffa027222d&gt;] filelayout_free_fh_array.isra.11+0x1d/0x70 [nfs_layout_nfsv41_files]
[ 1179.281010] PGD 0
[ 1179.281443] Oops: 0000 [#1]
[ 1179.281831] Modules linked in: nfs_layout_nfsv41_files(OE) nfsv4(OE) nfs(OE) fscache(E) xfs libcrc32c coretemp nfsd crct10dif_pclmul ppdev crc32_pclmul crc32c_intel auth_rpcgss ghash_clmulni_intel nfs_acl lockd vmw_balloon grace sunrpc parport_pc vmw_vmci parport shpchp i2c_piix4 vmwgfx drm_kms_helper ttm drm serio_raw mptspi scsi_transport_spi mptscsih e1000 mptbase ata_generic pata_acpi [last unloaded: fscache]
[ 1179.283891] CPU: 0 PID: 13336 Comm: cat Tainted: G           OE   4.3.0-rc1-pnfs+ #244
[ 1179.284323] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/20/2014
[ 1179.285206] task: ffff8800501d48c0 ti: ffff88003e3c4000 task.ti: ffff88003e3c4000
[ 1179.285668] RIP: 0010:[&lt;ffffffffa027222d&gt;]  [&lt;ffffffffa027222d&gt;] filelayout_free_fh_array.isra.11+0x1d/0x70 [nfs_layout_nfsv41_files]
[ 1179.286612] RSP: 0018:ffff88003e3c77f8  EFLAGS: 00010202
[ 1179.287092] RAX: 0000000000000000 RBX: ffff88001fe78900 RCX: 0000000000000000
[ 1179.287731] RDX: ffffea0000f40760 RSI: ffff88001fe789c8 RDI: ffff88001fe789c0
[ 1179.288383] RBP: ffff88003e3c7810 R08: ffffea0000f40760 R09: 0000000000000000
[ 1179.289170] R10: 0000000000000000 R11: 0000000000000001 R12: ffff88001fe789c8
[ 1179.289959] R13: ffff88001fe789c0 R14: ffff88004ec05a80 R15: ffff88004f935b88
[ 1179.290791] FS:  00007f4e66bb5700(0000) GS:ffffffff81c29000(0000) knlGS:0000000000000000
[ 1179.291580] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1179.292209] CR2: 0000000000000000 CR3: 00000000203f8000 CR4: 00000000001406f0
[ 1179.292731] Stack:
[ 1179.293195]  ffff88001fe78900 00000000000000d0 ffff88001fe78178 ffff88003e3c7868
[ 1179.293676]  ffffffffa0272737 0000000000000001 0000000000000001 ffff88001fe78800
[ 1179.294151]  00000000614fffce ffffffff81727671 ffff88001fe78100 ffff88001fe78100
[ 1179.294623] Call Trace:
[ 1179.295092]  [&lt;ffffffffa0272737&gt;] filelayout_alloc_lseg+0xa7/0x2d0 [nfs_layout_nfsv41_files]
[ 1179.295625]  [&lt;ffffffff81727671&gt;] ? out_of_line_wait_on_bit+0x81/0xb0
[ 1179.296133]  [&lt;ffffffffa040407e&gt;] pnfs_layout_process+0xae/0x320 [nfsv4]
[ 1179.296632]  [&lt;ffffffffa03e0a01&gt;] nfs4_proc_layoutget+0x2b1/0x360 [nfsv4]
[ 1179.297134]  [&lt;ffffffffa0402983&gt;] pnfs_update_layout+0x853/0xb30 [nfsv4]
[ 1179.297632]  [&lt;ffffffffa039db24&gt;] ? nfs_get_lock_context+0x74/0x170 [nfs]
[ 1179.298158]  [&lt;ffffffffa0271807&gt;] filelayout_pg_init_read+0x37/0x50 [nfs_layout_nfsv41_files]
[ 1179.298834]  [&lt;ffffffffa03a72d9&gt;] __nfs_pageio_add_request+0x119/0x460 [nfs]
[ 1179.299385]  [&lt;ffffffffa03a6bd7&gt;] ? nfs_create_request.part.9+0x37/0x2e0 [nfs]
[ 1179.299872]  [&lt;ffffffffa03a7cc3&gt;] nfs_pageio_add_request+0xa3/0x1b0 [nfs]
[ 1179.300362]  [&lt;ffffffffa03a8635&gt;] readpage_async_filler+0x85/0x260 [nfs]
[ 1179.300907]  [&lt;ffffffff81180cb1&gt;] read_cache_pages+0x91/0xd0
[ 1179.301391]  [&lt;ffffffffa03a85b0&gt;] ? nfs_read_completion+0x220/0x220 [nfs]
[ 1179.301867]  [&lt;ffffffffa03a8dc8&gt;] nfs_readpages+0x128/0x200 [nfs]
[ 1179.302330]  [&lt;ffffffff81180ef3&gt;] __do_page_cache_readahead+0x203/0x280
[ 1179.302784]  [&lt;ffffffff81180dc8&gt;] ? __do_page_cache_readahead+0xd8/0x280
[ 1179.303413]  [&lt;ffffffff81181116&gt;] ondemand_readahead+0x1a6/0x2f0
[ 1179.303855]  [&lt;ffffffff81181371&gt;] page_cache_sync_readahead+0x31/0x50
[ 1179.304286]  [&lt;ffffffff811750a6&gt;] generic_file_read_iter+0x4a6/0x5c0
[ 1179.304711]  [&lt;ffffffffa03a0316&gt;] ? __nfs_revalidate_mapping+0x1f6/0x240 [nfs]
[ 1179.305132]  [&lt;ffffffffa039ccf2&gt;] nfs_file_read+0x52/0xa0 [nfs]
[ 1179.305540]  [&lt;ffffffff811e343c&gt;] __vfs_read+0xcc/0x100
[ 1179.305936]  [&lt;ffffffff811e3d15&gt;] vfs_read+0x85/0x130
[ 1179.306326]  [&lt;ffffffff811e4a98&gt;] SyS_read+0x58/0xd0
[ 1179.306708]  [&lt;ffffffff8172caaf&gt;] entry_SYSCALL_64_fastpath+0x12/0x76
[ 1179.307094] Code: c4 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 55 41 54 53 8b 07 49 89 f4 85 c0 74 47 48 8b 06 49 89 fd &lt;48&gt; 8b 38 48 85 ff 74 22 31 db eb 0c 48 63 d3 48 8b 3c d0 48 85
[ 1179.308357] RIP  [&lt;ffffffffa027222d&gt;] filelayout_free_fh_array.isra.11+0x1d/0x70 [nfs_layout_nfsv41_files]
[ 1179.309177]  RSP &lt;ffff88003e3c77f8&gt;
[ 1179.309582] CR2: 0000000000000000

Signed-off-by: Kinglong Mee &lt;kinglongmee@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>writeback: separate out include/linux/backing-dev-defs.h</title>
<updated>2015-06-02T14:33:34Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2015-05-22T21:13:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=66114cad64bf76a155fec1f0fff0de771cf909d5'/>
<id>urn:sha1:66114cad64bf76a155fec1f0fff0de771cf909d5</id>
<content type='text'>
With the planned cgroup writeback support, backing-dev related
declarations will be more widely used across block and cgroup;
unfortunately, including backing-dev.h from include/linux/blkdev.h
makes cyclic include dependency quite likely.

This patch separates out backing-dev-defs.h which only has the
essential definitions and updates blkdev.h to include it.  c files
which need access to more backing-dev details now include
backing-dev.h directly.  This takes backing-dev.h off the common
include dependency chain making it a lot easier to use it across block
and cgroup.

v2: fs/fat build failure fixed.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1/pnfs: Separate out metadata and data consistency for pNFS</title>
<updated>2015-03-27T16:39:38Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-03-25T18:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bb89b4702e22981445ae01af733a57d1cae2018'/>
<id>urn:sha1:5bb89b4702e22981445ae01af733a57d1cae2018</id>
<content type='text'>
The LAYOUTCOMMIT operation means different things to different layout types.
For blocks and objects, it is both a data and metadata consistency operation.
For files and flexfiles, it is only a metadata consistency operation.

This patch separates out the 2 cases, allowing the files/flexfiles layout
drivers to optimise away the data consistency calls to layoutcommit.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1/pnfs: Refactor pnfs_set_layoutcommit()</title>
<updated>2015-03-27T16:39:36Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-03-26T00:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67af7611ec57dbcbc96f9d9daa4d3c7b0999aa73'/>
<id>urn:sha1:67af7611ec57dbcbc96f9d9daa4d3c7b0999aa73</id>
<content type='text'>
pnfs_set_layoutcommit() and pnfs_commit_set_layoutcommit() are 100% identical
except for the function arguments. Refactor to eliminate the difference.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix free_deveiceid -&gt; free_deviceid</title>
<updated>2015-03-27T16:32:24Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-03-09T21:25:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc87701b918c05c2d78f8191f5bc3c6c178bdb3d'/>
<id>urn:sha1:fc87701b918c05c2d78f8191f5bc3c6c178bdb3d</id>
<content type='text'>
Make it easier to grep for these functions by name.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Convert pNFS deviceid to use kfree_rcu()</title>
<updated>2015-03-27T16:32:24Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-03-09T19:23:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84a80f62f71beac20a426709c04b49f2bd352291'/>
<id>urn:sha1:84a80f62f71beac20a426709c04b49f2bd352291</id>
<content type='text'>
Use of synchronize_rcu() when unmounting and potentially freeing a lot
of deviceids is problematic. There really is no reason why we can't just
use kfree_rcu() here.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pnfs: Refactor the *_layout_mark_request_commit to use pnfs_layout_mark_request_commit</title>
<updated>2015-02-18T15:20:35Z</updated>
<author>
<name>Tom Haynes</name>
</author>
<published>2015-02-17T22:58:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=338d00cfef07d74a072f96821c64b20f98517d72'/>
<id>urn:sha1:338d00cfef07d74a072f96821c64b20f98517d72</id>
<content type='text'>
The File Layout's filelayout_mark_request_commit() is almost the
Flex File Layout's ff_layout_mark_request_commit(). And that can
be reduced by calling into nfs_request_add_commit_list().

Signed-off-by: Tom Haynes &lt;loghyr@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
