aboutsummaryrefslogtreecommitdiff
path: root/fs/fscache/internal.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2009-04-03 16:42:37 +0100
committerDavid Howells <dhowells@redhat.com>2009-04-03 16:42:37 +0100
commit0e04d4cefcf4d8fbbdb2c50e93ad541582933fd2 (patch)
tree97c4cda6a2c246660e6a5c718a9272375cdb259c /fs/fscache/internal.h
parenta6891645cf2ddd4778096848a864580e7258faba (diff)
downloadlinux-linaro-stable-0e04d4cefcf4d8fbbdb2c50e93ad541582933fd2.tar.gz
FS-Cache: Add cache tag handling
Implement two features of FS-Cache: (1) The ability to request and release cache tags - names by which a cache may be known to a netfs, and thus selected for use. (2) An internal function by which a cache is selected by consulting the netfs, if the netfs wishes to be consulted. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Steve Dickson <steved@redhat.com> Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com> Acked-by: Al Viro <viro@zeniv.linux.org.uk> Tested-by: Daire Byrne <Daire.Byrne@framestore.com>
Diffstat (limited to 'fs/fscache/internal.h')
-rw-r--r--fs/fscache/internal.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
index 4113af8d1660..0a2069afa417 100644
--- a/fs/fscache/internal.h
+++ b/fs/fscache/internal.h
@@ -28,6 +28,15 @@
#define FSCACHE_MAX_THREADS 32
/*
+ * fsc-cache.c
+ */
+extern struct list_head fscache_cache_list;
+extern struct rw_semaphore fscache_addremove_sem;
+
+extern struct fscache_cache *fscache_select_cache_for_object(
+ struct fscache_cookie *);
+
+/*
* fsc-fsdef.c
*/
extern struct fscache_cookie fscache_fsdef_index;
@@ -168,6 +177,17 @@ extern const struct file_operations fscache_stats_fops;
#define fscache_stat(stat) do {} while (0)
#endif
+/*
+ * raise an event on an object
+ * - if the event is not masked for that object, then the object is
+ * queued for attention by the thread pool.
+ */
+static inline void fscache_raise_event(struct fscache_object *object,
+ unsigned event)
+{
+ BUG(); // TODO
+}
+
/*****************************************************************************/
/*
* debug tracing