[2.6 patch] uninline nfsd4_op_name() - Kernel

This is a discussion on [2.6 patch] uninline nfsd4_op_name() - Kernel ; 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 ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: [2.6 patch] uninline nfsd4_op_name()

  1. [2.6 patch] uninline nfsd4_op_name()

    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
    Signed-off-by: Adrian Bunk

    ---
    --- 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;

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [2.6 patch] uninline nfsd4_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
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [2.6 patch] uninline nfsd4_op_name()

    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
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: [2.6 patch] uninline nfsd4_op_name()

    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.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: [2.6 patch] uninline nfsd4_op_name()

    On Aug. 11, 2008, 6:03 +0300, "J. Bruce Fields" 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
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. Re: [2.6 patch] uninline nfsd4_op_name()

    On Mon, Aug 11, 2008 at 11:47:44AM +0300, Benny Halevy wrote:
    > On Aug. 11, 2008, 6:03 +0300, "J. Bruce Fields" 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.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread