From 8667d434b2a993b34a9dae6f6673bf93870fac25 Mon Sep 17 00:00:00 2001 From: David Howells Date: Fri, 26 Nov 2021 15:12:07 +0000 Subject: cachefiles: Register a miscdev and parse commands over it Register a misc device with which to talk to the daemon. The misc device holds a cache set up through it around and closing the device kills the cache. cachefilesd communicates with the kernel by passing it single-line text commands. Parse these and use them to parameterise the cache state. This does not implement the command to actually bring a cache online. That's left for later. Signed-off-by: David Howells Reviewed-by: Jeff Layton cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/163819628388.215744.17712097043607299608.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/163906929128.143852.14065207858943654011.stgit@warthog.procyon.org.uk/ # v2 Link: https://lore.kernel.org/r/163967139085.1823006.3514846391807454287.stgit@warthog.procyon.org.uk/ # v3 Link: https://lore.kernel.org/r/164021538400.640689.9172006906288062041.stgit@warthog.procyon.org.uk/ # v4 --- fs/cachefiles/internal.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'fs/cachefiles/internal.h') diff --git a/fs/cachefiles/internal.h b/fs/cachefiles/internal.h index e57ce5ef875c..7fd5429715ea 100644 --- a/fs/cachefiles/internal.h +++ b/fs/cachefiles/internal.h @@ -65,6 +65,20 @@ struct cachefiles_cache { #include +/* + * note change of state for daemon + */ +static inline void cachefiles_state_changed(struct cachefiles_cache *cache) +{ + set_bit(CACHEFILES_STATE_CHANGED, &cache->flags); + wake_up_all(&cache->daemon_pollwq); +} + +/* + * daemon.c + */ +extern const struct file_operations cachefiles_daemon_fops; + /* * error_inject.c */ -- cgit v1.2.3