[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240822220650.318774-1-dhowells@redhat.com>
Date: Thu, 22 Aug 2024 23:06:47 +0100
From: David Howells <dhowells@...hat.com>
To: Christian Brauner <christian@...uner.io>
Cc: David Howells <dhowells@...hat.com>,
Pankaj Raghav <p.raghav@...sung.com>,
Jeff Layton <jlayton@...nel.org>,
Matthew Wilcox <willy@...radead.org>,
netfs@...ts.linux.dev,
linux-afs@...ts.infradead.org,
linux-cifs@...r.kernel.org,
linux-nfs@...r.kernel.org,
ceph-devel@...r.kernel.org,
v9fs@...ts.linux.dev,
linux-erofs@...ts.ozlabs.org,
linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 0/2] netfs, cifs: DIO read and read-retry fixes
Hi Christian, Steve,
Here are a couple of fixes to DIO read handling and the retrying of reads,
particularly in relation to cifs.
(1) Fix the missing credit renegotiation in cifs on the retrying of reads.
The credits we had ended with the original read (or the last retry)
and to perform a new read we need more credits otherwise the server
can reject our read with EINVAL.
(2) Fix the handling of short DIO reads to avoid ENODATA when the read
retry tries to access a portion of the file after the EOF.
These were both accessible by simply trying to do a DIO read of a remote
file where the read was larger than the file.
Note that (2) might also apply to other netfslib-using filesystems.
The patches can also be found here:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=netfs-fixes
Thanks,
David
David Howells (2):
cifs: Fix lack of credit renegotiation on read retry
netfs, cifs: Fix handling of short DIO read
fs/netfs/io.c | 19 ++++++++++++------
fs/smb/client/cifsglob.h | 1 +
fs/smb/client/file.c | 28 ++++++++++++++++++++++----
fs/smb/client/smb2pdu.c | 43 +++++++++++++++++++++++++++++-----------
include/linux/netfs.h | 1 +
5 files changed, 70 insertions(+), 22 deletions(-)
Powered by blists - more mailing lists