<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/client.c, branch linux-6.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-03-09T14:14:51Z</updated>
<entry>
<title>NFS: remove unused variable nfs_rpcstat</title>
<updated>2024-03-09T14:14:51Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2024-03-06T23:04:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cdbd321ac15e1e663c15fc0433024f6487531f27'/>
<id>urn:sha1:cdbd321ac15e1e663c15fc0433024f6487531f27</id>
<content type='text'>
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>nfs: make the rpc_stat per net namespace</title>
<updated>2024-03-09T14:14:51Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2024-02-15T19:57:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1548036ef1204df65ca5a16e8b199c858cb80075'/>
<id>urn:sha1:1548036ef1204df65ca5a16e8b199c858cb80075</id>
<content type='text'>
Now that we're exposing the rpc stats on a per-network namespace basis,
move this struct into struct nfs_net and use that to make sure only the
per-network namespace stats are exposed.

Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>nfs: fix UAF on pathwalk running into umount</title>
<updated>2024-02-25T07:10:32Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2023-09-28T02:11:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1b967d03c5d570ed7b90a88031fa2af34bf5b20'/>
<id>urn:sha1:c1b967d03c5d570ed7b90a88031fa2af34bf5b20</id>
<content type='text'>
NFS -&gt;d_revalidate(), -&gt;permission() and -&gt;get_link() need to access
some parts of nfs_server when called in RCU mode:
	server-&gt;flags
	server-&gt;caps
	*(server-&gt;io_stats)
and, worst of all, call
	server-&gt;nfs_client-&gt;rpc_ops-&gt;have_delegation
(the last one - as NFS_PROTO(inode)-&gt;have_delegation()).  We really
don't want to RCU-delay the entire nfs_free_server() (it would have
to be done with schedule_work() from RCU callback, since it can't
be made to run from interrupt context), but actual freeing of
nfs_server and -&gt;io_stats can be done via call_rcu() just fine.
nfs_client part is handled simply by making nfs_free_client() use
kfree_rcu().

Acked-by: Christian Brauner &lt;brauner@kernel.org&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>NFS/pNFS: Set the connect timeout for the pNFS flexfiles driver</title>
<updated>2023-08-24T17:24:15Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2023-08-19T21:32:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=537935f72eb28a3dd0097386f06402e25e66359a'/>
<id>urn:sha1:537935f72eb28a3dd0097386f06402e25e66359a</id>
<content type='text'>
Ensure that the connect timeout for the pNFS flexfiles driver is of the
same order as the I/O timeout, so that we can fail over quickly when
trying to read from a data server that is down.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Don't cleanup sysfs superblock entry if uninitialized</title>
<updated>2023-06-29T18:25:35Z</updated>
<author>
<name>Benjamin Coddington</name>
</author>
<published>2023-06-27T10:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e901f17b0742e36c9d79885a912b666cc1deb210'/>
<id>urn:sha1:e901f17b0742e36c9d79885a912b666cc1deb210</id>
<content type='text'>
Its possible to end up in nfs_free_server() before the server's superblock
sysfs entry has been initialized, in which case calling kobject_put() will
emit a WARNING.  Check if the kobject has been initialized before cleaning
it up.

Fixes: 1c7251187dc0 ("NFS: add superblock sysfs entries")
Reported-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: add a sysfs link to the lockd rpc_client</title>
<updated>2023-06-19T19:06:07Z</updated>
<author>
<name>Benjamin Coddington</name>
</author>
<published>2023-06-15T18:07:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d97c05897757a5d7fa131073d04a2fb29b5836ee'/>
<id>urn:sha1:d97c05897757a5d7fa131073d04a2fb29b5836ee</id>
<content type='text'>
After lockd is started, add a symlink for lockd's rpc_client under
NFS' superblock sysfs.

Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Add sysfs links to sunrpc clients for nfs_clients</title>
<updated>2023-06-19T19:04:13Z</updated>
<author>
<name>Benjamin Coddington</name>
</author>
<published>2023-06-15T18:07:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e13b549319a684dd80c4cc25e9567a5c84007e32'/>
<id>urn:sha1:e13b549319a684dd80c4cc25e9567a5c84007e32</id>
<content type='text'>
For the general and state management nfs_client under each mount, create
symlinks to their respective rpc_client sysfs entries.

Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: add superblock sysfs entries</title>
<updated>2023-06-19T19:03:48Z</updated>
<author>
<name>Benjamin Coddington</name>
</author>
<published>2023-06-15T18:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1c7251187dc067a6d460cf33ca67da9c1dd87807'/>
<id>urn:sha1:1c7251187dc067a6d460cf33ca67da9c1dd87807</id>
<content type='text'>
Create a sysfs directory for each mount that corresponds to the mount's
nfs_server struct.  As the mount is being constructed, use the name
"server-n", but rename it to the "MAJOR:MINOR" of the mount after assigning
a device_id. The rename approach allows us to populate the mount's directory
with links to the various rpc_client objects during the mount's
construction.  The naming convention (MAJOR:MINOR) can be used to reference
a particular NFS mount's sysfs tree.

Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Add an "xprtsec=" NFS mount option</title>
<updated>2023-06-19T16:30:17Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-06-07T14:00:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c8407f2e560c53c4c73e77cb5604c8a408dbe7f7'/>
<id>urn:sha1:c8407f2e560c53c4c73e77cb5604c8a408dbe7f7</id>
<content type='text'>
After some discussion, we decided that controlling transport layer
security policy should be separate from the setting for the user
authentication flavor. To accomplish this, add a new NFS mount
option to select a transport layer security policy for RPC
operations associated with the mount point.

  xprtsec=none     - Transport layer security is forced off.

  xprtsec=tls      - Establish an encryption-only TLS session. If
                     the initial handshake fails, the mount fails.
                     If TLS is not available on a reconnect, drop
                     the connection and try again.

  xprtsec=mtls     - Both sides authenticate and an encrypted
                     session is created. If the initial handshake
                     fails, the mount fails. If TLS is not available
                     on a reconnect, drop the connection and try
                     again.

To support client peer authentication (mtls), the handshake daemon
will have configurable default authentication material (certificate
or pre-shared key). In the future, mount options can be added that
can provide this material on a per-mount basis.

Updates to mount.nfs (to support xprtsec=auto) and nfs(5) will be
sent under separate cover.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>NFS: Have struct nfs_client carry a TLS policy field</title>
<updated>2023-06-19T16:29:23Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-06-07T13:59:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c0a8c5fcf7158e889dbdd077f67c81984704710'/>
<id>urn:sha1:6c0a8c5fcf7158e889dbdd077f67c81984704710</id>
<content type='text'>
The new field is used to match struct nfs_clients that have the same
TLS policy setting.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
</feed>
