<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/fs/nfs/write.c, branch linux-3.5.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2012-09-14T16:59:25+00:00</updated>
<entry>
<title>nfs: tear down caches in nfs_init_writepagecache when allocation fails</title>
<updated>2012-09-14T16:59:25+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2012-08-02T18:30: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=b760afea799e18076fb08c39ac6ebbbcd1d2020e'/>
<id>urn:sha1:b760afea799e18076fb08c39ac6ebbbcd1d2020e</id>
<content type='text'>
commit 3dd4765fce04c0b4af1e0bc4c0b10f906f95fabc upstream.

...and ensure that we tear down the nfs_commit_data cache too when
unloading the module.

Cc: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>NFS: Fix a commit bug</title>
<updated>2012-06-05T22:38:47+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-06-05T22:32:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9bce008bae8b57bc7b007bcc2071d1247a527120'/>
<id>urn:sha1:9bce008bae8b57bc7b007bcc2071d1247a527120</id>
<content type='text'>
The new commit code fails to copy the verifier into the wb_verf field
of _all_ the nfs_page structures; it only copies it into the first entry.
The consequence is that most requests end up failing to match in
nfs_commit_release.

Fix is to copy the verifier into the req-&gt;wb_verf field in
nfs_write_completion.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1 set RPC_TASK_SOFTCONN for filelayout DS RPC calls</title>
<updated>2012-05-19T21:54:19+00:00</updated>
<author>
<name>Andy Adamson</name>
<email>andros@netapp.com</email>
</author>
<published>2012-04-27T21:53: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=9f0ec176b3071e0472582c07ae1e68055b28184d'/>
<id>urn:sha1:9f0ec176b3071e0472582c07ae1e68055b28184d</id>
<content type='text'>
RPC_TASK_SOFTCONN returns connection errors to the caller which allows the pNFS
file layout to quickly try the MDS or perhaps another DS.

Signed-off-by: Andy Adamson &lt;andros@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up - Rename nfs_unlock_request and nfs_unlock_request_dont_release</title>
<updated>2012-05-09T19:17:43+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-05-09T18:04: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=1d1afcbc294cc7c788eb5c7b6b98e8d63caf002c'/>
<id>urn:sha1:1d1afcbc294cc7c788eb5c7b6b98e8d63caf002c</id>
<content type='text'>
Function rename to ensure that the functionality of nfs_unlock_request()
mirrors that of nfs_lock_request(). Then let nfs_unlock_and_release_request()
do the work of what used to be called nfs_unlock_request()...

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up - simplify nfs_lock_request()</title>
<updated>2012-05-09T19:17:34+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-05-09T17:19:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7ad84aa9448571678c243f0c5ef383fbe5b50f4f'/>
<id>urn:sha1:7ad84aa9448571678c243f0c5ef383fbe5b50f4f</id>
<content type='text'>
We only have two places where we need to grab a reference when trying
to lock the nfs_page. We're better off making that explicit.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: nfs_set_page_writeback no longer needs to reference the page</title>
<updated>2012-05-09T19:17:28+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-05-09T17:37: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=d1182b33ed9b62470cb6ab892a8a301542120086'/>
<id>urn:sha1:d1182b33ed9b62470cb6ab892a8a301542120086</id>
<content type='text'>
We now hold a reference to the nfs_page across the calls to
nfs_set_page_writeback and nfs_end_page_writeback, and that
means we already have a reference to the struct page.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Prevent a deadlock in the new writeback code</title>
<updated>2012-05-09T19:16:07+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-05-09T18:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3aff4ebb95b20ad8db2c1447e8c52097d89af5a7'/>
<id>urn:sha1:3aff4ebb95b20ad8db2c1447e8c52097d89af5a7</id>
<content type='text'>
We have to unlock the nfs_page before we call nfs_end_page_writeback
to avoid races with functions that expect the page to be unlocked
when PG_locked and PG_writeback are not set.
The problem is that nfs_unlock_request also releases the nfs_page,
causing a deadlock if the release of the nfs_open_context
triggers an iput() while the PG_writeback flag is still set...

The solution is to separate the unlocking and release of the nfs_page,
so that we can do the former before nfs_end_page_writeback and the
latter after.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Always trust the PageUptodate flag when we have a delegation</title>
<updated>2012-05-01T19:42:41+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-04-29T16:50:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8d197a568fc337c66729b289c7fa0f28c14ba5ac'/>
<id>urn:sha1:8d197a568fc337c66729b289c7fa0f28c14ba5ac</id>
<content type='text'>
We can always use the optimal full page write if we know that we
hold a delegation.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up nfs read and write error paths</title>
<updated>2012-05-01T17:48:13+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-05-01T16:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=25b11dcdbfcad69a5ec03265e2dce19e5eca936b'/>
<id>urn:sha1:25b11dcdbfcad69a5ec03265e2dce19e5eca936b</id>
<content type='text'>
Move the error handling for nfs_generic_pagein() into a single function.
Ditto for nfs_generic_flush().

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Define dummy nfs_init_cinfo() and nfs_init_cinfo_from_inode()</title>
<updated>2012-04-30T18:32:36+00:00</updated>
<author>
<name>Bryan Schumaker</name>
<email>bjschuma@netapp.com</email>
</author>
<published>2012-04-30T18:30:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=68cd6fa4f3be07ba648e22617dfa16a40d671d19'/>
<id>urn:sha1:68cd6fa4f3be07ba648e22617dfa16a40d671d19</id>
<content type='text'>
These are needed when v3 and v4 are not enabled.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
