netfs: Use new folio_queue data type and iterator instead of xarray iter
authorDavid Howells <dhowells@redhat.com>
Wed, 29 May 2024 20:47:07 +0000 (21:47 +0100)
committerChristian Brauner <brauner@kernel.org>
Thu, 12 Sep 2024 10:20:40 +0000 (12:20 +0200)
commitcd0277ed0c188dd40e7744e89299af7b78831ca4
tree7ebbd871e1bfb367a520d139eccca5dd9bdf2ada
parentc45ebd636c32d33c75e51ce977520ff146bd41a1
netfs: Use new folio_queue data type and iterator instead of xarray iter

Make the netfs write-side routines use the new folio_queue struct to hold a
rolling buffer of folios, with the issuer adding folios at the tail and the
collector removing them from the head as they're processed instead of using
an xarray.

This will allow a subsequent patch to simplify the write collector.

The primary mark (as tested by folioq_is_marked()) is used to note if the
corresponding folio needs putting.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20240814203850.2240469-16-dhowells@redhat.com/
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/netfs/internal.h
fs/netfs/misc.c
fs/netfs/objects.c
fs/netfs/stats.c
fs/netfs/write_collect.c
fs/netfs/write_issue.c
include/linux/netfs.h
include/trace/events/netfs.h