Re: [PATCH] smb: client: Reduce the scopes for a few variables in two functions
From: Steve French
Date: Mon Oct 06 2025 - 13:07:31 EST
merged into cifs-2.6.git for-next
On Mon, Oct 6, 2025 at 9:11 AM Henrique Carvalho
<henrique.carvalho@xxxxxxxx> wrote:
>
> Acked-by: Henrique Carvalho <henrique.carvalho@xxxxxxxx>
>
> On 10/5/25 2:10 PM, Markus Elfring wrote:
> > From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> > Date: Sun, 5 Oct 2025 19:01:48 +0200
> >
> > * cifs_lookup():
> > Move the definition for the local variable “cfid” into an else branch
> > so that the corresponding setting will only be performed if a NULL inode
> > was detected during lookup by this function.
> >
> > * cifs_d_revalidate():
> > Move the definition for the local variables “inode” and “rc” into
> > an if branch so that the corresponding setting will only be performed
> > after a d_really_is_positive() call.
> >
> > Move the definition for the local variable “cfid” into an else branch
> > so that the corresponding setting will only be performed if further data
> > processing will be needed for an open_cached_dir_by_dentry() call.
> >
> > Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> > ---
> > fs/smb/client/dir.c | 12 ++++++------
> > 1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c
> > index fc67a6441c96..7472fddadd4f 100644
> > --- a/fs/smb/client/dir.c
> > +++ b/fs/smb/client/dir.c
> > @@ -678,7 +678,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
> > const char *full_path;
> > void *page;
> > int retry_count = 0;
> > - struct cached_fid *cfid = NULL;
> >
> > xid = get_xid();
> >
> > @@ -717,6 +716,8 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
> > if (d_really_is_positive(direntry)) {
> > cifs_dbg(FYI, "non-NULL inode in lookup\n");
> > } else {
> > + struct cached_fid *cfid = NULL;
> > +
> > cifs_dbg(FYI, "NULL inode in lookup\n");
> >
> > /*
> > @@ -785,15 +786,13 @@ static int
> > cifs_d_revalidate(struct inode *dir, const struct qstr *name,
> > struct dentry *direntry, unsigned int flags)
> > {
> > - struct inode *inode = NULL;
> > - struct cached_fid *cfid;
> > - int rc;
> > -
> > if (flags & LOOKUP_RCU)
> > return -ECHILD;
> >
> > if (d_really_is_positive(direntry)) {
> > - inode = d_inode(direntry);
> > + int rc;
> > + struct inode *inode = d_inode(direntry);
> > +
> > if ((flags & LOOKUP_REVAL) && !CIFS_CACHE_READ(CIFS_I(inode)))
> > CIFS_I(inode)->time = 0; /* force reval */
> >
> > @@ -836,6 +835,7 @@ cifs_d_revalidate(struct inode *dir, const struct qstr *name,
> > } else {
> > struct cifs_sb_info *cifs_sb = CIFS_SB(dir->i_sb);
> > struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb);
> > + struct cached_fid *cfid;
> >
> > if (!open_cached_dir_by_dentry(tcon, direntry->d_parent, &cfid)) {
> > /*
>
> --
> Henrique
> SUSE Labs
>
--
Thanks,
Steve