summaryrefslogtreecommitdiff
path: root/fs/cachefiles/Makefile
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2021-10-21 11:05:53 +0100
committerDavid Howells <dhowells@redhat.com>2022-01-07 13:42:44 +0000
commit287fd611238dd4b7e32fd3a8985aa387d26c4f29 (patch)
tree3b643ab9271c8ac0583840042286355fe27b6592 /fs/cachefiles/Makefile
parent1f08c925e7a38002bde509e66f6f891468848511 (diff)
cachefiles: Implement begin and end I/O operation
Implement the methods for beginning and ending an I/O operation. When called to begin an I/O operation, we are guaranteed that the cookie has reached a certain stage (we're called by fscache after it has done a suitable wait). If a file is available, we paste a ref over into the cache resources for the I/O routines to use. This means that the object can be invalidated whilst the I/O is ongoing without the need to synchronise as the file pointer in the object is replaced, but the file pointer in the cache resources is unaffected. Ending the operation just requires ditching any refs we have and dropping the access guarantee that fscache got for us on the cookie. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/163819645033.215744.2199344081658268312.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/163906951916.143852.9531384743995679857.stgit@warthog.procyon.org.uk/ # v2 Link: https://lore.kernel.org/r/163967161222.1823006.4461476204800357263.stgit@warthog.procyon.org.uk/ # v3 Link: https://lore.kernel.org/r/164021559030.640689.3684291785218094142.stgit@warthog.procyon.org.uk/ # v4
Diffstat (limited to 'fs/cachefiles/Makefile')
-rw-r--r--fs/cachefiles/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cachefiles/Makefile b/fs/cachefiles/Makefile
index cb7a6bcf51eb..16d811f1a2fa 100644
--- a/fs/cachefiles/Makefile
+++ b/fs/cachefiles/Makefile
@@ -7,6 +7,7 @@ cachefiles-y := \
cache.o \
daemon.o \
interface.o \
+ io.o \
key.o \
main.o \
namei.o \