This patchset fixes a number of problems with the existing CIFS code. It eliminates the backreference to the filp from cifsFileInfo, allowing a cifsFileInfo to outlive the filp that it was generated against. With that change, most of the closing of a filehandle on the server is moved to cifsFileInfo_put. cifs_close is then changed to just put the filehandle instead of trying to wait around for existing users to finish with it. With this change, there is some further cleanup that can be done as well. For instance, there's no real need to continually search for new filehandles in cifs_writepages now that we hold a reference to one. I'll hold back on that until I know how this set has been received. This set is an ordered set and should not be committed out of order. It should be bisectable. I've tested the resulting set and it seems to work fine. Jeff Layton (14): cifs: keep dentry reference in cifsFileInfo instead of inode reference cifs: don't use vfsmount to pin superblock for oplock breaks cifs: eliminate cifs_posix_open_inode_helper cifs: eliminate oflags option from cifs_new_fileinfo cifs: eliminate the inode argument from cifs_new_fileinfo cifs: clean up cifs_reopen_file cifs: cifs_write argument change and cleanup cifs: eliminate pfile pointer from cifsFileInfo cifs: move cifs_new_fileinfo to file.c cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock cifs: move cifsFileInfo_put to file.c cifs: move close processing from cifs_close to cifsFileInfo_put cifs: wait for writeback to complete in cifs_flush cifs: eliminate cifsInodeInfo->write_behind_rc fs/cifs/cifs_fs_sb.h | 1 + fs/cifs/cifsfs.c | 21 ++- fs/cifs/cifsfs.h | 6 +- fs/cifs/cifsglob.h | 19 +-- fs/cifs/cifsproto.h | 6 +- fs/cifs/cifssmb.c | 4 +- fs/cifs/dir.c | 60 +----- fs/cifs/file.c | 574 +++++++++++++++++++------------------------------- fs/cifs/inode.c | 15 +- fs/cifs/misc.c | 18 +-- fs/cifs/readdir.c | 6 +- 11 files changed, 260 insertions(+), 470 deletions(-) -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html