diff options
author | David Howells <dhowells@redhat.com> | 2021-11-26 15:12:07 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2022-01-07 13:41:20 +0000 |
commit | 8667d434b2a993b34a9dae6f6673bf93870fac25 (patch) | |
tree | 197a555cb4364c72eddbdb4bf5afa37013d0fea6 /fs/cachefiles/internal.h | |
parent | 254947d47945f2fa02e9b3366594fad2ed127618 (diff) | |
download | linux-next-8667d434b2a993b34a9dae6f6673bf93870fac25.tar.gz |
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 <dhowells@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
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
Diffstat (limited to 'fs/cachefiles/internal.h')
-rw-r--r-- | fs/cachefiles/internal.h | 14 |
1 files changed, 14 insertions, 0 deletions
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 @@ -66,6 +66,20 @@ struct cachefiles_cache { #include <trace/events/cachefiles.h> /* + * 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 */ #ifdef CONFIG_CACHEFILES_ERROR_INJECTION |