cachefiles: Implement cache registration and withdrawal
Do the following:
(1) Fill out cachefiles_daemon_add_cache() so that it sets up the cache
directories and registers the cache with cachefiles.
(2) Add a function to do the top-level part of cache withdrawal and
unregistration.
(3) Add a function to sync a cache.
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/163819633175.215744.10857127598041268340.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/163906935445.143852.15545194974036410029.stgit@warthog.procyon.org.uk/ # v2
Link: https://lore.kernel.org/r/163967142904.1823006.244055483596047072.stgit@warthog.procyon.org.uk/ # v3
Link: https://lore.kernel.org/r/164021543872.640689.14370017789605073222.stgit@warthog.procyon.org.uk/ # v4
This commit is contained in:
@@ -702,6 +702,7 @@ static int cachefiles_daemon_bind(struct cachefiles_cache *cache, char *args)
|
||||
|
||||
pr_warn("Cache is disabled for development\n");
|
||||
return -ENOANO; // Don't allow the cache to operate yet
|
||||
//return cachefiles_add_cache(cache);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -711,10 +712,11 @@ static void cachefiles_daemon_unbind(struct cachefiles_cache *cache)
|
||||
{
|
||||
_enter("");
|
||||
|
||||
if (test_bit(CACHEFILES_READY, &cache->flags)) {
|
||||
// PLACEHOLDER: Withdraw cache
|
||||
}
|
||||
if (test_bit(CACHEFILES_READY, &cache->flags))
|
||||
cachefiles_withdraw_cache(cache);
|
||||
|
||||
cachefiles_put_directory(cache->graveyard);
|
||||
cachefiles_put_directory(cache->store);
|
||||
mntput(cache->mnt);
|
||||
|
||||
kfree(cache->rootdirname);
|
||||
|
||||
Reference in New Issue
Block a user