[PATCH 0/4] cifs: convert oplock breaks to use slow_work facility
Jeff Layton <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
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(-)