[PATCH 00/15] cifs: multiuser mount overhaul (try #3)

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

 



The last version of this patchset was sent back in April. At that time,
I called them "multisession mounts". This patchset is the next iteration
of that set, rebased against the current state of Steve's cifs-2.6 tree.

The reason for the name change is simple -- people seemed to be confused
by calling them "multisession mounts". Hopefully by calling them
"multiuser mounts", that confusion will be reduced.

There are really only a couple of changes since the last time I posted
these patches:

1) the mount option has been renamed to "multiuser"

2) the tcon_link container is now properly refcounted and timestamped.

This should allow for pruning of unused sessions, probably by scheduling
a workqueue task via kernel timer or something along those lines. The
patch to do that has not been implemented yet, but the pieces are all in
place and I don't expect it will be too tough to do. That can be
implemented later -- it's just that unused sessions in multiuser mounts
will linger around for now.

The patchset looks quite a bit different than the earlier one, primarily
because of this latter piece. Since references to the tcon_link are
taken by callers, they have to be put so this necessitates some error
handling cleanup.

The patchset seems to work for me so far. I ran it through a few hundred
passes of the Connectathon testsuite with unix extensions enabled and
disabled. It passed without issue and everything seems to work as
expected.

I'd like to see this go into the 2.6.37 release if there are no
objections. There will be merge conflicts between this and Metze's
mfsymlink work. We'll just need to determine which one goes in first to
know who needs to rebase to what.

Jeff Layton (15):
  cifs: eliminate redundant xdev check in cifs_rename
  cifs: add tcon field to cifsFileInfo struct
  cifs: make various routines use the cifsFileInfo->tcon pointer
  cifs: fix handling of signing with writepages
  cifs: add function to get a tcon from cifs_sb
  cifs: temporarily rename cifs_sb->tcon to ptcon to catch stragglers
  cifs: add cifs_sb_master_tcon and convert some callers to use it
  cifs: have cifs_new_fileinfo take a tcon arg
  cifs: add refcounted and timestamped container for holding tcons
  cifs: have cifsFileInfo hold a reference to a tlink rather than tcon
    pointer
  cifs: have find_readable/writable_file filter by fsuid
  cifs: fix cifs_show_options to show "username=" or "multiuser"
  cifs: add routines to build sessions and tcons on the fly
  cifs: on multiuser mount, set ownership to
    current_fsuid/current_fsgid
  cifs: add "multiuser" mount option

 fs/cifs/cifs_dfs_ref.c |   21 ++--
 fs/cifs/cifs_fs_sb.h   |   10 +-
 fs/cifs/cifsacl.c      |   46 ++++++--
 fs/cifs/cifsfs.c       |   22 ++--
 fs/cifs/cifsglob.h     |   39 +++++++
 fs/cifs/cifsproto.h    |    7 +-
 fs/cifs/connect.c      |  285 ++++++++++++++++++++++++++++++++++++++++++++++-
 fs/cifs/dir.c          |   95 +++++++++++-----
 fs/cifs/file.c         |  161 +++++++++++++++------------
 fs/cifs/fscache.c      |   13 +-
 fs/cifs/inode.c        |  241 ++++++++++++++++++++++++++++------------
 fs/cifs/ioctl.c        |   17 +---
 fs/cifs/link.c         |   55 ++++++----
 fs/cifs/misc.c         |    2 +-
 fs/cifs/readdir.c      |   45 ++++----
 fs/cifs/xattr.c        |   60 +++++++----
 16 files changed, 816 insertions(+), 303 deletions(-)

-- 
1.7.2.1

--
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