diff options
Diffstat (limited to 'include/linux/fscache-cache.h')
-rw-r--r-- | include/linux/fscache-cache.h | 8 |
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 | ||
334 | extern struct fscache_cookie fscache_fsdef_index; | 338 | extern 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 */ |