Re: [PATCH v4 00/33] netfs: Read performance improvements and "single-blob" support

Christian Brauner
2024-11-11T09:12:58Z

On Fri, 08 Nov 2024 17:32:01 +0000, David Howells wrote:
> This set of patches is primarily about two things: improving read
> performance and supporting monolithic single-blob objects that have to be
> read/written as such (e.g. AFS directory contents). The implementation of
> the two parts is interwoven as each makes the other possible.
>
> READ PERFORMANCE
> ================
>
> [...]

Applied to the vfs-6.14.netfs branch of the vfs/vfs.git tree.
Patches in the vfs-6.14.netfs branch should appear in linux-next soon.

Please report any outstanding bugs that were missed during review in a
new review to the original patch series allowing us to drop it.

It's encouraged to provide Acked-bys and Reviewed-bys even though the
patch has now been applied. If possible patch trailers will be updated.

Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. If in doubt, please check the listed branch.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
branch: vfs-6.14.netfs

[01/33] kheaders: Ignore silly-rename files
https://git.kernel.org/vfs/vfs/c/3033d243b97c
[02/33] netfs: Remove call to folio_index()
https://git.kernel.org/vfs/vfs/c/f709cec9dc52
[03/33] netfs: Fix a few minor bugs in netfs_page_mkwrite()
https://git.kernel.org/vfs/vfs/c/07a80742a52b
[04/33] netfs: Remove unnecessary references to pages
https://git.kernel.org/vfs/vfs/c/53f5f31a1549
[05/33] netfs: Use a folio_queue allocation and free functions
https://git.kernel.org/vfs/vfs/c/1d044b4cb3e9
[06/33] netfs: Add a tracepoint to log the lifespan of folio_queue structs
https://git.kernel.org/vfs/vfs/c/7583f643f714
[07/33] netfs: Abstract out a rolling folio buffer implementation
https://git.kernel.org/vfs/vfs/c/2029a747a14d
[08/33] netfs: Make netfs_advance_write() return size_t
https://git.kernel.org/vfs/vfs/c/34961bbe07a5
[09/33] netfs: Split retry code out of fs/netfs/write_collect.c
https://git.kernel.org/vfs/vfs/c/8816207a3e26
[10/33] netfs: Drop the error arg from netfs_read_subreq_terminated()
https://git.kernel.org/vfs/vfs/c/44c5114bb155
[11/33] netfs: Drop the was_async arg from netfs_read_subreq_terminated()
https://git.kernel.org/vfs/vfs/c/3c8a83f74e0e
[12/33] netfs: Don't use bh spinlock
https://git.kernel.org/vfs/vfs/c/5c962f9982cd
[13/33] afs: Don't use mutex for I/O operation lock
https://git.kernel.org/vfs/vfs/c/244059f6472c
[14/33] afs: Fix EEXIST error returned from afs_rmdir() to be ENOTEMPTY
https://git.kernel.org/vfs/vfs/c/10e890507ed5
[15/33] afs: Fix directory format encoding struct
https://git.kernel.org/vfs/vfs/c/c8f34615191c
[16/33] netfs: Remove some extraneous directory invalidations
https://git.kernel.org/vfs/vfs/c/ab143ef48b3b
[17/33] cachefiles: Add some subrequest tracepoints
https://git.kernel.org/vfs/vfs/c/46599823a281
[18/33] cachefiles: Add auxiliary data trace
https://git.kernel.org/vfs/vfs/c/499c9d489d7b
[19/33] afs: Add more tracepoints to do with tracking validity
https://git.kernel.org/vfs/vfs/c/606d920396fd
[20/33] netfs: Add functions to build/clean a buffer in a folio_queue
https://git.kernel.org/vfs/vfs/c/823f8d570db5
[21/33] netfs: Add support for caching single monolithic objects such as AFS dirs
https://git.kernel.org/vfs/vfs/c/5ae8e69c119a
[22/33] afs: Make afs_init_request() get a key if not given a file
https://git.kernel.org/vfs/vfs/c/bfeb953ddf0b
[23/33] afs: Use netfslib for directories
https://git.kernel.org/vfs/vfs/c/2b6bae4ca558
[24/33] afs: Use netfslib for symlinks, allowing them to be cached
https://git.kernel.org/vfs/vfs/c/a16c68c66f52
[25/33] afs: Eliminate afs_read
https://git.kernel.org/vfs/vfs/c/b84e275b6da2
[26/33] afs: Fix cleanup of immediately failed async calls
https://git.kernel.org/vfs/vfs/c/355d07737082
[27/33] afs: Make {Y,}FS.FetchData an asynchronous operation
https://git.kernel.org/vfs/vfs/c/e31fb01515da
[28/33] netfs: Change the read result collector to only use one work item
https://git.kernel.org/vfs/vfs/c/1bd9011ee163
[29/33] afs: Make afs_mkdir() locally initialise a new directory's content
https://git.kernel.org/vfs/vfs/c/4e93a341aec1
[30/33] afs: Use the contained hashtable to search a directory
https://git.kernel.org/vfs/vfs/c/08890740b1d7
[31/33] afs: Locally initialise the contents of a new symlink on creation
https://git.kernel.org/vfs/vfs/c/d4f4a6bde676
[32/33] afs: Add a tracepoint for afs_read_receive()
https://git.kernel.org/vfs/vfs/c/f06ba511d8d5
[33/33] netfs: Report on NULL folioq in netfs_writeback_unlock_folios()