aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fscache-cache.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fscache-cache.h')
-rw-r--r--include/linux/fscache-cache.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h
index f5facd1d333f..1e454ad7a832 100644
--- a/include/linux/fscache-cache.h
+++ b/include/linux/fscache-cache.h
@@ -254,6 +254,9 @@ struct fscache_cache_ops {
254 /* store the updated auxiliary data on an object */ 254 /* store the updated auxiliary data on an object */
255 void (*update_object)(struct fscache_object *object); 255 void (*update_object)(struct fscache_object *object);
256 256
257 /* Invalidate an object */
258 void (*invalidate_object)(struct fscache_operation *op);
259
257 /* discard the resources pinned by an object and effect retirement if 260 /* discard the resources pinned by an object and effect retirement if
258 * necessary */ 261 * necessary */
259 void (*drop_object)(struct fscache_object *object); 262 void (*drop_object)(struct fscache_object *object);
@@ -329,6 +332,7 @@ struct fscache_cookie {
329#define FSCACHE_COOKIE_FILLING 4 /* T if filling object incrementally */ 332#define FSCACHE_COOKIE_FILLING 4 /* T if filling object incrementally */
330#define FSCACHE_COOKIE_UNAVAILABLE 5 /* T if cookie is unavailable (error, etc) */ 333#define FSCACHE_COOKIE_UNAVAILABLE 5 /* T if cookie is unavailable (error, etc) */
331#define FSCACHE_COOKIE_WAITING_ON_READS 6 /* T if cookie is waiting on reads */ 334#define FSCACHE_COOKIE_WAITING_ON_READS 6 /* T if cookie is waiting on reads */
335#define FSCACHE_COOKIE_INVALIDATING 7 /* T if cookie is being invalidated */
332}; 336};
333 337
334extern struct fscache_cookie fscache_fsdef_index; 338extern struct fscache_cookie fscache_fsdef_index;
@@ -345,6 +349,7 @@ struct fscache_object {
345 /* active states */ 349 /* active states */
346 FSCACHE_OBJECT_AVAILABLE, /* cleaning up object after creation */ 350 FSCACHE_OBJECT_AVAILABLE, /* cleaning up object after creation */
347 FSCACHE_OBJECT_ACTIVE, /* object is usable */ 351 FSCACHE_OBJECT_ACTIVE, /* object is usable */
352 FSCACHE_OBJECT_INVALIDATING, /* object is invalidating */
348 FSCACHE_OBJECT_UPDATING, /* object is updating */ 353 FSCACHE_OBJECT_UPDATING, /* object is updating */
349 354
350 /* terminal states */ 355 /* terminal states */
@@ -378,7 +383,8 @@ struct fscache_object {
378#define FSCACHE_OBJECT_EV_RELEASE 4 /* T if netfs requested object release */ 383#define FSCACHE_OBJECT_EV_RELEASE 4 /* T if netfs requested object release */
379#define FSCACHE_OBJECT_EV_RETIRE 5 /* T if netfs requested object retirement */ 384#define FSCACHE_OBJECT_EV_RETIRE 5 /* T if netfs requested object retirement */
380#define FSCACHE_OBJECT_EV_WITHDRAW 6 /* T if cache requested object withdrawal */ 385#define FSCACHE_OBJECT_EV_WITHDRAW 6 /* T if cache requested object withdrawal */
381#define FSCACHE_OBJECT_EVENTS_MASK 0x7f /* mask of all events*/ 386#define FSCACHE_OBJECT_EV_INVALIDATE 7 /* T if cache requested object invalidation */
387#define FSCACHE_OBJECT_EVENTS_MASK 0xff /* mask of all events*/
382 388
383 unsigned long flags; 389 unsigned long flags;
384#define FSCACHE_OBJECT_LOCK 0 /* T if object is busy being processed */ 390#define FSCACHE_OBJECT_LOCK 0 /* T if object is busy being processed */