Commit d32f211a authored by Yang Yingliang's avatar Yang Yingliang Committed by Steve French
Browse files

cifs: use LIST_HEAD() and list_move() to simplify code



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: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 10269f13
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -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);