From: Leon Romanovsky <leon@kernel.org>
To: Matthew Wilcox <willy@infradead.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fs: Add function declaration of simple_dname
Date: Wed, 19 Aug 2020 14:40:01 +0300 [thread overview]
Message-ID: <20200819114001.GU7555@unreal> (raw)
In-Reply-To: <20200819113424.GA17456@casper.infradead.org>
On Wed, Aug 19, 2020 at 12:34:24PM +0100, Matthew Wilcox wrote:
> On Wed, Aug 19, 2020 at 11:32:59AM +0300, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@nvidia.com>
> >
> > The simple_dname() is declared in internal header file as extern
> > and this generates the following GCC warning.
>
> The fact that it's declared as extern doesn't matter. You don't need
> the change to internal.h at all. The use of 'extern' on a function
> declaration is purely decorative:
>
> 5 If the declaration of an identifier for a function has no
> storage-class specifier, its linkage is determined exactly as if it
> were declared with the storage-class specifier extern.
So why do we need to keep extern keyword if we use intenral.h directly?
>
> I'd drop the change to internal.h and fix the changelog.
Thanks
>
> > fs/d_path.c:311:7: warning: no previous prototype for 'simple_dname' [-Wmissing-prototypes]
> > 311 | char *simple_dname(struct dentry *dentry, char *buffer, int buflen)
> > | ^~~~~~~~~~~~
> >
> > Instead of that extern, reuse the fact that internal.h file is internal to fs/* and
> > declare simple_dname() like any other function.
> >
> > Fixes: 7e5f7bb08b8c ("unexport simple_dname()")
> > Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> > ---
> > fs/d_path.c | 2 ++
> > fs/internal.h | 2 +-
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/d_path.c b/fs/d_path.c
> > index 0f1fc1743302..4b89448cc78e 100644
> > --- a/fs/d_path.c
> > +++ b/fs/d_path.c
> > @@ -8,6 +8,8 @@
> > #include <linux/prefetch.h>
> > #include "mount.h"
> >
> > +#include "internal.h"
> > +
> > static int prepend(char **buffer, int *buflen, const char *str, int namelen)
> > {
> > *buflen -= namelen;
> > diff --git a/fs/internal.h b/fs/internal.h
> > index 10517ece4516..2def264272f4 100644
> > --- a/fs/internal.h
> > +++ b/fs/internal.h
> > @@ -164,7 +164,7 @@ extern int d_set_mounted(struct dentry *dentry);
> > extern long prune_dcache_sb(struct super_block *sb, struct shrink_control *sc);
> > extern struct dentry *d_alloc_cursor(struct dentry *);
> > extern struct dentry * d_alloc_pseudo(struct super_block *, const struct qstr *);
> > -extern char *simple_dname(struct dentry *, char *, int);
> > +char *simple_dname(struct dentry *d, char *buf, int len);
> > extern void dput_to_list(struct dentry *, struct list_head *);
> > extern void shrink_dentry_list(struct list_head *);
> >
> > --
> > 2.26.2
> >
next prev parent reply other threads:[~2020-08-19 11:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-19 8:32 [PATCH] fs: Add function declaration of simple_dname Leon Romanovsky
2020-08-19 11:34 ` Matthew Wilcox
2020-08-19 11:40 ` Leon Romanovsky [this message]
2020-08-19 11:47 ` Matthew Wilcox
2020-08-19 11:58 ` Leon Romanovsky
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=20200819114001.GU7555@unreal \
--to=leon@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.org \
/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.