diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2009-12-23 03:21:47 +0300 | 
|---|---|---|
| committer | Dan Williams <dan.j.williams@intel.com> | 2009-12-23 03:21:47 +0300 | 
| commit | f80ca163d65903276bec7045a484a79c0897eb2d (patch) | |
| tree | 97c7d61d43248b9db0757a76af80ff58b98b5599 /Documentation/filesystems/caching/netfs-api.txt | |
| parent | 0794ec8ce327ec74416b569b8fb1951274693700 (diff) | |
| parent | a6d52d70677e99bdb89b6921c265d0a58c22e597 (diff) | |
| download | linux-f80ca163d65903276bec7045a484a79c0897eb2d.tar.xz | |
Merge branch 'ioat' into fixes
Diffstat (limited to 'Documentation/filesystems/caching/netfs-api.txt')
| -rw-r--r-- | Documentation/filesystems/caching/netfs-api.txt | 21 | 
1 files changed, 20 insertions, 1 deletions
diff --git a/Documentation/filesystems/caching/netfs-api.txt b/Documentation/filesystems/caching/netfs-api.txt index 2666b1ed5e9e..1902c57b72ef 100644 --- a/Documentation/filesystems/caching/netfs-api.txt +++ b/Documentation/filesystems/caching/netfs-api.txt @@ -641,7 +641,7 @@ data file must be retired (see the relinquish cookie function below).  Furthermore, note that this does not cancel the asynchronous read or write  operation started by the read/alloc and write functions, so the page -invalidation and release functions must use: +invalidation functions must use:  	bool fscache_check_page_write(struct fscache_cookie *cookie,  				      struct page *page); @@ -654,6 +654,25 @@ to see if a page is being written to the cache, and:  to wait for it to finish if it is. +When releasepage() is being implemented, a special FS-Cache function exists to +manage the heuristics of coping with vmscan trying to eject pages, which may +conflict with the cache trying to write pages to the cache (which may itself +need to allocate memory): + +	bool fscache_maybe_release_page(struct fscache_cookie *cookie, +					struct page *page, +					gfp_t gfp); + +This takes the netfs cookie, and the page and gfp arguments as supplied to +releasepage().  It will return false if the page cannot be released yet for +some reason and if it returns true, the page has been uncached and can now be +released. + +To make a page available for release, this function may wait for an outstanding +storage request to complete, or it may attempt to cancel the storage request - +in which case the page will not be stored in the cache this time. + +  ==========================  INDEX AND DATA FILE UPDATE  ==========================  | 
