<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs, branch linux-5.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-07-20T14:02:22Z</updated>
<entry>
<title>NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times</title>
<updated>2021-07-20T14:02:22Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-07-03T18:34:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea37d4c6376aee6b8f738075cdc586ad04bb6595'/>
<id>urn:sha1:ea37d4c6376aee6b8f738075cdc586ad04bb6595</id>
<content type='text'>
[ Upstream commit f46f84931a0aa344678efe412d4b071d84d8a805 ]

After we grab the lock in nfs4_pnfs_ds_connect(), there is no check for
whether or not ds-&gt;ds_clp has already been initialised, so we can end up
adding the same transports multiple times.

Fixes: fc821d59209d ("pnfs/NFSv4.1: Add multipath capabilities to pNFS flexfiles servers over NFSv3")
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/pnfs: Fix layoutget behaviour after invalidation</title>
<updated>2021-07-20T14:02:22Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-07-02T23:48:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13fc99a6a3c0dcaf39983cd8a21f21d84676869e'/>
<id>urn:sha1:13fc99a6a3c0dcaf39983cd8a21f21d84676869e</id>
<content type='text'>
[ Upstream commit 0b77f97a7e42adc72bd566ff8cb733ea426f74f6 ]

If the layout gets invalidated, we should wait for any outstanding
layoutget requests for that layout to complete, and we should resend
them only after re-establishing the layout stateid.

Fixes: d29b468da4f9 ("pNFS/NFSv4: Improve rejection of out-of-order layouts")
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/pnfs: Fix the layout barrier update</title>
<updated>2021-07-20T14:02:21Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-07-02T20:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03165436f99b39df0710688e6f5448f8bd1063d8'/>
<id>urn:sha1:03165436f99b39df0710688e6f5448f8bd1063d8</id>
<content type='text'>
[ Upstream commit aa95edf309ef31e2df4a37ebf0e5c2ca2a6772ab ]

If we have multiple outstanding layoutget requests, the current code to
update the layout barrier assumes that the outstanding layout stateids
are updated in order. That's not necessarily the case.

Instead of using the value of lo-&gt;plh_outstanding as a guesstimate for
the window of values we need to accept, just wait to update the window
until we're processing the last one. The intention here is just to
ensure that we don't process 2^31 seqid updates without also updating
the barrier.

Fixes: 1bcf34fdac5f ("pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn")
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 fscache read from NFS after cache error</title>
<updated>2021-07-20T14:02:21Z</updated>
<author>
<name>Dave Wysochanski</name>
</author>
<published>2021-06-29T17:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a85411bbc2a9d7cc56c8fd5157005bb84fa74c70'/>
<id>urn:sha1:a85411bbc2a9d7cc56c8fd5157005bb84fa74c70</id>
<content type='text'>
[ Upstream commit ba512c1bc3232124567a59a3995c773dc79716e8 ]

Earlier commits refactored some NFS read code and removed
nfs_readpage_async(), but neglected to properly fixup
nfs_readpage_from_fscache_complete().  The code path is
only hit when something unusual occurs with the cachefiles
backing filesystem, such as an IO error or while a cookie
is being invalidated.

Mark page with PG_checked if fscache IO completes in error,
unlock the page, and let the VM decide to re-issue based on
PG_uptodate.  When the VM reissues the readpage, PG_checked
allows us to skip over fscache and read from the server.

Link: https://marc.info/?l=linux-nfs&amp;m=162498209518739
Fixes: 1e83b173b266 ("NFS: Add nfs_pageio_complete_read() and remove nfs_readpage_async()")
Signed-off-by: Dave Wysochanski &lt;dwysocha@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>NFS: Ensure nfs_readpage returns promptly when internal error occurs</title>
<updated>2021-07-20T14:02:21Z</updated>
<author>
<name>Dave Wysochanski</name>
</author>
<published>2021-06-29T09:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2218384435783e5d53c6401c7b5886d49a3a904'/>
<id>urn:sha1:e2218384435783e5d53c6401c7b5886d49a3a904</id>
<content type='text'>
commit e0340f16a08d031de54ed91d26f57c9a966a776a upstream.

