[linux-cifs-client] [PATCH 0/4] cifs: convert oplock breaks to use slow_work facility

Jeff Layton jlayton at redhat.com
Fri Sep 11 06:14:04 MDT 2009


This patchset converts the oplock breaks to use the new slow_work
facility that was added a couple of releases ago. In addition to fixing
some races in the current scheme, this has the advantage that oplock
breaks callbacks can potentially run in parallel.

This patchset is identical to the one I sent the other day plus the
patch to convert that to slow_work. The only difference is that I merged
4/4 and 5/4. I didn't see any reason to have a patch that converts the
code to workqueues only to re-convert it to slow_work.

This probably needs to go in ASAP since we have people hitting panics in
the current code.

Jeff Layton (4):
  cifs: remove cifsInodeInfo.oplockPending flag
  cifs: take read lock on GlobalSMBSes_lock in is_valid_oplock_break
  cifs: have cifsFileInfo hold an extra inode reference
  cifs: convert oplock breaks to use slow_work facility

 fs/cifs/Kconfig     |    1 +
 fs/cifs/cifsfs.c    |   95 +++------------------------------------------------
 fs/cifs/cifsglob.h  |   17 ++++-----
 fs/cifs/cifsproto.h |    4 --
 fs/cifs/cifssmb.c   |    1 +
 fs/cifs/connect.c   |    1 -
 fs/cifs/dir.c       |    4 ++-
 fs/cifs/file.c      |   73 +++++++++++++++++++++++++++++++++++++--
 fs/cifs/misc.c      |   34 ++++++++++++------
 fs/cifs/transport.c |   50 ---------------------------
 10 files changed, 110 insertions(+), 170 deletions(-)



More information about the linux-cifs-client mailing list