diff options
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/caching/backend-api.txt | 23 | ||||
-rw-r--r-- | Documentation/filesystems/caching/fscache.txt | 7 | ||||
-rw-r--r-- | Documentation/filesystems/dax.txt | 6 | ||||
-rw-r--r-- | Documentation/filesystems/porting | 4 |
4 files changed, 37 insertions, 3 deletions
diff --git a/Documentation/filesystems/caching/backend-api.txt b/Documentation/filesystems/caching/backend-api.txt index 277d1e810670..c0bd5677271b 100644 --- a/Documentation/filesystems/caching/backend-api.txt +++ b/Documentation/filesystems/caching/backend-api.txt | |||
@@ -676,6 +676,29 @@ FS-Cache provides some utilities that a cache backend may make use of: | |||
676 | as possible. | 676 | as possible. |
677 | 677 | ||
678 | 678 | ||
679 | (*) Indicate that a stale object was found and discarded: | ||
680 | |||
681 | void fscache_object_retrying_stale(struct fscache_object *object); | ||
682 | |||
683 | This is called to indicate that the lookup procedure found an object in | ||
684 | the cache that the netfs decided was stale. The object has been | ||
685 | discarded from the cache and the lookup will be performed again. | ||
686 | |||
687 | |||
688 | (*) Indicate that the caching backend killed an object: | ||
689 | |||
690 | void fscache_object_mark_killed(struct fscache_object *object, | ||
691 | enum fscache_why_object_killed why); | ||
692 | |||
693 | This is called to indicate that the cache backend preemptively killed an | ||
694 | object. The why parameter should be set to indicate the reason: | ||
695 | |||
696 | FSCACHE_OBJECT_IS_STALE - the object was stale and needs discarding. | ||
697 | FSCACHE_OBJECT_NO_SPACE - there was insufficient cache space | ||
698 | FSCACHE_OBJECT_WAS_RETIRED - the object was retired when relinquished. | ||
699 | FSCACHE_OBJECT_WAS_CULLED - the object was culled to make space. | ||
700 | |||
701 | |||
679 | (*) Get and release references on a retrieval record: | 702 | (*) Get and release references on a retrieval record: |
680 | 703 | ||
681 | void fscache_get_retrieval(struct fscache_retrieval *op); | 704 | void fscache_get_retrieval(struct fscache_retrieval *op); |
diff --git a/Documentation/filesystems/caching/fscache.txt b/Documentation/filesystems/caching/fscache.txt index 770267af5b3e..50f0a5757f48 100644 --- a/Documentation/filesystems/caching/fscache.txt +++ b/Documentation/filesystems/caching/fscache.txt | |||
@@ -284,8 +284,9 @@ proc files. | |||
284 | enq=N Number of times async ops queued for processing | 284 | enq=N Number of times async ops queued for processing |
285 | can=N Number of async ops cancelled | 285 | can=N Number of async ops cancelled |
286 | rej=N Number of async ops rejected due to object lookup/create failure | 286 | rej=N Number of async ops rejected due to object lookup/create failure |
287 | ini=N Number of async ops initialised | ||
287 | dfr=N Number of async ops queued for deferred release | 288 | dfr=N Number of async ops queued for deferred release |
288 | rel=N Number of async ops released | 289 | rel=N Number of async ops released (should equal ini=N when idle) |
289 | gc=N Number of deferred-release async ops garbage collected | 290 | gc=N Number of deferred-release async ops garbage collected |
290 | CacheOp alo=N Number of in-progress alloc_object() cache ops | 291 | CacheOp alo=N Number of in-progress alloc_object() cache ops |
291 | luo=N Number of in-progress lookup_object() cache ops | 292 | luo=N Number of in-progress lookup_object() cache ops |
@@ -303,6 +304,10 @@ proc files. | |||
303 | wrp=N Number of in-progress write_page() cache ops | 304 | wrp=N Number of in-progress write_page() cache ops |
304 | ucp=N Number of in-progress uncache_page() cache ops | 305 | ucp=N Number of in-progress uncache_page() cache ops |
305 | dsp=N Number of in-progress dissociate_pages() cache ops | 306 | dsp=N Number of in-progress dissociate_pages() cache ops |
307 | CacheEv nsp=N Number of object lookups/creations rejected due to lack of space | ||
308 | stl=N Number of stale objects deleted | ||
309 | rtr=N Number of objects retired when relinquished | ||
310 | cul=N Number of objects culled | ||
306 | 311 | ||
307 | 312 | ||
308 | (*) /proc/fs/fscache/histogram | 313 | (*) /proc/fs/fscache/histogram |
diff --git a/Documentation/filesystems/dax.txt b/Documentation/filesystems/dax.txt index baf41118660d..7af2851d667c 100644 --- a/Documentation/filesystems/dax.txt +++ b/Documentation/filesystems/dax.txt | |||
@@ -18,8 +18,10 @@ Usage | |||
18 | ----- | 18 | ----- |
19 | 19 | ||
20 | If you have a block device which supports DAX, you can make a filesystem | 20 | If you have a block device which supports DAX, you can make a filesystem |
21 | on it as usual. When mounting it, use the -o dax option manually | 21 | on it as usual. The DAX code currently only supports files with a block |
22 | or add 'dax' to the options in /etc/fstab. | 22 | size equal to your kernel's PAGE_SIZE, so you may need to specify a block |
23 | size when creating the filesystem. When mounting it, use the "-o dax" | ||
24 | option on the command line or add 'dax' to the options in /etc/fstab. | ||
23 | 25 | ||
24 | 26 | ||
25 | Implementation Tips for Block Driver Writers | 27 | Implementation Tips for Block Driver Writers |
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index 68f1c9106573..f24d1b833957 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting | |||
@@ -500,3 +500,7 @@ in your dentry operations instead. | |||
500 | dentry, it does not get nameidata at all and it gets called only when cookie | 500 | dentry, it does not get nameidata at all and it gets called only when cookie |
501 | is non-NULL. Note that link body isn't available anymore, so if you need it, | 501 | is non-NULL. Note that link body isn't available anymore, so if you need it, |
502 | store it as cookie. | 502 | store it as cookie. |
503 | -- | ||
504 | [mandatory] | ||
505 | __fd_install() & fd_install() can now sleep. Callers should not | ||
506 | hold a spinlock or other resources that do not allow a schedule. | ||