A previous refactoring of nfs_readpage() might end up calling
wait_on_page_locked_killable() even if readpage_async_filler() failed
with an internal error and pg_error was non-zero (for example, if
nfs_create_request() failed).  In the case of an internal error,
skip over wait_on_page_locked_killable() as this is only needed
when the read is sent and an error occurs during completion handling.

Signed-off-by: Dave Wysochanski &lt;dwysocha@redhat.com&gt;
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>nfs: fix acl memory leak of posix_acl_create()</title>
<updated>2021-07-20T14:02:19Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2021-06-18T04:20:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c8fc86e9df6a6a03f5a8e15a3b7a5c75fd05aa38'/>
<id>urn:sha1:c8fc86e9df6a6a03f5a8e15a3b7a5c75fd05aa38</id>
<content type='text'>
[ Upstream commit 1fcb6fcd74a222d9ead54d405842fc763bb86262 ]

When looking into another nfs xfstests report, I found acl and
default_acl in nfs3_proc_create() and nfs3_proc_mknod() error
paths are possibly leaked. Fix them in advance.

Fixes: 013cdf1088d7 ("nfs: use generic posix ACL infrastructure for v3 Posix ACLs")
Cc: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Cc: Anna Schumaker &lt;anna.schumaker@netapp.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Joseph Qi &lt;joseph.qi@linux.alibaba.com&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.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: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECT</title>
<updated>2021-07-20T14:02:18Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-06-11T17:40:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c96a2ee45be41d5a167e6332d202086752c36bb'/>
<id>urn:sha1:7c96a2ee45be41d5a167e6332d202086752c36bb</id>
<content type='text'>
[ Upstream commit 3731d44bba8e0116b052b1b374476c5f6dd9a456 ]

Fix an Oopsable condition in pnfs_mark_request_commit() when we're
putting a set of writes on the commit list to reschedule them after a
failed pNFS attempt.

Fixes: 9c455a8c1e14 ("NFS/pNFS: Clean up pNFS commit 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: Initialise connection to the server in nfs4_alloc_client()</title>
<updated>2021-07-20T14:02:18Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-06-09T14:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=87871d990a2c1879fb5c543f7244f360532e2f28'/>
<id>urn:sha1:87871d990a2c1879fb5c543f7244f360532e2f28</id>
<content type='text'>
[ Upstream commit dd99e9f98fbf423ff6d365b37a98e8879170f17c ]

Set up the connection to the NFSv4 server in nfs4_alloc_client(), before
we've added the struct nfs_client to the net-namespace's nfs_client_list
so that a downed server won't cause other mounts to hang in the trunking
detection code.

Reported-by: Michael Wakabayashi &lt;mwakabayashi@vmware.com&gt;
Fixes: 5c6e5b60aae4 ("NFS: Fix an Oops in the pNFS files and flexfiles connection setup to the DS")
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: nfs_find_open_context() may only select open files</title>
<updated>2021-07-20T14:02:15Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-05-12T03:41:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e17e92ea8e1d035f97eefd2449502336f8249fcb'/>
<id>urn:sha1:e17e92ea8e1d035f97eefd2449502336f8249fcb</id>
<content type='text'>
[ Upstream commit e97bc66377bca097e1f3349ca18ca17f202ff659 ]

If a file has already been closed, then it should not be selected to
support further I/O.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
[Trond: Fix an invalid pointer deref reported by Colin Ian King]
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>NFSv4: Fix delegation return in cases where we have to retry</title>
<updated>2021-07-20T14:02:14Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2021-05-08T14:01:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7184a3d768bbe70486453b8289f68bdf372ca124'/>
<id>urn:sha1:7184a3d768bbe70486453b8289f68bdf372ca124</id>
<content type='text'>
[ Upstream commit be20037725d17935ec669044bd2b15bc40c3b5ab ]

If we're unable to immediately recover all locks because the server is
unable to immediately service our reclaim calls, then we want to retry
after we've finished servicing all the other asynchronous delegation
returns on our queue.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
</feed>
