[PATCH 0/5] cifs: fix several bugs in oplock queue handling (try #2)
Jeff Layton <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
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(-)