[linux-cifs-client] [PATCH 0/5] cifs: fix several bugs in oplock queue handling (try #2)

Jeff Layton jlayton at redhat.com
Tue Aug 18 12:06:57 MDT 2009


This is a second pass at fixing panics in the oplock queue handling
that were reported here:

https://bugzilla.redhat.com/show_bug.cgi?id=516742

This patchset takes a different approach and has each oplock queue entry
hold a reference to the tcon until the oplock release call goes out onto
the wire.

This set is a draft patchset that tries to fix up the race conditions in
this code and some other issues I identified while working on it.

Comments and suggestions appreciated.

Jeff Layton (5):
  cifs: protect GlobalOplock_Q with its own spinlock
  cifs: take tcon reference for oplock breaks
  cifs: clean up cifs_oplock_thread loop
  cifs: take reference to inode for oplock breaks
  cifs: cancel oplock release callbacks during reconnect

 fs/cifs/cifsfs.c    |   98 +++++++++++++++++++++++++-------------------------
 fs/cifs/cifsglob.h  |   10 ++++-
 fs/cifs/cifsproto.h |    8 ++---
 fs/cifs/connect.c   |   19 ++++++++--
 fs/cifs/misc.c      |   56 +++++++++++++++++++++++++----
 fs/cifs/transport.c |   52 ---------------------------
 6 files changed, 124 insertions(+), 119 deletions(-)



More information about the linux-cifs-client mailing list