On Mon, 2010-10-04 at 13:52 -0400, Jeff Layton wrote: > 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. These all look good to me. Cleans up the code rather nicely. Shaggy > 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(-) > -- Dave Kleikamp IBM Linux Technology Center -- 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