[PATCH 0/6] netfs, cachefiles: More additional patches

From: David Howells
Date: Tue Jan 09 2024 - 06:21:03 EST


Hi Christian, Jeff, Gao,

Here are some additional patches for my netfs-lib tree:

(1) Mark netfs_unbuffered_write_iter_locked() static as it's only used in
the file in which it is defined.

(2) Display a counter for DIO writes in /proc/fs/netfs/stats.

(3) Fix the interaction between write-streaming (dirty data in
non-uptodate pages) and the culling of a cache file trying to write
that to the cache.

(4) Fix the loop that unmarks folios after writing to the cache. The
xarray iterator only advances the index by 1, so if we unmarked a
multipage folio and that got split before we advance to the next
folio, we see a repeat of a fragment of the folio.

(5) Fix a mixup with signed/unsigned offsets when prepping for writing to
the cache that leads to missing error detection.

(6) Fix a wrong ifdef hiding a wait.

David

The netfslib postings:
Link: https://lore.kernel.org/r/20231013160423.2218093-1-dhowells@xxxxxxxxxx/ # v1
Link: https://lore.kernel.org/r/20231117211544.1740466-1-dhowells@xxxxxxxxxx/ # v2
Link: https://lore.kernel.org/r/20231207212206.1379128-1-dhowells@xxxxxxxxxx/ # v3
Link: https://lore.kernel.org/r/20231213152350.431591-1-dhowells@xxxxxxxxxx/ # v4
Link: https://lore.kernel.org/r/20231221132400.1601991-1-dhowells@xxxxxxxxxx/ # v5
Link: https://lore.kernel.org/r/20240103145935.384404-1-dhowells@xxxxxxxxxx/ # added patches

David Howells (6):
netfs: Mark netfs_unbuffered_write_iter_locked() static
netfs: Count DIO writes
netfs: Fix interaction between write-streaming and cachefiles culling
netfs: Fix the loop that unmarks folios after writing to the cache
cachefiles: Fix signed/unsigned mixup
netfs: Fix wrong #ifdef hiding wait

fs/cachefiles/io.c | 18 +++++++++---------
fs/netfs/buffered_write.c | 27 ++++++++++++++++++++++-----
fs/netfs/direct_write.c | 5 +++--
fs/netfs/fscache_stats.c | 9 ++++++---
fs/netfs/internal.h | 8 ++------
fs/netfs/io.c | 2 +-
fs/netfs/stats.c | 13 +++++++++----
include/linux/fscache-cache.h | 3 +++
include/linux/netfs.h | 1 +
9 files changed, 56 insertions(+), 30 deletions(-)