From: Kuan-Wei Chiu <visitorckw@gmail.com>
To: Pycode <pycode42@gmail.com>
Cc: Jeff Layton <jlayton@kernel.org>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Removed unused variable
Date: Thu, 11 Dec 2025 17:04:35 +0800 [thread overview]
Message-ID: <aTqJI8CGTOkzNE2A@google.com> (raw)
In-Reply-To: <aTpzbSVFCSgx7HJp@raspberrypi>
On Thu, Dec 11, 2025 at 08:31:57AM +0100, Pycode wrote:
> On Thu, Dec 11, 2025 at 02:54:03PM +0800, Kuan-Wei Chiu wrote:
> > On Thu, Dec 11, 2025 at 06:57:54AM +0100, Pycode wrote:
> > > On Thu, Dec 11, 2025 at 08:10:25AM +0900, Jeff Layton wrote:
> > > > A more descriptive title is preferred: "Remove unused variable from
> > > > nfs4_ff_alloc_deviceid_node()"
> > > >
> > >
> > > Thanks for the advices!
> > >
> > > > On Wed, 2025-12-10 at 21:59 +0100, Pycode wrote:
> > > > > Signed-off-by: Pycode <pycode42@gmail.com>
> > > > >
> > > > > Removed the unused variable ret in
> > > > > fs/nfs/flexfilelayout/flexfilelayoutdev.c
> > > > >
> > > > > (Disclaimer this is my first patch, be sorry if I have done anything
> > > > > wrong!)
> > > > > ---
> > > > > fs/nfs/flexfilelayout/flexfilelayoutdev.c | 4 +---
> > > > > 1 file changed, 1 insertion(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/fs/nfs/flexfilelayout/flexfilelayoutdev.c b/fs/nfs/flexfilelayout/flexfilelayoutdev.c
> > > > > index c55ea8fa3bfa..9cd04e85d52f 100644
> > > > > --- a/fs/nfs/flexfilelayout/flexfilelayoutdev.c
> > > > > +++ b/fs/nfs/flexfilelayout/flexfilelayoutdev.c
> > > > > @@ -53,7 +53,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
> > > > > u32 mp_count;
> > > > > u32 version_count;
> > > > > __be32 *p;
> > > > > - int i, ret = -ENOMEM;
> > > > > + int i = -ENOMEM;
> > > > >
> > > >
> > > > No need to initialize this.
> > > >
> > > > > /* set up xdr stream */
> > > > > scratch = folio_alloc(gfp_flags, 0);
> > > > > @@ -88,7 +88,6 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
> > > > > if (list_empty(&dsaddrs)) {
> > > > > dprintk("%s: no suitable DS addresses found\n",
> > > > > __func__);
> > > > > - ret = -ENOMEDIUM;
> > > > > goto out_err_drain_dsaddrs;
> > > > > }
> > > > >
> > > > > @@ -134,7 +133,6 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
> > > > > dprintk("%s: [%d] unsupported ds version %d-%d\n", __func__,
> > > > > i, ds_versions[i].version,
> > > > > ds_versions[i].minor_version);
> > > > > - ret = -EPROTONOSUPPORT;
> > > > > goto out_err_drain_dsaddrs;
> > > > > }
> > > > >
> > > >
> > > > What about the dprintk() at the bottom of this function? Does this
> > > > actually build?
> > >
> > > There is no dprintk() at the bottom that used the variable.
> >
> > At the bottom of this function, there is a dprintk call that refers to ret:
> >
> > dprintk("%s ERROR: returning %d\n", __func__, ret);
> > return NULL;
> >
> > This causes the build to fail:
> >
> > In file included from ./include/asm-generic/bug.h:31,
> > from ./arch/x86/include/asm/bug.h:193,
> > from ./arch/x86/include/asm/alternative.h:9,
> > from ./arch/x86/include/asm/barrier.h:5,
> > from ./include/asm-generic/bitops/generic-non-atomic.h:7,
> > from ./include/linux/bitops.h:28,
> > from ./include/linux/kernel.h:23,
> > from ./include/linux/uio.h:8,
> > from ./include/linux/socket.h:8,
> > from ./include/uapi/linux/in.h:25,
> > from ./include/linux/in.h:19,
> > from ./include/linux/nfs_fs.h:22,
> > from fs/nfs/flexfilelayout/flexfilelayoutdev.c:10:
> > fs/nfs/flexfilelayout/flexfilelayoutdev.c: In function ‘nfs4_ff_alloc_deviceid_node’:
> > fs/nfs/flexfilelayout/flexfilelayoutdev.c:182:55: error: ‘ret’ undeclared (first use in this function); did you mean ‘net’?
> > 182 | dprintk("%s ERROR: returning %d\n", __func__, ret);
> > | ^~~
> > ./include/linux/printk.h:484:33: note: in definition of macro ‘printk_index_wrap’
> > 484 | _p_func(_fmt, ##__VA_ARGS__); \
> > | ^~~~~~~~~~~
> > ./include/linux/sunrpc/debug.h:36:41: note: in expansion of macro ‘printk’
> > 36 | # define __sunrpc_printk(fmt, ...) printk(KERN_DEFAULT fmt, ##__VA_ARGS__)
> > | ^~~~~~
> > ./include/linux/sunrpc/debug.h:42:17: note: in expansion of macro ‘__sunrpc_printk’
> > 42 | __sunrpc_printk(fmt, ##__VA_ARGS__); \
> > | ^~~~~~~~~~~~~~~
> > ./include/linux/sunrpc/debug.h:25:9: note: in expansion of macro ‘dfprintk’
> > 25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
> > | ^~~~~~~~
> > fs/nfs/flexfilelayout/flexfilelayoutdev.c:182:9: note: in expansion of macro ‘dprintk’
> > 182 | dprintk("%s ERROR: returning %d\n", __func__, ret);
> > | ^~~~~~~
> > fs/nfs/flexfilelayout/flexfilelayoutdev.c:182:55: note: each undeclared identifier is reported only once for each function it appears in
> > 182 | dprintk("%s ERROR: returning %d\n", __func__, ret);
> > | ^~~
> > ./include/linux/printk.h:484:33: note: in definition of macro ‘printk_index_wrap’
> > 484 | _p_func(_fmt, ##__VA_ARGS__); \
> > | ^~~~~~~~~~~
> > ./include/linux/sunrpc/debug.h:36:41: note: in expansion of macro ‘printk’
> > 36 | # define __sunrpc_printk(fmt, ...) printk(KERN_DEFAULT fmt, ##__VA_ARGS__)
> > | ^~~~~~
> > ./include/linux/sunrpc/debug.h:42:17: note: in expansion of macro ‘__sunrpc_printk’
> > 42 | __sunrpc_printk(fmt, ##__VA_ARGS__); \
> > | ^~~~~~~~~~~~~~~
> > ./include/linux/sunrpc/debug.h:25:9: note: in expansion of macro ‘dfprintk’
> > 25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
> > | ^~~~~~~~
> > fs/nfs/flexfilelayout/flexfilelayoutdev.c:182:9: note: in expansion of macro ‘dprintk’
> > 182 | dprintk("%s ERROR: returning %d\n", __func__, ret);
> > | ^~~~~~~
> > make[5]: *** [scripts/Makefile.build:287: fs/nfs/flexfilelayout/flexfilelayoutdev.o] Error 1
> > make[4]: *** [scripts/Makefile.build:556: fs/nfs/flexfilelayout] Error 2
> > make[3]: *** [scripts/Makefile.build:556: fs/nfs] Error 2
> > make[2]: *** [scripts/Makefile.build:556: fs] Error 2
>
> Sorry, I didn't see that there were more returns because of the jumps. For some reason, it compiled without any problems for me.
>
>
My guess is that this build failure only shows up with the debug config
on, which you don't seem to have enabled.
Regards,
Kuan-Wei
next prev parent reply other threads:[~2025-12-11 9:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-10 20:59 [PATCH] Removed unused variable Pycode
2025-12-10 23:10 ` Jeff Layton
2025-12-11 5:57 ` Pycode
2025-12-11 6:54 ` Kuan-Wei Chiu
2025-12-11 7:31 ` Pycode
2025-12-11 9:04 ` Kuan-Wei Chiu [this message]
2025-12-11 10:17 ` kernel test robot
2025-12-11 12:27 ` kernel test robot
2025-12-11 12:27 ` kernel test robot
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=aTqJI8CGTOkzNE2A@google.com \
--to=visitorckw@gmail.com \
--cc=anna@kernel.org \
--cc=jlayton@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=pycode42@gmail.com \
--cc=trondmy@kernel.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.