[PATCH -next] smb: use LIST_HEAD() to simplify code

Steve French smfrench at gmail.com
Sat Sep 14 07:01:45 UTC 2024


tentatively merged into cifs-2.6.git for-next pending review/testing

On Wed, Aug 21, 2024 at 1:49 AM Hongbo Li <lihongbo22 at huawei.com> wrote:
>
> list_head can be initialized automatically with LIST_HEAD()
> instead of calling INIT_LIST_HEAD(). No functional impact.
>
> Signed-off-by: Hongbo Li <lihongbo22 at huawei.com>
> ---
>  fs/smb/client/connect.c  | 3 +--
>  fs/smb/client/file.c     | 7 ++-----
>  fs/smb/client/misc.c     | 9 +++------
>  fs/smb/client/smb2file.c | 4 +---
>  4 files changed, 7 insertions(+), 16 deletions(-)
>
> diff --git a/fs/smb/client/connect.c b/fs/smb/client/connect.c
> index d2307162a2de..72092b53e889 100644
> --- a/fs/smb/client/connect.c
> +++ b/fs/smb/client/connect.c
> @@ -997,11 +997,10 @@ clean_demultiplex_info(struct TCP_Server_Info *server)
>         }
>
>         if (!list_empty(&server->pending_mid_q)) {
> -               struct list_head dispose_list;
>                 struct mid_q_entry *mid_entry;
>                 struct list_head *tmp, *tmp2;
> +               LIST_HEAD(dispose_list);
>
> -               INIT_LIST_HEAD(&dispose_list);
>                 spin_lock(&server->mid_lock);
>                 list_for_each_safe(tmp, tmp2, &server->pending_mid_q) {
>                         mid_entry = list_entry(tmp, struct mid_q_entry, qhead);
> diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c
> index 1fc66bcf49eb..a5e6c7b63230 100644
> --- a/fs/smb/client/file.c
> +++ b/fs/smb/client/file.c
> @@ -1406,7 +1406,7 @@ void
>  cifs_reopen_persistent_handles(struct cifs_tcon *tcon)
>  {
>         struct cifsFileInfo *open_file, *tmp;
> -       struct list_head tmp_list;
> +       LIST_HEAD(tmp_list);
>
>         if (!tcon->use_persistent || !tcon->need_reopen_files)
>                 return;
> @@ -1414,7 +1414,6 @@ cifs_reopen_persistent_handles(struct cifs_tcon *tcon)
>         tcon->need_reopen_files = false;
>
>         cifs_dbg(FYI, "Reopen persistent handles\n");
> -       INIT_LIST_HEAD(&tmp_list);
>
>         /* list all files open on tree connection, reopen resilient handles  */
>         spin_lock(&tcon->open_file_lock);
> @@ -2097,9 +2096,7 @@ cifs_unlock_range(struct cifsFileInfo *cfile, struct file_lock *flock,
>         struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry));
>         struct cifsLockInfo *li, *tmp;
>         __u64 length = cifs_flock_len(flock);
> -       struct list_head tmp_llist;
> -
> -       INIT_LIST_HEAD(&tmp_llist);
> +       LIST_HEAD(tmp_llist);
>
>         /*
>          * Accessing maxBuf is racy with cifs_reconnect - need to store value
> diff --git a/fs/smb/client/misc.c b/fs/smb/client/misc.c
> index c6f11e6f9eb9..dab526191b07 100644
> --- a/fs/smb/client/misc.c
> +++ b/fs/smb/client/misc.c
> @@ -751,12 +751,11 @@ cifs_close_deferred_file(struct cifsInodeInfo *cifs_inode)
>  {
>         struct cifsFileInfo *cfile = NULL;
>         struct file_list *tmp_list, *tmp_next_list;
> -       struct list_head file_head;
> +       LIST_HEAD(file_head);
>
>         if (cifs_inode == NULL)
>                 return;
>
> -       INIT_LIST_HEAD(&file_head);
>         spin_lock(&cifs_inode->open_file_lock);
>         list_for_each_entry(cfile, &cifs_inode->openFileList, flist) {
>                 if (delayed_work_pending(&cfile->deferred)) {
> @@ -787,9 +786,8 @@ cifs_close_all_deferred_files(struct cifs_tcon *tcon)
>  {
>         struct cifsFileInfo *cfile;
>         struct file_list *tmp_list, *tmp_next_list;
> -       struct list_head file_head;
> +       LIST_HEAD(file_head);
>
> -       INIT_LIST_HEAD(&file_head);
>         spin_lock(&tcon->open_file_lock);
>         list_for_each_entry(cfile, &tcon->openFileList, tlist) {
>                 if (delayed_work_pending(&cfile->deferred)) {
> @@ -819,11 +817,10 @@ cifs_close_deferred_file_under_dentry(struct cifs_tcon *tcon, const char *path)
>  {
>         struct cifsFileInfo *cfile;
>         struct file_list *tmp_list, *tmp_next_list;
> -       struct list_head file_head;
>         void *page;
>         const char *full_path;
> +       LIST_HEAD(file_head);
>
> -       INIT_LIST_HEAD(&file_head);
>         page = alloc_dentry_path();
>         spin_lock(&tcon->open_file_lock);
>         list_for_each_entry(cfile, &tcon->openFileList, tlist) {
> diff --git a/fs/smb/client/smb2file.c b/fs/smb/client/smb2file.c
> index c23478ab1cf8..bc2b838eab6f 100644
> --- a/fs/smb/client/smb2file.c
> +++ b/fs/smb/client/smb2file.c
> @@ -196,9 +196,7 @@ smb2_unlock_range(struct cifsFileInfo *cfile, struct file_lock *flock,
>         struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry));
>         struct cifsLockInfo *li, *tmp;
>         __u64 length = 1 + flock->fl_end - flock->fl_start;
> -       struct list_head tmp_llist;
> -
> -       INIT_LIST_HEAD(&tmp_llist);
> +       LIST_HEAD(tmp_llist);
>
>         /*
>          * Accessing maxBuf is racy with cifs_reconnect - need to store value
> --
> 2.34.1
>
>


-- 
Thanks,

Steve



More information about the samba-technical mailing list