[2.6 patch] uninline nfsd4_op_name()
STALE6638d
6 messages,
4 authors,
2008-08-11 · open the first message on its own page
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 <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
--- --- 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: quoted 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: quoted
On Fri, 8 Aug 2008, Adrian Bunk wrote: quoted There doesn't seem to be a compelling reason why nfsd4_op_name() is
marked as "inline":
Agreed.
quoted
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" [off-list ref] wrote: On Sun, Aug 10, 2008 at 02:32:31PM +0300, Benny Halevy wrote: quoted Linus Torvalds wrote: quoted On Fri, 8 Aug 2008, Adrian Bunk wrote: quoted There doesn't seem to be a compelling reason why nfsd4_op_name() is
marked as "inline": Agreed.
quoted 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" [off-list ref] wrote: quoted On Sun, Aug 10, 2008 at 02:32:31PM +0300, Benny Halevy wrote: quoted Linus Torvalds wrote: quoted On Fri, 8 Aug 2008, Adrian Bunk wrote: quoted There doesn't seem to be a compelling reason why nfsd4_op_name() is
marked as "inline": Agreed.
quoted 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.