summaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2021-10-21 13:05:53 +0300
committerDavid Howells <dhowells@redhat.com>2022-01-07 16:42:44 +0300
commit287fd611238dd4b7e32fd3a8985aa387d26c4f29 (patch)
tree3b643ab9271c8ac0583840042286355fe27b6592 /samples
parent1f08c925e7a38002bde509e66f6f891468848511 (diff)
downloadlinux-287fd611238dd4b7e32fd3a8985aa387d26c4f29.tar.xz
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 'samples')
0 files changed, 0 insertions, 0 deletions