<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/fs/nfs/nfs4filelayout.c, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2014-05-30T00:21:56+00:00</updated>
<entry>
<title>Push the file layout driver into a subdirectory</title>
<updated>2014-05-30T00:21:56+00:00</updated>
<author>
<name>Tom Haynes</name>
<email>Thomas.Haynes@primarydata.com</email>
</author>
<published>2014-05-12T21:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b5968725f46d9535e908689bd04bf676f71138bb'/>
<id>urn:sha1:b5968725f46d9535e908689bd04bf676f71138bb</id>
<content type='text'>
The object and block layouts already exist in their own
subdirectories. This patch completes the set!

Note that as a layout denotes nfs4 already, I stripped
that prefix out of the file names.

Signed-off-by: Tom Haynes &lt;Thomas.Haynes@primarydata.com&gt;
Acked-by: Jeff Layton &lt;jlayton@poochiereds.net&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pNFS: Handle allocation errors correctly in filelayout_alloc_layout_hdr()</title>
<updated>2014-05-30T00:15:32+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2014-05-30T00:06:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6df200f5d5191bdde4d2e408215383890f956781'/>
<id>urn:sha1:6df200f5d5191bdde4d2e408215383890f956781</id>
<content type='text'>
Return the NULL pointer when the allocation fails.

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.5.x
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pnfs: filelayout: support non page aligned layouts</title>
<updated>2014-05-29T15:11:50+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c6194271f94b81042bbc45034d31f9b0920f3905'/>
<id>urn:sha1:c6194271f94b81042bbc45034d31f9b0920f3905</id>
<content type='text'>
Use the new pg_test interface to adjust requests to fit in the current
stripe / segment.

Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pnfs: support multiple verfs per direct req</title>
<updated>2014-05-29T15:11:48+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5002c58639d41b93e800c8a4b7eca49c40d57822'/>
<id>urn:sha1:5002c58639d41b93e800c8a4b7eca49c40d57822</id>
<content type='text'>
Support direct requests that span multiple pnfs data servers by
comparing nfs_pgio_header-&gt;verf to a cached verf in pnfs_commit_bucket.
Continue to use dreq-&gt;verf if the MDS is used / non-pNFS.

Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: chain calls to pg_test</title>
<updated>2014-05-29T15:11:47+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0f9c429eca07aca2764ccd751e2b48ba5397b936'/>
<id>urn:sha1:0f9c429eca07aca2764ccd751e2b48ba5397b936</id>
<content type='text'>
Now that pg_test can change the size of the request (by returning a non-zero
size smaller than the request), pg_test functions that call other
pg_test functions must return the minimum of the result - or 0 if any fail.

Also clean up the logic of some pg_test functions so that all checks are
for contitions where coalescing is not possible.

Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pnfs: clean up filelayout_alloc_commit_info</title>
<updated>2014-05-29T15:11:46+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=dd7663e7000d3408b5a5037ae8f774feaa9c0628'/>
<id>urn:sha1:dd7663e7000d3408b5a5037ae8f774feaa9c0628</id>
<content type='text'>
Remove unneeded else statement and clean up how commit info
dataserver buckets are replaced.

Suggested-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: call nfs_can_coalesce_requests for every req</title>
<updated>2014-05-29T15:11:44+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ab75e417192a486ffe63a314b6d2e7361f0e157f'/>
<id>urn:sha1:ab75e417192a486ffe63a314b6d2e7361f0e157f</id>
<content type='text'>
Call nfs_can_coalesce_requests for every request, even the first one.
This is needed for future patches to give pg_test a way to inform
add_request to reduce the size of the request.

Now @prev can be null in nfs_can_coalesce_requests and pg_test functions.

Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: modify pg_test interface to return size_t</title>
<updated>2014-05-29T15:11:43+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b4fdac1a5150174df0847a45dc6612ce5ce3daeb'/>
<id>urn:sha1:b4fdac1a5150174df0847a45dc6612ce5ce3daeb</id>
<content type='text'>
This is a step toward allowing pg_test to inform the the
coalescing code to reduce the size of requests so they may fit in
whatever scheme the pg_test callback wants to define.

