[PATCH 03/11] cachefiles: set default tag name if it's unspecified
David Howells
dhowells at redhat.com
Tue Jan 18 05:53:19 PST 2022
From: Jeffle Xu <jefflexu at linux.alibaba.com>
fscache_acquire_cache() requires a non-empty name, while 'tag <name>'
command is optional for cachefilesd.
Thus set default tag name if it's unspecified to avoid the regression of
cachefilesd. The logic is the same with that before rewritten.
Signed-off-by: Jeffle Xu <jefflexu at linux.alibaba.com>
Signed-off-by: David Howells <dhowells at redhat.com>
cc: linux-cachefs at redhat.com
---
fs/cachefiles/daemon.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/fs/cachefiles/daemon.c b/fs/cachefiles/daemon.c
index 40a792421fc1..7ac04ee2c0a0 100644
--- a/fs/cachefiles/daemon.c
+++ b/fs/cachefiles/daemon.c
@@ -703,6 +703,17 @@ static int cachefiles_daemon_bind(struct cachefiles_cache *cache, char *args)
return -EBUSY;
}
+ /* Make sure we have copies of the tag string */
+ if (!cache->tag) {
+ /*
+ * The tag string is released by the fops->release()
+ * function, so we don't release it on error here
+ */
+ cache->tag = kstrdup("CacheFiles", GFP_KERNEL);
+ if (!cache->tag)
+ return -ENOMEM;
+ }
+
return cachefiles_add_cache(cache);
}
More information about the linux-afs
mailing list