<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs, branch linux-5.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-09-23T12:14:02Z</updated>
<entry>
<title>NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE</title>
<updated>2022-09-23T12:14:02Z</updated>
<author>
<name>Anna Schumaker</name>
</author>
<published>2022-09-07T20:34:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d9f296e78b07924833bc1226c0536072f29cf90'/>
<id>urn:sha1:4d9f296e78b07924833bc1226c0536072f29cf90</id>
<content type='text'>
[ Upstream commit d7a5118635e725d195843bda80cc5c964d93ef31 ]

The fallocate call invalidates suid and sgid bits as part of normal
operation. We need to mark the mode bits as invalid when using fallocate
with an suid so these will be updated the next time the user looks at them.

This fixes xfstests generic/683 and generic/684.

Reported-by: Yue Cui &lt;cuiyue-fnst@fujitsu.com&gt;
Fixes: 913eca1aea87 ("NFS: Fallocate should use the nfs4_fattr_bitmap")
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0</title>
<updated>2022-09-23T12:14:02Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-08-25T18:49:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=51e024dcaf086fcd6d99287e28f500caea102e66'/>
<id>urn:sha1:51e024dcaf086fcd6d99287e28f500caea102e66</id>
<content type='text'>
[ Upstream commit 2a9d683b48c8a87e61a4215792d44c90bcbbb536 ]

The NFSv4.0 protocol only supports open() by name. It cannot therefore
be used with open_by_handle() and friends, nor can it be re-exported by
knfsd.

Reported-by: Chuck Lever III &lt;chuck.lever@oracle.com&gt;
Fixes: 20fa19027286 ("nfs: add export operations")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>NFSv4.2 fix problems with __nfs42_ssc_open</title>
<updated>2022-08-31T15:18:01Z</updated>
<author>
<name>Olga Kornievskaia</name>
</author>
<published>2022-08-18T19:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2a47f6903e270c308c40ad4a23c17b30a54373c'/>
<id>urn:sha1:c2a47f6903e270c308c40ad4a23c17b30a54373c</id>
<content type='text'>
[ Upstream commit fcfc8be1e9cf2f12b50dce8b579b3ae54443a014 ]

A destination server while doing a COPY shouldn't accept using the
passed in filehandle if its not a regular filehandle.

If alloc_file_pseudo() has failed, we need to decrement a reference
on the newly created inode, otherwise it leaks.

Reported-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Fixes: ec4b092508982 ("NFS: inter ssc open")
Signed-off-by: Olga Kornievskaia &lt;kolga@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>NFS: Fix another fsync() issue after a server reboot</title>
<updated>2022-08-31T15:17:59Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-08-13T12:22:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72440414b10b7d323b15e5c2ccfb5fa368833235'/>
<id>urn:sha1:72440414b10b7d323b15e5c2ccfb5fa368833235</id>
<content type='text'>
commit 67f4b5dc49913abcdb5cc736e73674e2f352f81d upstream.

Currently, when the writeback code detects a server reboot, it redirties
any pages that were not committed to disk, and it sets the flag
NFS_CONTEXT_RESEND_WRITES in the nfs_open_context of the file descriptor
that dirtied the file. While this allows the file descriptor in question
to redrive its own writes, it violates the fsync() requirement that we
should be synchronising all writes to disk.
While the problem is infrequent, we do see corner cases where an
untimely server reboot causes the fsync() call to abandon its attempt to
sync data to disk and causing data corruption issues due to missed error
conditions or similar.

In order to tighted up the client's ability to deal with this situation
without introducing livelocks, add a counter that records the number of
times pages are redirtied due to a server reboot-like condition, and use
that in fsync() to redrive the sync to disk.

Fixes: 2197e9b06c22 ("NFS: Fix up fsync() when the server rebooted")
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>NFSv4/pnfs: Fix a use-after-free bug in open</title>
<updated>2022-08-25T09:45:12Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-08-02T19:48:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b03d1117e9be7c7da60e466eaf9beed85c5916c8'/>
<id>urn:sha1:b03d1117e9be7c7da60e466eaf9beed85c5916c8</id>
<content type='text'>
commit 2135e5d56278ffdb1c2e6d325dc6b87f669b9dac upstream.

If someone cancels the open RPC call, then we must not try to free
either the open slot or the layoutget operation arguments, since they
are likely still in use by the hung RPC call.

