From: David Howells <dhowells@redhat.com>
To: Christian Brauner <christian@brauner.io>,
Steve French <sfrench@samba.org>
Cc: David Howells <dhowells@redhat.com>,
Paulo Alcantara <pc@manguebit.com>, Tom Talpey <tom@talpey.com>,
Dominique Martinet <asmadeus@codewreck.org>,
Jeff Layton <jlayton@kernel.org>,
Matthew Wilcox <willy@infradead.org>,
netfs@lists.linux.dev, linux-afs@lists.infradead.org,
linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org,
ceph-devel@vger.kernel.org, v9fs@lists.linux.dev,
linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/6] mm, netfs, cifs: Miscellaneous fixes
Date: Wed, 28 Aug 2024 22:02:41 +0100 [thread overview]
Message-ID: <20240828210249.1078637-1-dhowells@redhat.com> (raw)
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(-)
next reply other threads:[~2024-08-28 21:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-28 21:02 David Howells [this message]
2024-08-28 21:02 ` [PATCH 1/6] cifs: Fix lack of credit renegotiation on read retry David Howells
2024-08-28 21:02 ` [PATCH 2/6] netfs, cifs: Fix handling of short DIO read David Howells
2024-08-28 21:02 ` [PATCH 3/6] cifs: Fix copy offload to flush destination region David Howells
2024-08-28 21:02 ` [PATCH 4/6] mm: Fix filemap_invalidate_inode() to use invalidate_inode_pages2_range() David Howells
2024-08-30 13:12 ` (subset) " Christian Brauner
2024-09-01 23:41 ` Steve French
2024-08-28 21:02 ` [PATCH 5/6] cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region David Howells
2024-08-28 21:02 ` [PATCH 6/6] netfs, cifs: Improve some debugging bits David Howells
2024-08-29 2:47 ` [PATCH 0/6] mm, netfs, cifs: Miscellaneous fixes Steve French
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240828210249.1078637-1-dhowells@redhat.com \
--to=dhowells@redhat.com \
--cc=asmadeus@codewreck.org \
--cc=ceph-devel@vger.kernel.org \
--cc=christian@brauner.io \
--cc=jlayton@kernel.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=netfs@lists.linux.dev \
--cc=pc@manguebit.com \
--cc=sfrench@samba.org \
--cc=tom@talpey.com \
--cc=v9fs@lists.linux.dev \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).