[PATCH v2 0/6] RELEASE_LOCKOWNER discussion, cont...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Check-point for discussion.

For completeness, here is the whole series of patches (including
experimental and temporary patches) that I'm considering for
addressing the RELEASE_LOCKOWNER "sleep while spin locked" splat.
It's not finished by any means.

Getting the new boolean arguments right is not straightforward. This
series does not work properly, for example, when LOCK returns
NFS4ERR_DENIED -- it leaves the lo_lockcnt bumped. I still fear this
approach would be brittle in the long run; I'm leaning towards the
so_count-based approach instead, as that is simple and nicely
contained within NFSD itself.

Thanks for taking a look.

---

Chuck Lever (6):
      fs/locks.c: Count held file locks
      NFSD: Fix possible sleep during nfsd4_release_lockowner()
      blargh
      NFSD: Modernize nfsd4_release_lockowner()
      NFSD: Add documenting comment for nfsd4_release_lockowner()
      NFSD: nfsd_file_put() can sleep


 fs/lockd/svclock.c  |  4 +--
 fs/locks.c          | 20 +++++++-----
 fs/nfsd/filecache.c |  2 ++
 fs/nfsd/nfs4state.c | 80 +++++++++++++++++++++++++--------------------
 fs/nfsd/state.h     |  1 +
 include/linux/fs.h  | 12 ++-----
 6 files changed, 65 insertions(+), 54 deletions(-)

--
Chuck Lever




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux