<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/nfs4filelayoutdev.c, branch linux-3.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-01-26T16:40:47Z</updated>
<entry>
<title>NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.</title>
<updated>2017-01-26T16:40:47Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2016-12-19T00:19:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ae4deb7c85d0991b5dad3d4dac2a0cbd8aba830'/>
<id>urn:sha1:0ae4deb7c85d0991b5dad3d4dac2a0cbd8aba830</id>
<content type='text'>
commit cfd278c280f997cf2fe4662e0acab0fe465f637b upstream.

Various places assume that if nfs4_fl_prepare_ds() turns a non-NULL 'ds',
then ds-&gt;ds_clp will also be non-NULL.

This is not necessasrily true in the case when the process received a fatal signal
while nfs4_pnfs_ds_connect is waiting in nfs4_wait_ds_connect().
In that case -&gt;ds_clp may not be set, and the devid may not recently have been marked
unavailable.

So add a test for ds_clp == NULL and return NULL in that case.

Fixes: c23266d532b4 ("NFS4.1 Fix data server connection race")
Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
Acked-by: Olga Kornievskaia &lt;aglo@umich.edu&gt;
Acked-by: Adamson, Andy &lt;William.Adamson@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>nfs: fix dead code of ipv6_addr_scope</title>
<updated>2014-04-03T08:32:14Z</updated>
<author>
<name>Alexander Aring</name>
</author>
<published>2013-12-21T04:39:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e3b72ab7008ddfad528d2711a8f95c9ef942f7b'/>
<id>urn:sha1:2e3b72ab7008ddfad528d2711a8f95c9ef942f7b</id>
<content type='text'>
commit a8c2275493b866961f4429a741251c630c4fc6d7 upstream.

The correct way to check on IPV6_ADDR_SCOPE_LINKLOCAL is to check with
the ipv6_addr_src_scope function.

Currently this can't be work, because ipv6_addr_scope returns a int with
a mask of IPV6_ADDR_SCOPE_MASK (0x00f0U) and IPV6_ADDR_SCOPE_LINKLOCAL
is 0x02. So the condition is always false.

Signed-off-by: Alexander Aring &lt;alex.aring@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Ensure memory ordering between nfs4_ds_connect and nfs4_fl_prepare_ds</title>
<updated>2013-09-29T19:58:35Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2013-09-26T18:32:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:35Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2013-09-26T18:08:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:43Z</updated>
<author>
<name>Andy Adamson</name>
</author>
<published>2013-06-25T23:02:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:37Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2013-05-20T15:42:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:32Z</updated>
<author>
<name>Andy Adamson</name>
</author>
<published>2013-05-08T20:21:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:14Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2013-02-04T17:50:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:45Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-11-26T17:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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:39Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-10-15T18:58:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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>
</feed>
