There doesn't seem to be a compelling reason why nfsd4_op_name() is
marked as "inline":
It's only used in a dprintk(), and as long as it has only one caller
non-ancient gcc versions anyway inline it automatically.
This patch fixes the following compile error with gcc 3.4:
<-- snip -->
...
CC fs/nfsd/nfs4proc.o
nfs4proc.c: In function `nfsd4_proc_compound':
nfs4proc.c:854: sorry, unimplemented: inlining failed in call to
nfs4proc.c:897: sorry, unimplemented: called from here
make[3]: *** [fs/nfsd/nfs4proc.o] Error 1
<-- snip -->
Reported-by: Adrian Bunk <[email protected]>
Signed-off-by: Adrian Bunk <[email protected]>
---
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -851,7 +851,7 @@ struct nfsd4_operation {
static struct nfsd4_operation nfsd4_ops[];
-static inline char *nfsd4_op_name(unsigned opnum);
+static char *nfsd4_op_name(unsigned opnum);
/*
* COMPOUND call.
@@ -1116,8 +1116,7 @@ static struct nfsd4_operation nfsd4_ops[OP_RELEASE_LOCKOWNER+1] = {
},
};
-static inline char *
-nfsd4_op_name(unsigned opnum)
+static char *nfsd4_op_name(unsigned opnum)
{
if (opnum < ARRAY_SIZE(nfsd4_ops))
return nfsd4_ops[opnum].op_name;
On Fri, 8 Aug 2008, Adrian Bunk wrote:
>
> There doesn't seem to be a compelling reason why nfsd4_op_name() is
> marked as "inline":
It should also return a "const char *", I think.
Since it does.
Linus
Linus Torvalds wrote:
>
> On Fri, 8 Aug 2008, Adrian Bunk wrote:
>> There doesn't seem to be a compelling reason why nfsd4_op_name() is
>> marked as "inline":
Agreed.
>
> It should also return a "const char *", I think.
>
> Since it does.
Right.
>
> Linus
Thanks for picking this up,
Benny
On Sun, Aug 10, 2008 at 02:32:31PM +0300, Benny Halevy wrote:
> Linus Torvalds wrote:
> >
> > On Fri, 8 Aug 2008, Adrian Bunk wrote:
> >> There doesn't seem to be a compelling reason why nfsd4_op_name() is
> >> marked as "inline":
>
> Agreed.
>
> >
> > It should also return a "const char *", I think.
> >
> > Since it does.
>
> Right.
OK, I modified that to add "const" as Linus suggests, and applied to
git://linux-nfs.org/~bfields/linux.git for-2.6.27
Thanks to everyone.
--b.
On Aug. 11, 2008, 6:03 +0300, "J. Bruce Fields" <[email protected]> wrote:
> On Sun, Aug 10, 2008 at 02:32:31PM +0300, Benny Halevy wrote:
>> Linus Torvalds wrote:
>>> On Fri, 8 Aug 2008, Adrian Bunk wrote:
>>>> There doesn't seem to be a compelling reason why nfsd4_op_name() is
>>>> marked as "inline":
>> Agreed.
>>
>>> It should also return a "const char *", I think.
>>>
>>> Since it does.
>> Right.
>
> OK, I modified that to add "const" as Linus suggests, and applied to
>
> git://linux-nfs.org/~bfields/linux.git for-2.6.27
>
> Thanks to everyone.
>
> --b.
Bruce, Linus already corrected and merged Adrian's patch in
linux-2.6/master as commit f1c7f79b6ab4f7ada002a0fae47f462ede6b6857
Benny
On Mon, Aug 11, 2008 at 11:47:44AM +0300, Benny Halevy wrote:
> On Aug. 11, 2008, 6:03 +0300, "J. Bruce Fields" <[email protected]> wrote:
> > On Sun, Aug 10, 2008 at 02:32:31PM +0300, Benny Halevy wrote:
> >> Linus Torvalds wrote:
> >>> On Fri, 8 Aug 2008, Adrian Bunk wrote:
> >>>> There doesn't seem to be a compelling reason why nfsd4_op_name() is
> >>>> marked as "inline":
> >> Agreed.
> >>
> >>> It should also return a "const char *", I think.
> >>>
> >>> Since it does.
> >> Right.
> >
> > OK, I modified that to add "const" as Linus suggests, and applied to
> >
> > git://linux-nfs.org/~bfields/linux.git for-2.6.27
> >
> > Thanks to everyone.
> >
> > --b.
>
> Bruce, Linus already corrected and merged Adrian's patch in
> linux-2.6/master as commit f1c7f79b6ab4f7ada002a0fae47f462ede6b6857
Oops, I thought I'd checked for that, but somehow I overlooked that
commit. Thanks.--b.