<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/flexfilelayout/flexfilelayout.c, branch linux-5.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-12-19T18:52:46Z</updated>
<entry>
<title>NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'.</title>
<updated>2018-12-19T18:52:46Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2018-12-03T00:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a52458b48af142bcc2b72fe810c0db20cfae7fdd'/>
<id>urn:sha1:a52458b48af142bcc2b72fe810c0db20cfae7fdd</id>
<content type='text'>
SUNRPC has two sorts of credentials, both of which appear as
"struct rpc_cred".
There are "generic credentials" which are supplied by clients
such as NFS and passed in 'struct rpc_message' to indicate
which user should be used to authorize the request, and there
are low-level credentials such as AUTH_NULL, AUTH_UNIX, AUTH_GSS
which describe the credential to be sent over the wires.

This patch replaces all the generic credentials by 'struct cred'
pointers - the credential structure used throughout Linux.

For machine credentials, there is a special 'struct cred *' pointer
which is statically allocated and recognized where needed as
having a special meaning.  A look-up of a low-level cred will
map this to a machine credential.

Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
Acked-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: remove uid and gid from struct auth_cred</title>
<updated>2018-12-19T18:52:45Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2018-12-03T00:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8276c902bbe95d628f48a7fdc13c71e265992085'/>
<id>urn:sha1:8276c902bbe95d628f48a7fdc13c71e265992085</id>
<content type='text'>
Use cred-&gt;fsuid and cred-&gt;fsgid instead.

Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: remove groupinfo from struct auth_cred.</title>
<updated>2018-12-19T18:52:45Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2018-12-03T00:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc0664fd9bccafb00bd2dfe0d5218147994f81ee'/>
<id>urn:sha1:fc0664fd9bccafb00bd2dfe0d5218147994f81ee</id>
<content type='text'>
We can use cred-&gt;groupinfo (from the 'struct cred') instead.

Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: add 'struct cred *' to auth_cred and rpc_cred</title>
<updated>2018-12-19T18:52:44Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2018-12-03T00:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97f68c6b02e0225b38d327103c59cfe2ab5ecda7'/>
<id>urn:sha1:97f68c6b02e0225b38d327103c59cfe2ab5ecda7</id>
<content type='text'>
The SUNRPC credential framework was put together before
Linux has 'struct cred'.  Now that we have it, it makes sense to
use it.
This first step just includes a suitable 'struct cred *' pointer
in every 'struct auth_cred' and almost every 'struct rpc_cred'.

The rpc_cred used for auth_null has a NULL 'struct cred *' as nothing
else really makes sense.

For rpc_cred, the pointer is reference counted.
For auth_cred it isn't.  struct auth_cred are either allocated on
the stack, in which case the thread owns a reference to the auth,
or are part of 'struct generic_cred' in which case gc_base owns the
reference, and "acred" shares it.

Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>flexfiles: enforce per-mirror stateid only for v4 DSes</title>
<updated>2018-12-02T14:43:56Z</updated>
<author>
<name>Tigran Mkrtchyan</name>
</author>
<published>2018-11-26T17:35:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=320f35b7bf8cccf1997ca3126843535e1b95e9c4'/>
<id>urn:sha1:320f35b7bf8cccf1997ca3126843535e1b95e9c4</id>
<content type='text'>
Since commit bb21ce0ad227 we always enforce per-mirror stateid.
However, this makes sense only for v4+ servers.

Signed-off-by: Tigran Mkrtchyan &lt;tigran.mkrtchyan@desy.de&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>flexfiles: use per-mirror specified stateid for IO</title>
<updated>2018-11-22T19:04:55Z</updated>
<author>
<name>Tigran Mkrtchyan</name>
</author>
<published>2018-11-21T11:25:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb21ce0ad227b69ec0f83279297ee44232105d96'/>
<id>urn:sha1:bb21ce0ad227b69ec0f83279297ee44232105d96</id>
<content type='text'>
rfc8435 says:

  For tight coupling, ffds_stateid provides the stateid to be used by
  the client to access the file.

However current implementation replaces per-mirror provided stateid with
by open or lock stateid.

Ensure that per-mirror stateid is used by ff_layout_write_prepare_v4 and
nfs4_ff_layout_prepare_ds.

Signed-off-by: Tigran Mkrtchyan &lt;tigran.mkrtchyan@desy.de&gt;
Signed-off-by: Rick Macklem &lt;rmacklem@uoguelph.ca&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>pNFS: Don't allocate more pages than we need to fit a layoutget response</title>
<updated>2018-09-30T19:35:16Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2018-09-03T17:12:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=28ced9a84cd2f9fc68a081fb3b34e70c5d459be3'/>
<id>urn:sha1:28ced9a84cd2f9fc68a081fb3b34e70c5d459be3</id>
<content type='text'>
For the 'files' and 'flexfiles' layout types, we do not expect the reply
to be any larger than 4k. The block and scsi layout types are a little more
greedy, so we keep allocating the maximum response size for now.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>pNFS/flexfiles: ff_layout_pg_init_read should exit on error</title>
<updated>2018-08-21T17:39:05Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2018-08-21T14:25:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1c1aeaf1432f51b57341741dcb76a3825d63a168'/>
<id>urn:sha1:1c1aeaf1432f51b57341741dcb76a3825d63a168</id>
<content type='text'>
If we get an error while retrieving the layout, then we should
report it rather than falling back to I/O through the MDS.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>pNFS/flexfiles: Ensure we always return a layout if it has layoutstats</title>
<updated>2018-07-26T20:25:25Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2018-06-23T15:42:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=056f9ad62ed2776c80fdddb2eec7f709888618b7'/>
<id>urn:sha1:056f9ad62ed2776c80fdddb2eec7f709888618b7</id>
<content type='text'>
If a layout segment is carrying layoutstats or layout error information,
then we always want to return it rather than using a forgetful model.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'nfs-for-4.18-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2018-06-21T21:21:34Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2018-06-21T21:21:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27db64f65f1be2f2ee741a1bf20d8d13d62c167f'/>
<id>urn:sha1:27db64f65f1be2f2ee741a1bf20d8d13d62c167f</id>
<content type='text'>
Pull NFS client bugfixes from Trond Myklebust:
 "Hightlights include:

   - fix an rcu deadlock in nfs_delegation_find_inode()

   - fix NFSv4 deadlocks due to not freeing the session slot in
     layoutget

   - don't send layoutreturn if the layout is already invalid

   - prevent duplicate XID allocation

   - flexfiles: Don't tie up all the rpciod threads in resends"

* tag 'nfs-for-4.18-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
  pNFS/flexfiles: Process writeback resends from nfsiod context as well
  pNFS/flexfiles: Don't tie up all the rpciod threads in resends
  sunrpc: Prevent duplicate XID allocation
  pNFS: Don't send layoutreturn if the layout is already invalid
  pNFS: Always free the session slot on error in nfs4_layoutget_handle_exception
  NFS: Fix an rcu deadlock in nfs_delegation_find_inode()
</content>
</entry>
</feed>
