<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/fs/nfs/nfs4filelayoutdev.c, branch v3.13.3</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.13.3</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.13.3'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2013-09-29T19:58:35+00:00</updated>
<entry>
<title>NFSv4.1: Ensure memory ordering between nfs4_ds_connect and nfs4_fl_prepare_ds</title>
<updated>2013-09-29T19:58:35+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2013-09-26T18:32:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=acd65e5bc1986d0089efec3fe63e52ea0c406d6d'/>
<id>urn:sha1:acd65e5bc1986d0089efec3fe63e52ea0c406d6d</id>
<content type='text'>
We need to ensure that the initialisation of the data server nfs_client
structure in nfs4_ds_connect is correctly ordered w.r.t. the read of
ds-&gt;ds_clp in nfs4_fl_prepare_ds.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: nfs4_fl_prepare_ds - fix bugs when the connect attempt fails</title>
<updated>2013-09-29T19:56:35+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2013-09-26T18:08:36+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=52b26a3e1bb3e065c32b3febdac1e1f117d88e15'/>
<id>urn:sha1:52b26a3e1bb3e065c32b3febdac1e1f117d88e15</id>
<content type='text'>
- Fix an Oops when nfs4_ds_connect() returns an error.
- Always check the device status after waiting for a connect to complete.

Reported-by: Andy Adamson &lt;andros@netapp.com&gt;
Reported-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.10+
</content>
</entry>
<entry>
<title>NFSv4.1 Fix gdia_maxcount calculation to fit in ca_maxresponsesize</title>
<updated>2013-06-28T19:34:43+00:00</updated>
<author>
<name>Andy Adamson</name>
<email>andros@netapp.com</email>
</author>
<published>2013-06-25T23:02:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f1c097be2b35dcfc06c1c591194d78058dd67284'/>
<id>urn:sha1:f1c097be2b35dcfc06c1c591194d78058dd67284</id>
<content type='text'>
The GETDEVICEINFO gdia_maxcount represents all of the data being returned
within the GETDEVICEINFO4resok structure and includes the XDR overhead.

The CREATE_SESSION ca_maxresponsesize is the maximum reply and includes the RPC
headers (including security flavor credentials and verifiers).

Split out the struct pnfs_device field maxcount which is the gdia_maxcount
from the pglen field which is the reply (the total) buffer length.

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>NFSv4.1: Use layout credentials for get_deviceinfo calls</title>
<updated>2013-06-06T20:24:37+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2013-05-20T15:42:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=cd5875fefe09b1921ea5845890009c9b2386d566'/>
<id>urn:sha1:cd5875fefe09b1921ea5845890009c9b2386d566</id>
<content type='text'>
This is not strictly needed, since get_deviceinfo is not allowed to
return NFS4ERR_ACCESS or NFS4ERR_WRONG_CRED, but lets do it anyway
for consistency with other pNFS operations.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS4.1 Fix data server connection race</title>
<updated>2013-05-08T21:19:32+00:00</updated>
<author>
<name>Andy Adamson</name>
<email>andros@netapp.com</email>
</author>
<published>2013-05-08T20:21:18+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c23266d532b4de796a346f57a66587c5db17d27e'/>
<id>urn:sha1:c23266d532b4de796a346f57a66587c5db17d27e</id>
<content type='text'>
Unlike meta data server mounts which support multiple mount points to
the same server via struct nfs_server, data servers support a single connection.

Concurrent calls to setup the data server connection can race where the first
call allocates the nfs_client struct, and before the cache struct nfs_client
pointer can be set, a second call also tries to setup the connection, finds the
already allocated nfs_client, bumps the reference count, re-initializes the
session,etc. This results in a hanging data server session after umount.

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>sunrpc: move address copy/cmp/convert routines and prototypes from clnt.h to addr.h</title>
<updated>2013-02-05T14:41:14+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2013-02-04T17:50:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5976687a2b3d1969f02aba16b80ad3ed79be6ad3'/>
<id>urn:sha1:5976687a2b3d1969f02aba16b80ad3ed79be6ad3</id>
<content type='text'>
These routines are used by server and client code, so having them in a
separate header would be best.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Acked-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Cleanup move session slot management to fs/nfs/nfs4session.c</title>
<updated>2012-12-05T23:30:45+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-11-26T17:49:34+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=73e39aaa8366694450cd6034050f542f965e277d'/>
<id>urn:sha1:73e39aaa8366694450cd6034050f542f965e277d</id>
<content type='text'>
NFSv4.1 session management is getting complex enough to deserve
a separate file.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Remove assertion BUG_ON()s from the files and generic layout code</title>
<updated>2012-11-04T19:43:39+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-10-15T18:58:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bc5a89b337ee4b2fa6f577e7e1220d8c1ece71fc'/>
<id>urn:sha1:bc5a89b337ee4b2fa6f577e7e1220d8c1ece71fc</id>
<content type='text'>
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Kill nfs4_ds_disconnect()</title>
<updated>2012-10-15T14:49:42+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-10-11T16:26:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8fcdc31b3d09bc348ff9bf752ae1291828756cfa'/>
<id>urn:sha1:8fcdc31b3d09bc348ff9bf752ae1291828756cfa</id>
<content type='text'>
There is nothing to prevent another thread from dereferencing ds-&gt;ds_clp
during or after the call to nfs4_ds_disconnect(), and Oopsing due to the
resulting NULL pointer.

Instead, we should just rely on filelayout_mark_devid_invalid() to keep
us out of trouble by avoiding that deviceid.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: pNFS data servers may be temporarily offline</title>
<updated>2012-09-28T20:03:09+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-09-18T23:51:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1dfed2737d8cfe2f2378fddfb3bed126ff5474e7'/>
<id>urn:sha1:1dfed2737d8cfe2f2378fddfb3bed126ff5474e7</id>
<content type='text'>
In cases where the pNFS data server is just temporarily out of service,
we want to mark it as such, and then try again later. Typically that will
be in cases of network connection errors etc.
This patch allows us to mark the devices as being "unavailable" for such
transient errors, and will make them available for retries after a
2 minute timeout period.

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