Fixes: 6949493884fe ("NFSv4: Don't hold the layoutget locks across multiple RPC calls")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: RECLAIM_COMPLETE must handle EACCES</title>
<updated>2022-08-25T09:45:12Z</updated>
<author>
<name>Zhang Xianwei</name>
</author>
<published>2022-07-27T10:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2d56bdbffbbbc2b82b5ab17e6bdcf532b014007c'/>
<id>urn:sha1:2d56bdbffbbbc2b82b5ab17e6bdcf532b014007c</id>
<content type='text'>
commit e35a5e782f67ed76a65ad0f23a484444a95f000f upstream.

A client should be able to handle getting an EACCES error while doing
a mount operation to reclaim state due to NFS4CLNT_RECLAIM_REBOOT
being set. If the server returns RPC_AUTH_BADCRED because authentication
failed when we execute "exportfs -au", then RECLAIM_COMPLETE will go a
wrong way. After mount succeeds, all OPEN call will fail due to an
NFS4ERR_GRACE error being returned. This patch is to fix it by resending
a RPC request.

Signed-off-by: Zhang Xianwei &lt;zhang.xianwei8@zte.com.cn&gt;
Signed-off-by: Yi Wang &lt;wang.yi59@zte.com.cn&gt;
Fixes: aa5190d0ed7d ("NFSv4: Kill nfs4_async_handle_error() abuses by NFSv4.1")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>NFSv4: Fix races in the legacy idmapper upcall</title>
<updated>2022-08-25T09:45:12Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-07-13T21:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2d1cdbc8b5909c992dfcf690edecc6545640cca'/>
<id>urn:sha1:e2d1cdbc8b5909c992dfcf690edecc6545640cca</id>
<content type='text'>
commit 51fd2eb52c0ca8275a906eed81878ef50ae94eb0 upstream.

nfs_idmap_instantiate() will cause the process that is waiting in
request_key_with_auxdata() to wake up and exit. If there is a second
process waiting for the idmap-&gt;idmap_mutex, then it may wake up and
start a new call to request_key_with_auxdata(). If the call to
idmap_pipe_downcall() from the first process has not yet finished
calling nfs_idmap_complete_pipe_upcall_locked(), then we may end up
triggering the WARN_ON_ONCE() in nfs_idmap_prepare_pipe_upcall().

The fix is to ensure that we clear idmap-&gt;idmap_upcall_data before
calling nfs_idmap_instantiate().

Fixes: e9ab41b620e4 ("NFSv4: Clean up the legacy idmapper upcall")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly</title>
<updated>2022-08-25T09:45:12Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-07-12T13:22:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=776f95d6cfc1ea841f81cd8af4798c2125373f4c'/>
<id>urn:sha1:776f95d6cfc1ea841f81cd8af4798c2125373f4c</id>
<content type='text'>
commit 7ccafd4b2b9f34e6d8185f796f151c47424e273e upstream.

Don't assume that the NFS4ERR_DELAY means that the server is processing
this slot id.

Fixes: 3453d5708b33 ("NFSv4.1: Avoid false retries when RPC calls are interrupted")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Don't decrease the value of seq_nr_highest_sent</title>
<updated>2022-08-25T09:45:12Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-07-12T13:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25c4488ba447de3f841c2b200ed44a687b105f5f'/>
<id>urn:sha1:25c4488ba447de3f841c2b200ed44a687b105f5f</id>
<content type='text'>
commit f07a5d2427fc113dc50c5c818eba8929bc27b8ca upstream.

When we're trying to figure out what the server may or may not have seen
in terms of request numbers, do not assume that requests with a larger
number were missed, just because we saw a reply to a request with a
smaller number.

Fixes: 3453d5708b33 ("NFSv4.1: Avoid false retries when RPC calls are interrupted")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pNFS/flexfiles: Report RDMA connection errors to the server</title>
<updated>2022-08-17T13:13:40Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-05-18T20:09:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed48237d6b0a22bd0b51afa83cd3f0acd75c67a8'/>
<id>urn:sha1:ed48237d6b0a22bd0b51afa83cd3f0acd75c67a8</id>
<content type='text'>
commit 7836d75467e9d214bdf5c693b32721de729a6e38 upstream.

The RPC/RDMA driver will return -EPROTO and -ENODEV as connection errors
under certain circumstances. Make sure that we handle them and report
them to the server. If not, we can end up cycling forever in a
LAYOUTGET/LAYOUTRETURN loop.

Fixes: a12f996d3413 ("NFSv4/pNFS: Use connections to a DS that are all of the same protocol family")
Cc: stable@vger.kernel.org # 5.11.x
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
