cifs: use LIST_HEAD() and list_move() to simplify code
authorYang Yingliang <yangyingliang@huawei.com>
Mon, 17 Oct 2022 08:55:08 +0000 (16:55 +0800)
committerSteve French <stfrench@microsoft.com>
Tue, 18 Oct 2022 16:33:43 +0000 (11:33 -0500)
list_head can be initialized automatically with LIST_HEAD()
instead of calling INIT_LIST_HEAD().

Using list_move() instead of list_del() and list_add().

Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/cached_dir.c

index fe88b67c863fe82be03e584e607dc5b599bd899c..8cad528a87228bb902ab0734a8bc4737b3a0cd4c 100644 (file)
@@ -378,13 +378,11 @@ void invalidate_all_cached_dirs(struct cifs_tcon *tcon)
 {
        struct cached_fids *cfids = tcon->cfids;
        struct cached_fid *cfid, *q;
-       struct list_head entry;
+       LIST_HEAD(entry);
 
-       INIT_LIST_HEAD(&entry);
        spin_lock(&cfids->cfid_list_lock);
        list_for_each_entry_safe(cfid, q, &cfids->entries, entry) {
-               list_del(&cfid->entry);
-               list_add(&cfid->entry, &entry);
+               list_move(&cfid->entry, &entry);
                cfids->num_entries--;
                cfid->is_open = false;
                /* To prevent race with smb2_cached_lease_break() */
@@ -518,15 +516,13 @@ struct cached_fids *init_cached_dirs(void)
 void free_cached_dirs(struct cached_fids *cfids)
 {
        struct cached_fid *cfid, *q;
-       struct list_head entry;
+       LIST_HEAD(entry);
 
-       INIT_LIST_HEAD(&entry);
        spin_lock(&cfids->cfid_list_lock);
        list_for_each_entry_safe(cfid, q, &cfids->entries, entry) {
                cfid->on_list = false;
                cfid->is_open = false;
-               list_del(&cfid->entry);
-               list_add(&cfid->entry, &entry);
+               list_move(&cfid->entry, &entry);
        }
        spin_unlock(&cfids->cfid_list_lock);