NFSD: Flesh out a documenting comment for filecache.c
[ Upstream commit b3276c1f5b
]
Record what we've learned recently about the NFSD filecache in a
documenting comment so our future selves don't forget what all this
is for.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Родитель
5fbeb6216e
Коммит
6baa3dfe40
|
@ -2,6 +2,30 @@
|
||||||
* Open file cache.
|
* Open file cache.
|
||||||
*
|
*
|
||||||
* (c) 2015 - Jeff Layton <jeff.layton@primarydata.com>
|
* (c) 2015 - Jeff Layton <jeff.layton@primarydata.com>
|
||||||
|
*
|
||||||
|
* An nfsd_file object is a per-file collection of open state that binds
|
||||||
|
* together:
|
||||||
|
* - a struct file *
|
||||||
|
* - a user credential
|
||||||
|
* - a network namespace
|
||||||
|
* - a read-ahead context
|
||||||
|
* - monitoring for writeback errors
|
||||||
|
*
|
||||||
|
* nfsd_file objects are reference-counted. Consumers acquire a new
|
||||||
|
* object via the nfsd_file_acquire API. They manage their interest in
|
||||||
|
* the acquired object, and hence the object's reference count, via
|
||||||
|
* nfsd_file_get and nfsd_file_put. There are two varieties of nfsd_file
|
||||||
|
* object:
|
||||||
|
*
|
||||||
|
* * non-garbage-collected: When a consumer wants to precisely control
|
||||||
|
* the lifetime of a file's open state, it acquires a non-garbage-
|
||||||
|
* collected nfsd_file. The final nfsd_file_put releases the open
|
||||||
|
* state immediately.
|
||||||
|
*
|
||||||
|
* * garbage-collected: When a consumer does not control the lifetime
|
||||||
|
* of open state, it acquires a garbage-collected nfsd_file. The
|
||||||
|
* final nfsd_file_put allows the open state to linger for a period
|
||||||
|
* during which it may be re-used.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/hash.h>
|
#include <linux/hash.h>
|
||||||
|
|
Загрузка…
Ссылка в новой задаче