All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: Benny Halevy <bhalevy@panasas.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Trond Myklebust <trond.myklebust@fys.uio.no>,
	linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: Ping: d_obtain_alias
Date: Sat, 21 Feb 2009 11:40:15 -0800	[thread overview]
Message-ID: <20090221114015.7bb5c9d8.akpm@linux-foundation.org> (raw)
In-Reply-To: <20090221174046.GA27374@infradead.org>

On Sat, 21 Feb 2009 12:40:46 -0500 Christoph Hellwig <hch@infradead.org> wrote:
>

(top-posting repaired)

> On Sat, Feb 21, 2009 at 09:13:21AM +0200, Benny Halevy wrote:
> > Christoph?
> > 
> > On Feb. 16, 2009, 19:31 +0200, Benny Halevy <bhalevy@panasas.com> wrote:
> > 
> > Christoph,
> > 
> > I see that in 4ea3ada2955e4519befa98ff55dd62d6dfbd1705,
> > you declared d_obtain_alias() as EXPORT_SYMBOL_GPL
> > and that it's supposed to replace d_alloc_anon which
> > was declared as EXPORT_SYMBOL and thus available to any
> > loadable module.
> > 
> > Do you consider d_obtain_alias() an internal API?
> > What exported API non-GPL'ed loadable file systems are
> > supposed to use now for fh_to_dentry?
> > 
> > Benny
> 
> All the nfs exported filesystem are tied intimately to the kernel,
> so yes, this is an internal export.
> 
> Non-GPL filesystem are illegal to distribute anyway, so I don't know why
> you even bother.
> 

Here's the patch in question:

commit 4ea3ada2955e4519befa98ff55dd62d6dfbd1705
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Aug 11 15:48:57 2008 +0200

    [PATCH] new helper: d_obtain_alias
    
    The calling conventions of d_alloc_anon are rather unfortunate for all
    users, and it's name is not very descriptive either.
    
    Add d_obtain_alias as a new exported helper that drops the inode
    reference in the failure case, too and allows to pass-through NULL
    pointers and inodes to allow for tail-calls in the export operations.
    
    Incidentally this helper already existed as a private function in
    libfs.c as exportfs_d_alloc so kill that one and switch the callers
    to d_obtain_alias.
    


Neither the title nor the changelog mentioned anything about disabling
non-GPL filesystems, so this effect was a mistake.  I didn't know this
was the effect and I doubt if Linus knew and quite possibly Christoph
and Al didn't know either.

We should correct that mistake.  Afterwards, feel free to prepare and
send out a patch titled "[patch] disable non-GPL filesystems" and we
can discuss it.

And before you start: I personally won't have any particularly strong
opinions in that discussion and will be interested to see the
discussion.

But preempting that discussion by leaving this mistake in place is not
the right way to go about this.


WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
To: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Benny Halevy <bhalevy-C4P08NqkoRlBDgjK7y7TUQ@public.gmane.org>,
	"J. Bruce Fields"
	<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
	Trond Myklebust
	<trond.myklebust-41N18TsMXrtuMpJDpNschA@public.gmane.org>,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Linus Torvalds
	<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Subject: Re: Ping: d_obtain_alias
Date: Sat, 21 Feb 2009 11:40:15 -0800	[thread overview]
Message-ID: <20090221114015.7bb5c9d8.akpm@linux-foundation.org> (raw)
In-Reply-To: <20090221174046.GA27374-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>

On Sat, 21 Feb 2009 12:40:46 -0500 Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> wrote:
>

(top-posting repaired)

> On Sat, Feb 21, 2009 at 09:13:21AM +0200, Benny Halevy wrote:
> > Christoph?
> > 
> > On Feb. 16, 2009, 19:31 +0200, Benny Halevy <bhalevy-C4P08NqkoRlBDgjK7y7TUQ@public.gmane.org> wrote:
> > 
> > Christoph,
> > 
> > I see that in 4ea3ada2955e4519befa98ff55dd62d6dfbd1705,
> > you declared d_obtain_alias() as EXPORT_SYMBOL_GPL
> > and that it's supposed to replace d_alloc_anon which
> > was declared as EXPORT_SYMBOL and thus available to any
> > loadable module.
> > 
> > Do you consider d_obtain_alias() an internal API?
> > What exported API non-GPL'ed loadable file systems are
> > supposed to use now for fh_to_dentry?
> > 
> > Benny
> 
> All the nfs exported filesystem are tied intimately to the kernel,
> so yes, this is an internal export.
> 
> Non-GPL filesystem are illegal to distribute anyway, so I don't know why
> you even bother.
> 

Here's the patch in question:

commit 4ea3ada2955e4519befa98ff55dd62d6dfbd1705
Author: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Date:   Mon Aug 11 15:48:57 2008 +0200

    [PATCH] new helper: d_obtain_alias
    
    The calling conventions of d_alloc_anon are rather unfortunate for all
    users, and it's name is not very descriptive either.
    
    Add d_obtain_alias as a new exported helper that drops the inode
    reference in the failure case, too and allows to pass-through NULL
    pointers and inodes to allow for tail-calls in the export operations.
    
    Incidentally this helper already existed as a private function in
    libfs.c as exportfs_d_alloc so kill that one and switch the callers
    to d_obtain_alias.
    


Neither the title nor the changelog mentioned anything about disabling
non-GPL filesystems, so this effect was a mistake.  I didn't know this
was the effect and I doubt if Linus knew and quite possibly Christoph
and Al didn't know either.

We should correct that mistake.  Afterwards, feel free to prepare and
send out a patch titled "[patch] disable non-GPL filesystems" and we
can discuss it.

And before you start: I personally won't have any particularly strong
opinions in that discussion and will be interested to see the
discussion.

But preempting that discussion by leaving this mistake in place is not
the right way to go about this.

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2009-02-21 19:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-21  7:13 Ping: d_obtain_alias Benny Halevy
2009-02-21 17:40 ` Christoph Hellwig
2009-02-21  8:41   ` Benny Halevy
2009-02-21  8:41     ` Benny Halevy
2009-02-21 19:40   ` Andrew Morton [this message]
2009-02-21 19:40     ` Andrew Morton
2009-02-21 19:49     ` Linus Torvalds
2009-02-24 20:11       ` [PATCH] EXPORT_SYMBOL(d_obtain_alias) rather than EXPORT_SYMBOL_GPL Benny Halevy
2009-02-24 21:32         ` Al Viro
2009-02-24 21:32           ` Al Viro
2009-02-24 21:36           ` Linus Torvalds
2009-02-24 21:36             ` Linus Torvalds

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=20090221114015.7bb5c9d8.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=bfields@fieldses.org \
    --cc=bhalevy@panasas.com \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=trond.myklebust@fys.uio.no \
    /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 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.