locking fixups for NFS
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest10 patches 11 repliesIn review
- v310 patches 10 repliesSuperseded
- v210 patches 7 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v1 | 10 patches | 9 replies | Superseded |
Changes in v4 from the cover letter
- combine tests for fl_type into single switch on 02/10
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/10 | NFS4: remove a redundant lock range checkfs/ | +0 | 1 reply | |
| 2/10 | NFS: Move the flock open mode check into nfs_flock()fs/ fs/ | +17 | 1 reply | |
| 3/10 | NFS: Pass nfs_open_context instead of file to the lock procsfs/ fs/ fs/ +2 more | +12 | 1 reply | |
| 4/10 | NFSv4: Pass nfs_open_context instead of nfs4_state to nfs4_proc_unlck()fs/ | +5 | 1 reply | |
| 5/10 | lockd: Plumb nfs_open_context into nlm client unlockfs/ fs/ fs/ +1 more | +14 | 1 reply | |
| 6/10 | lockd: Send the inode to nlmclnt_setlockargs()fs/ | +6 | 1 reply | |
| 7/10 | lockd: do_vfs_lock() only needs the inodefs/ | +7 | 1 reply | |
| 8/10 | locks: Set FL_CLOSE when removing flock locks on close()fs/ | +1 | 1 reply | |
| 9/10 | NFS: Deferred unlocks - always unlock on FL_CLOSEfs/ fs/ fs/ +1 more | +52 | 2 replies | |
| 10/10 | NFS: cleanup do_vfs_lock()fs/ fs/ fs/ | +13 | 1 reply |
Reviews trailers per patch
9 of 10 patches have a Reviewed-by or Acked-by.
| Patch | Jeff Layton | Christoph Hellwig |
|---|---|---|
| 1/10 | R-b | R-b |
| 2/10 | R-b | |
| 3/10 | R-b | R-b |
| 4/10 | R-b | R-b |
| 5/10 | R-b | |
| 6/10 | R-b | |
| 7/10 | R-b | |
| 8/10 | R-b | |
| 9/10 | ||
| 10/10 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v4 00/10] locking fixups for NFS
This set addresses a few NFS related locking issues as well as a couple minor cleanups. It does a bit of plumbing to make sure we can complete unlocks after close when the fl_file may be unavailable, and it attempts to always release locks even when a wait for oustanding IO is interrupted before sending an unlock. This can orphan a lock on a server, which might mean a delay for matching lock NFS4, or require a server restart to clean up that lock for NFS3.
Change for v4:
- combine tests for fl_type into single switch on 02/10
Change for v3:
- update a comment on open mode checking for flock() locks
Changes for v2:
- the change to move do_vfs_lock() to a shared inline has been removed
- added patch to set FL_CLOSE for flock unlock on close (08/10)
- instead of keeping a copied list of deferred file_locks to unlock, just send an unlock for the entire file if FL_CLOSE is set.
Benjamin Coddington (10):
NFS4: remove a redundant lock range check
NFS: Move the flock open mode check into nfs_flock()
NFS: Pass nfs_open_context instead of file to the lock procs
NFSv4: Pass nfs_open_context instead of nfs4_state to
nfs4_proc_unlck()
lockd: Plumb nfs_open_context into nlm client unlock
lockd: Send the inode to nlmclnt_setlockargs()
lockd: do_vfs_lock() only needs the inode
locks: Set FL_CLOSE when removing flock locks on close()
NFS: Deferred unlocks - always unlock on FL_CLOSE
NFS: cleanup do_vfs_lock()
fs/lockd/clntproc.c | 41 ++++++++++++++++--------------- fs/locks.c | 2 +- fs/nfs/file.c | 58 ++++++++++++++++++++++++++++++++----------- fs/nfs/inode.c | 22 ++++++++++++++++ fs/nfs/nfs3proc.c | 6 +--- fs/nfs/nfs4proc.c | 45 ++++++++++------------------------ fs/nfs/pagelist.c | 8 ++++- fs/nfs/proc.c | 6 +--- include/linux/lockd/bind.h | 3 +- include/linux/nfs_fs.h | 3 ++ include/linux/nfs_xdr.h | 2 +- 11 files changed, 116 insertions(+), 80 deletions(-)