diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-27 20:00:27 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-27 20:00:27 -0400 |
| commit | 298fb76a5583900a155d387efaf37a8b39e5dea2 (patch) | |
| tree | 55b903ec587e8ec470c13084938303f542139557 /include/linux/sunrpc/cache.h | |
| parent | 8f744bdee4fefb17fac052c7418b830de2b59ac8 (diff) | |
| parent | e41f9efb85d38d95744b9f35b9903109032b93d4 (diff) | |
Merge tag 'nfsd-5.4' of git://linux-nfs.org/~bfields/linux
Pull nfsd updates from Bruce Fields:
"Highlights:
- Add a new knfsd file cache, so that we don't have to open and close
on each (NFSv2/v3) READ or WRITE. This can speed up read and write
in some cases. It also replaces our readahead cache.
- Prevent silent data loss on write errors, by treating write errors
like server reboots for the purposes of write caching, thus forcing
clients to resend their writes.
- Tweak the code that allocates sessions to be more forgiving, so
that NFSv4.1 mounts are less likely to hang when a server already
has a lot of clients.
- Eliminate an arbitrary limit on NFSv4 ACL sizes; they should now be
limited only by the backend filesystem and the maximum RPC size.
- Allow the server to enforce use of the correct kerberos credentials
when a client reclaims state after a reboot.
And some miscellaneous smaller bugfixes and cleanup"
* tag 'nfsd-5.4' of git://linux-nfs.org/~bfields/linux: (34 commits)
sunrpc: clean up indentation issue
nfsd: fix nfs read eof detection
nfsd: Make nfsd_reset_boot_verifier_locked static
nfsd: degraded slot-count more gracefully as allocation nears exhaustion.
nfsd: handle drc over-allocation gracefully.
nfsd: add support for upcall version 2
nfsd: add a "GetVersion" upcall for nfsdcld
nfsd: Reset the boot verifier on all write I/O errors
nfsd: Don't garbage collect files that might contain write errors
nfsd: Support the server resetting the boot verifier
nfsd: nfsd_file cache entries should be per net namespace
nfsd: eliminate an unnecessary acl size limit
Deprecate nfsd fault injection
nfsd: remove duplicated include from filecache.c
nfsd: Fix the documentation for svcxdr_tmpalloc()
nfsd: Fix up some unused variable warnings
nfsd: close cached files prior to a REMOVE or RENAME that would replace target
nfsd: rip out the raparms cache
nfsd: have nfsd_test_lock use the nfsd_file cache
nfsd: hook up nfs4_preprocess_stateid_op to the nfsd_file cache
...
Diffstat (limited to 'include/linux/sunrpc/cache.h')
| -rw-r--r-- | include/linux/sunrpc/cache.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h index c7f38e897174..f8603724fbee 100644 --- a/include/linux/sunrpc/cache.h +++ b/include/linux/sunrpc/cache.h | |||
| @@ -87,6 +87,7 @@ struct cache_detail { | |||
| 87 | int has_died); | 87 | int has_died); |
| 88 | 88 | ||
| 89 | struct cache_head * (*alloc)(void); | 89 | struct cache_head * (*alloc)(void); |
| 90 | void (*flush)(void); | ||
| 90 | int (*match)(struct cache_head *orig, struct cache_head *new); | 91 | int (*match)(struct cache_head *orig, struct cache_head *new); |
| 91 | void (*init)(struct cache_head *orig, struct cache_head *new); | 92 | void (*init)(struct cache_head *orig, struct cache_head *new); |
| 92 | void (*update)(struct cache_head *orig, struct cache_head *new); | 93 | void (*update)(struct cache_head *orig, struct cache_head *new); |
| @@ -107,9 +108,9 @@ struct cache_detail { | |||
| 107 | /* fields for communication over channel */ | 108 | /* fields for communication over channel */ |
| 108 | struct list_head queue; | 109 | struct list_head queue; |
| 109 | 110 | ||
| 110 | atomic_t readers; /* how many time is /chennel open */ | 111 | atomic_t writers; /* how many time is /channel open */ |
| 111 | time_t last_close; /* if no readers, when did last close */ | 112 | time_t last_close; /* if no writers, when did last close */ |
| 112 | time_t last_warn; /* when we last warned about no readers */ | 113 | time_t last_warn; /* when we last warned about no writers */ |
| 113 | 114 | ||
| 114 | union { | 115 | union { |
| 115 | struct proc_dir_entry *procfs; | 116 | struct proc_dir_entry *procfs; |
