[PATCH 0/6] mm, netfs, cifs: Miscellaneous fixes
Steve French
smfrench at gmail.com
Thu Aug 29 12:47:43 AEST 2024
testing is going fine so far with David's series ontop of current mainline
(I see one possible intermittent server bug failure - on test
generic/728 - but no red flags testing so far)
http://smb311-linux-testing.southcentralus.cloudapp.azure.com/#/builders/3/builds/207
On Wed, Aug 28, 2024 at 4:03 PM David Howells <dhowells at redhat.com> wrote:
>
> Hi Christian, Steve,
>
> Firstly, here are some 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.
>
> Secondly, some patches fixing cifs copy and zero offload:
>
> (3) Fix cifs_file_copychunk_range() to not try to partially invalidate
> folios that are only partly covered by the range, but rather flush
> them back and invalidate them.
>
> (4) Fix filemap_invalidate_inode() to use the correct invalidation
> function so that it doesn't leave partially invalidated folios hanging
> around (which may hide part of the result of an offloaded copy).
>
> (5) Fix smb3_zero_data() to correctly handle zeroing of data that's
> buffered locally but not yet written back and with the EOF position on
> the server short of the local EOF position.
>
> Note that this will also affect afs and 9p, particularly with regard
> to direct I/O writes.
>
> And finally, here's an adjustment to debugging statements:
>
> (6) Adjust three debugging output statements. Not strictly a fix, so
> could be dropped. Including the subreq ID in some extra debug lines
> helps a bit, though.
>
> 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 (6):
> cifs: Fix lack of credit renegotiation on read retry
> netfs, cifs: Fix handling of short DIO read
> cifs: Fix copy offload to flush destination region
> mm: Fix filemap_invalidate_inode() to use
> invalidate_inode_pages2_range()
> cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target
> region
> netfs, cifs: Improve some debugging bits
>
> fs/netfs/io.c | 21 +++++++++++++-------
> fs/smb/client/cifsfs.c | 21 ++++----------------
> fs/smb/client/cifsglob.h | 1 +
> fs/smb/client/file.c | 37 ++++++++++++++++++++++++++++++++----
> fs/smb/client/smb2ops.c | 26 +++++++++++++++++++------
> fs/smb/client/smb2pdu.c | 41 +++++++++++++++++++++++++---------------
> fs/smb/client/trace.h | 1 +
> include/linux/netfs.h | 1 +
> mm/filemap.c | 2 +-
> 9 files changed, 101 insertions(+), 50 deletions(-)
>
>
--
Thanks,
Steve
More information about the Linux-erofs
mailing list