For now, just return the size of the request if there is space, or 0
if there is not.  This shouldn't change any behavior as it acts
the same as when the pg_test functions returned bool.

Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>pnfs: fix race in filelayout commit path</title>
<updated>2014-05-29T15:11:42+00:00</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-05-15T15:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d201c4de518c1d617aa216664869fa329d562d7d'/>
<id>urn:sha1:d201c4de518c1d617aa216664869fa329d562d7d</id>
<content type='text'>
Hold the lock while modifying commit info dataserver buckets.

The following oops can be reproduced by running iozone for a while against
a 2 DS pynfs filelayout server.

general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC
Modules linked in: nfs_layout_nfsv41_files rpcsec_gss_krb5 nfsv4 nfs fscache
CPU: 0 PID: 903 Comm: iozone Not tainted 3.15.0-rc1-branch-dros_testing+ #44
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference
task: ffff880078164480 ti: ffff88006e972000 task.ti: ffff88006e972000
RIP: 0010:[&lt;ffffffffa01936e1&gt;]  [&lt;ffffffffa01936e1&gt;] nfs_init_commit+0x22/0x
RSP: 0018:ffff88006e973d30  EFLAGS: 00010246
RAX: ffff88006e973e00 RBX: ffff88006e828800 RCX: ffff88006e973e10
RDX: 0000000000000000 RSI: ffff88006e973e00 RDI: dead4ead00000000
RBP: ffff88006e973d38 R08: ffff88006e8289d8 R09: 0000000000000000
R10: ffff88006e8289d8 R11: 0000000000016988 R12: ffff88006e973b98
R13: ffff88007a0a6648 R14: ffff88006e973e10 R15: ffff88006e828800
FS:  00007f2ce396b740(0000) GS:ffff88007f200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f03278a1000 CR3: 0000000079043000 CR4: 00000000001407f0
Stack:
ffff88006e8289d8 ffff88006e973da8 ffffffffa00f144f ffff88006e9478c0
ffff88006e973e00 ffff88006de21080 0000000100000002 ffff880079be6c48
ffff88006e973d70 ffff88006e973d70 ffff88006e973e10 ffff88006de21080
Call Trace:
[&lt;ffffffffa00f144f&gt;] filelayout_commit_pagelist+0x1ae/0x34a [nfs_layout_nfsv
[&lt;ffffffffa0194f72&gt;] nfs_generic_commit_list+0x92/0xc4 [nfs]
[&lt;ffffffffa0195053&gt;] nfs_commit_inode+0xaf/0x114 [nfs]
[&lt;ffffffffa01892bd&gt;] nfs_file_fsync_commit+0x82/0xbe [nfs]
[&lt;ffffffffa01ceb0d&gt;] nfs4_file_fsync+0x59/0x9b [nfsv4]
[&lt;ffffffff8114ee3c&gt;] vfs_fsync_range+0x18/0x20
[&lt;ffffffff8114ee60&gt;] vfs_fsync+0x1c/0x1e
[&lt;ffffffffa01891c2&gt;] nfs_file_flush+0x7f/0x84 [nfs]
[&lt;ffffffff81127a43&gt;] filp_close+0x3c/0x72
[&lt;ffffffff81140e12&gt;] __close_fd+0x82/0x9a
[&lt;ffffffff81127a9c&gt;] SyS_close+0x23/0x4c
[&lt;ffffffff814acd12&gt;] system_call_fastpath+0x16/0x1b
Code: 5b 41 5c 41 5d 41 5e 5d c3 0f 1f 44 00 00 55 48 89 e5 53 48 89 fb 48 8
RIP  [&lt;ffffffffa01936e1&gt;] nfs_init_commit+0x22/0xe1 [nfs]
RSP &lt;ffff88006e973d30&gt;
---[ end trace 732fe6419b235e2f ]---

Suggested-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Create a common initiate_pgio() function</title>
<updated>2014-05-29T15:11:40+00:00</updated>
<author>
<name>Anna Schumaker</name>
<email>Anna.Schumaker@netapp.com</email>
</author>
<published>2014-05-06T13:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1ed26f33008e954a8e91d26f97d4380dea8145db'/>
<id>urn:sha1:1ed26f33008e954a8e91d26f97d4380dea8145db</id>
<content type='text'>
Most of this code is the same for both the read and write paths, so
combine everything and use the rw_ops when necessary.

Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
