mirror of
https://github.com/torvalds/linux.git
synced 2026-05-05 23:05:25 -04:00
A rolling buffer is a series of folios held in a list of folio_queues. New folios and folio_queue structs may be inserted at the head simultaneously with spent ones being removed from the tail without the need for locking. The rolling buffer includes an iov_iter and it has to be careful managing this as the list of folio_queues is extended such that an oops doesn't incurred because the iterator was pointing to the end of a folio_queue segment that got appended to and then removed. We need to use the mechanism twice, once for read and once for write, and, in future patches, we will use a second rolling buffer to handle bounce buffering for content encryption. Signed-off-by: David Howells <dhowells@redhat.com> Link: https://lore.kernel.org/r/20241216204124.3752367-6-dhowells@redhat.com cc: Jeff Layton <jlayton@kernel.org> cc: netfs@lists.linux.dev cc: linux-fsdevel@vger.kernel.org Signed-off-by: Christian Brauner <brauner@kernel.org>
35 lines
615 B
Makefile
35 lines
615 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
netfs-y := \
|
|
buffered_read.o \
|
|
buffered_write.o \
|
|
direct_read.o \
|
|
direct_write.o \
|
|
iterator.o \
|
|
locking.o \
|
|
main.o \
|
|
misc.o \
|
|
objects.o \
|
|
read_collect.o \
|
|
read_pgpriv2.o \
|
|
read_retry.o \
|
|
rolling_buffer.o \
|
|
write_collect.o \
|
|
write_issue.o
|
|
|
|
netfs-$(CONFIG_NETFS_STATS) += stats.o
|
|
|
|
netfs-$(CONFIG_FSCACHE) += \
|
|
fscache_cache.o \
|
|
fscache_cookie.o \
|
|
fscache_io.o \
|
|
fscache_main.o \
|
|
fscache_volume.o
|
|
|
|
ifeq ($(CONFIG_PROC_FS),y)
|
|
netfs-$(CONFIG_FSCACHE) += fscache_proc.o
|
|
endif
|
|
netfs-$(CONFIG_FSCACHE_STATS) += fscache_stats.o
|
|
|
|
obj-$(CONFIG_NETFS_SUPPORT) += netfs.o
|