All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] cifs: implement multisession mounts (try #2)
@ 2010-04-20 20:07 Jeff Layton
  2010-04-20 20:07 ` [PATCH 01/11] cifs: add function to get a tcon from cifs_sb Jeff Layton
                   ` (12 more replies)
  0 siblings, 13 replies; 24+ messages in thread
From: Jeff Layton @ 2010-04-20 20:07 UTC (permalink / raw)
  To: linux-cifs-client, linux-fsdevel; +Cc: smfrench

This is a second pass at implementing multisession mounts for CIFS. The
main change since the last one is that I've broken out a series of
preliminary patches into a separate set and posted them separately. This
set is based on those changes:

    http://lists.samba.org/archive/linux-cifs-client/2010-April/005830.html

Thus, this set is a bit smaller than the last one. Hopefully that will
make it easier to review.

This patchset is intended to allow CIFS to behave as a truly multiuser
filesystem. The idea here is to have the kernel transparently spawn a
new session with the server whenever one is needed. Obviously, we can't
prompt for a password from the kernel, so for now this is limited to
using krb5 authentication. We could extend this to other authtypes, but
we'll need a way to stash username and password or NTLM hashes in the
kernel keyring.

To use this, you'll need to have root mount the server using sec=krb5 or
krb5i. Then, any user who wants to access the mount will need a valid
krb5 ticket. If they don't have one, then they'll probably get back an
-ENOKEY error on the syscall.

The patchset is pretty usable now, but there are still a number of
to-do items:

- add a way to prune idle sessions and tcons: not too hard to do,
  just need to settle on a mechanism to scan for these on a recurring
  basis and close them out

- allow the establishment of an anonymous session and allow users
  without creds to use that instead of being denied access. This
  requires some cleanup to make NTLMSSP work correctly. We may also
  need mount options to control that behavior, etc.

- fix the error return so that -ENOKEY and similar errors don't bubble
  up on syscalls that don't expect it

...and probably plenty of other stuff. The near term goal is to get the
preliminary patchset in place. Once that's done, I'll start feeding
these to Steve for inclusion. I'm posting these to try and get early
feedback and in the hopes that people who need this functionality will
be willing to help test it out.

Jeff Layton (11):
  cifs: add function to get a tcon from cifs_sb
  cifs: add tcon field to cifsFileInfo struct
  cifs: make various routines use the cifsFileInfo->tcon pointer
  cifs: have find_readable/writable_file filter by fsuid
  cifs: fix cifs_show_options to show "username=" or "multises"
  cifs: have cifs_new_fileinfo take a tcon arg
  cifs: allow for cifs_sb_tcon() to return an error
  cifs: fix handling of signing with writepages
  cifs: add routines to build sessions and tcons on the fly
  cifs: on multises mount, set ownership to current_fsuid/current_fsgid
  cifs: add "multises" mount option

 fs/cifs/cifs_dfs_ref.c |   10 ++-
 fs/cifs/cifs_fs_sb.h   |   10 ++-
 fs/cifs/cifsacl.c      |   36 ++++++--
 fs/cifs/cifsfs.c       |   85 ++++++++-----------
 fs/cifs/cifsglob.h     |    1 +
 fs/cifs/cifsproto.h    |    9 ++-
 fs/cifs/connect.c      |  215 ++++++++++++++++++++++++++++++++++++++++++++++--
 fs/cifs/dir.c          |   71 ++++++++++------
 fs/cifs/file.c         |  154 +++++++++++++++++++---------------
 fs/cifs/inode.c        |  168 ++++++++++++++++++++++++++++---------
 fs/cifs/ioctl.c        |   19 +----
 fs/cifs/link.c         |   19 ++++-
 fs/cifs/misc.c         |    2 +-
 fs/cifs/readdir.c      |   30 ++++----
 fs/cifs/xattr.c        |   29 ++++++-
 15 files changed, 605 insertions(+), 253 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2010-04-24  2:30 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-20 20:07 [PATCH 00/11] cifs: implement multisession mounts (try #2) Jeff Layton
2010-04-20 20:07 ` [PATCH 01/11] cifs: add function to get a tcon from cifs_sb Jeff Layton
2010-04-20 20:07 ` [PATCH 02/11] cifs: add tcon field to cifsFileInfo struct Jeff Layton
2010-04-20 20:07 ` [PATCH 03/11] cifs: make various routines use the cifsFileInfo->tcon pointer Jeff Layton
2010-04-20 20:07 ` [PATCH 04/11] cifs: have find_readable/writable_file filter by fsuid Jeff Layton
2010-04-20 20:07 ` [PATCH 05/11] cifs: fix cifs_show_options to show "username=" or "multises" Jeff Layton
2010-04-20 20:07 ` [PATCH 06/11] cifs: have cifs_new_fileinfo take a tcon arg Jeff Layton
2010-04-20 20:07 ` [PATCH 07/11] cifs: allow for cifs_sb_tcon() to return an error Jeff Layton
2010-04-20 20:07 ` [PATCH 08/11] cifs: fix handling of signing with writepages Jeff Layton
2010-04-20 20:07 ` [PATCH 09/11] cifs: add routines to build sessions and tcons on the fly Jeff Layton
2010-04-20 20:07 ` [PATCH 10/11] cifs: on multises mount, set ownership to current_fsuid/current_fsgid Jeff Layton
2010-04-20 20:07 ` [PATCH 11/11] cifs: add "multises" mount option Jeff Layton
2010-04-21  2:42 ` [PATCH 00/11] cifs: implement multisession mounts (try #2) Steve French
2010-04-21 14:16 ` Stef Bon
2010-04-21 18:13   ` [linux-cifs-client] " Jeff Layton
2010-04-22 14:56     ` Stef Bon
2010-04-22 15:39       ` Jamie Lokier
2010-04-22 16:57         ` Steve French
2010-04-24  2:30           ` [linux-cifs-client] " Jamie Lokier
2010-04-22 19:25         ` Jeff Layton
2010-04-22 19:55           ` Steve French
2010-04-24  2:26             ` [linux-cifs-client] " Jamie Lokier
2010-04-22 17:51       ` Jeff Layton
2010-04-22 19:55         ` Stef Bon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.