linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 09/15] cifs: have cifsFileInfo hold a reference to a tlink rather than tcon pointer
Date: Thu, 23 Sep 2010 05:43:39 -0700	[thread overview]
Message-ID: <20100923054339.6f8b176f@corrin.poochiereds.net> (raw)
In-Reply-To: <20100923053623.09bd6f33-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>

On Thu, 23 Sep 2010 05:36:23 -0700
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:

> On Thu, 23 Sep 2010 01:08:51 -0500
> Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> 
> > On Mon, Sep 20, 2010 at 6:01 PM, Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> > > cifsFileInfo needs a pointer to a tcon, but it doesn't currently hold a
> > > reference to it. Change it to keep a pointer to a tcon_link instead and
> > > hold a reference to it.
> > 
> > Nice work on these patches but they do end up more complex than I expected
> > (may be unavoidable).
> > 
> > Before committing the last set - are we sure that there is no way we could have
> > done the list of tids/uids off the same tcon or simplify.  For example (may be
> > impractical, but worth considering) - if we limited many of these changes to
> > init_smb itself - if in init_smb we see a request from local uid that does not
> > have an smb uid negotiated, we negotiate/sessionsetup/tcon
> > there (as we do reconnect today in some cases) to get the new tid - this does
> > have the problem of not knowing the uid of the opener of a file though so
> > perhaps not problem.
> > 
> > Your way may be better - but it is a much bigger change.
> > 
> 
> So essentially what you're proposing is to change the current model
> where we track one session per cifsSesInfo struct and one tcon per
> cifsTconInfo struct to a model where you'd have multiple UID/TID's
> tracked for each?
> 
> I suppose that would be one way to do that, but I'm not sure how you
> would implement such a model without ripping and replacing a lot of
> code. At that point not only does cifs_sb->tcon make no more sense, but
> tcon->ses doesn't make any. Doing so would also break the current
> hierarchy where a tcon is on the list of one and only one SMB session.
> 
> I think taking that approach would lead to a larger change than this
> one. This patchset builds upon the current hierarchical model that
> we've successfully used for the last few years.
> 

I should also point out that much of the complexity here comes from the
addition of usage refcounting for the tlink structs. This is necessary
if we want to avoid keeping idle sessions active on the server. You
can't tear down a tcon/session that's still in use, and you won't know
whether it's in use unless you keep track of that information. We'd
still need to do something similar even with the model you're
suggesting.

-- 
Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

  parent reply	other threads:[~2010-09-23 12:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-20 23:01 [PATCH 00/15] cifs: multiuser mount overhaul (try #4) Jeff Layton
2010-09-20 23:01 ` [PATCH 03/15] cifs: fix handling of signing with writepages Jeff Layton
2010-09-20 23:01 ` [PATCH 06/15] cifs: add cifs_sb_master_tcon and convert some callers to use it Jeff Layton
2010-09-20 23:01 ` [PATCH 11/15] cifs: fix cifs_show_options to show "username=" or "multiuser" Jeff Layton
2010-09-23  6:12   ` Steve French
2010-10-05 22:00   ` Steve French
     [not found] ` <1285023704-2159-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-09-20 23:01   ` [PATCH 01/15] cifs: add tcon field to cifsFileInfo struct Jeff Layton
2010-09-20 23:01   ` [PATCH 02/15] cifs: make various routines use the cifsFileInfo->tcon pointer Jeff Layton
2010-09-20 23:01   ` [PATCH 04/15] cifs: add function to get a tcon from cifs_sb Jeff Layton
2010-09-20 23:01   ` [PATCH 05/15] cifs: temporarily rename cifs_sb->tcon to ptcon to catch stragglers Jeff Layton
2010-09-20 23:01   ` [PATCH 07/15] cifs: have cifs_new_fileinfo take a tcon arg Jeff Layton
2010-09-20 23:01   ` [PATCH 08/15] cifs: add refcounted and timestamped container for holding tcons Jeff Layton
2010-09-20 23:01   ` [PATCH 09/15] cifs: have cifsFileInfo hold a reference to a tlink rather than tcon pointer Jeff Layton
     [not found]     ` <1285023704-2159-10-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-09-23  6:08       ` Steve French
     [not found]         ` <AANLkTi=n=_R_WF8NizLo+zfcBEmzcQpBWWj=_GNEmua1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-23 12:36           ` Jeff Layton
     [not found]             ` <20100923053623.09bd6f33-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2010-09-23 12:43               ` Jeff Layton [this message]
2010-09-20 23:01   ` [PATCH 10/15] cifs: have find_readable/writable_file filter by fsuid Jeff Layton
2010-09-23  6:11     ` Steve French
2010-09-20 23:01   ` [PATCH 12/15] cifs: add routines to build sessions and tcons on the fly Jeff Layton
2010-09-20 23:01   ` [PATCH 13/15] cifs: on multiuser mount, set ownership to current_fsuid/current_fsgid Jeff Layton
     [not found]     ` <1285023704-2159-14-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-09-23  6:19       ` Steve French
2010-09-23 12:38         ` Jeff Layton
2010-09-20 23:01   ` [PATCH 14/15] cifs: add "multiuser" mount option Jeff Layton
2010-09-20 23:01   ` [PATCH 15/15] cifs: implement recurring workqueue job to prune old tcons Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100923054339.6f8b176f@corrin.poochiereds.net \
    --to=jlayton-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).