[PATCH 00/14] cifs: clean up management of open filehandles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux