[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1277212283.2829.9.camel@localhost>
Date: Tue, 22 Jun 2010 21:11:23 +0800
From: Ian Kent <raven@...maw.net>
To: "J. R. Okajima" <hooanon05@...oo.co.jp>
Cc: Miklos Szeredi <miklos@...redi.hu>, viro@...iv.linux.org.uk,
vaurora@...hat.com, autofs@...ux.kernel.org,
linux-kernel@...r.kernel.org, hch@...radead.org,
linux-fsdevel@...r.kernel.org, jblunck@...e.de
Subject: Re: [autofs] [PATCH 04/38] autofs4: Save autofs trigger's vfsmount
in super block info
On Tue, 2010-06-22 at 14:49 +0900, J. R. Okajima wrote:
> Ian Kent:
> > +static vfsmount *autofs4_find_vfsmount(struct path *parent, struct dentry *root)
> > +{
> > + struct vfsmount *mnt = NULL;
> > + struct dentry *child;
> > +
> > + spin_lock(&dcache_lock);
> > + list_for_each_entry(child, &dentry->d_subdirs, d_u.d_child) {
>
> dentry->d_subdirs?
> parent->dentry->...?
Yep, thanks, cut and paste error.
Like I said, I don't want to go though the test process unless I have
something that is, in principal, OK.
If whatever approach we use is acceptable, and will work, then I'll put
the effort into it. I just don' want to spend a heap of time on
something that is basically not the right thing to do. For example,
exporting lookup_mnt?
>
> Or how about iterate_mounts() instead of loop over dentries?
> For example (just a example),
>
> struct args {
> /* input */
> struct dentry *root;
>
> /* output */
> struct vfsmount *mnt;
> };
>
> static int compare_mnt(struct vfsmount *mnt, void *arg)
> {
> struct args *a = arg;
>
> if (mnt->mnt_root != a->root)
> return 0;
> a->mnt = mntget(mnt);
> return 1;
> }
>
> struct vfsmount *autofs4_find_vfsmount(struct dentry *root)
> {
> int err;
> struct args args = {
> .root = root
> };
>
> err = iterate_mounts(compare_mnt, &args, current->nsproxy->mnt_ns);
> }
Oh, I'm not up with this, I'll have to check this out, might be useful
for more than just this case, thanks for the comments.
Ian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists