Skip to content

Commit

Permalink
list: fix order of arguments for hlist_add_after(_rcu)
Browse files Browse the repository at this point in the history
All other add functions for lists have the new item as first argument
and the position where it is added as second argument.  This was changed
for no good reason in this function and makes using it unnecessary
confusing.

The name was changed to hlist_add_behind() to cause unconverted code to
generate a compile error instead of using the wrong parameter order.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Ken Helias <kenhelias@firemail.de>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>	[intel driver bits]
Cc: Hugh Dickins <hughd@google.com>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Ken Helias authored and torvalds committed Aug 7, 2014
1 parent bc18dd3 commit 1d02328
Show file tree
Hide file tree
Showing 15 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion Documentation/RCU/whatisRCU.txt
Original file line number Diff line number Diff line change
Expand Up @@ -818,7 +818,7 @@ RCU pointer/list update:
list_add_tail_rcu
list_del_rcu
list_replace_rcu
hlist_add_after_rcu
hlist_add_behind_rcu
hlist_add_before_rcu
hlist_add_head_rcu
hlist_del_rcu
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/drm_hashtab.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item)
parent = &entry->head;
}
if (parent) {
hlist_add_after_rcu(parent, &item->head);
hlist_add_behind_rcu(&item->head, parent);
} else {
hlist_add_head_rcu(&item->head, h_list);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/i40e/i40e_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -1948,7 +1948,7 @@ static int i40e_update_ethtool_fdir_entry(struct i40e_vsi *vsi,

/* add filter to the list */
if (parent)
hlist_add_after(&parent->fdir_node, &input->fdir_node);
hlist_add_behind(&input->fdir_node, &parent->fdir_node);
else
hlist_add_head(&input->fdir_node,
&pf->fdir_filter_list);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -2517,7 +2517,7 @@ static int ixgbe_update_ethtool_fdir_entry(struct ixgbe_adapter *adapter,

/* add filter to the list */
if (parent)
hlist_add_after(&parent->fdir_node, &input->fdir_node);
hlist_add_behind(&input->fdir_node, &parent->fdir_node);
else
hlist_add_head(&input->fdir_node,
&adapter->fdir_filter_list);
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/lustre/lustre/libcfs/hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ cfs_hash_dh_hnode_add(struct cfs_hash *hs, struct cfs_hash_bd *bd,
cfs_hash_dhead_t, dh_head);

if (dh->dh_tail != NULL) /* not empty */
hlist_add_after(dh->dh_tail, hnode);
hlist_add_behind(hnode, dh->dh_tail);
else /* empty list */
hlist_add_head(hnode, &dh->dh_head);
dh->dh_tail = hnode;
Expand Down Expand Up @@ -406,7 +406,7 @@ cfs_hash_dd_hnode_add(struct cfs_hash *hs, struct cfs_hash_bd *bd,
cfs_hash_dhead_dep_t, dd_head);

if (dh->dd_tail != NULL) /* not empty */
hlist_add_after(dh->dd_tail, hnode);
hlist_add_behind(hnode, dh->dd_tail);
else /* empty list */
hlist_add_head(hnode, &dh->dd_head);
dh->dd_tail = hnode;
Expand Down
2 changes: 1 addition & 1 deletion fs/namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,7 @@ static void commit_tree(struct mount *mnt, struct mount *shadows)
list_splice(&head, n->list.prev);

if (shadows)
hlist_add_after_rcu(&shadows->mnt_hash, &mnt->mnt_hash);
hlist_add_behind_rcu(&mnt->mnt_hash, &shadows->mnt_hash);
else
hlist_add_head_rcu(&mnt->mnt_hash,
m_hash(&parent->mnt, mnt->mnt_mountpoint));
Expand Down
2 changes: 1 addition & 1 deletion fs/notify/inode_mark.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ int fsnotify_add_inode_mark(struct fsnotify_mark *mark,

BUG_ON(last == NULL);
/* mark should be the last entry. last is the current last entry */
hlist_add_after_rcu(&last->i.i_list, &mark->i.i_list);
hlist_add_behind_rcu(&mark->i.i_list, &last->i.i_list);
out:
fsnotify_recalc_inode_mask_locked(inode);
spin_unlock(&inode->i_lock);
Expand Down
2 changes: 1 addition & 1 deletion fs/notify/vfsmount_mark.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ int fsnotify_add_vfsmount_mark(struct fsnotify_mark *mark,

BUG_ON(last == NULL);
/* mark should be the last entry. last is the current last entry */
hlist_add_after_rcu(&last->m.m_list, &mark->m.m_list);
hlist_add_behind_rcu(&mark->m.m_list, &last->m.m_list);
out:
fsnotify_recalc_vfsmount_mask_locked(mnt);
spin_unlock(&mnt->mnt_root->d_lock);
Expand Down
4 changes: 2 additions & 2 deletions include/linux/list.h
Original file line number Diff line number Diff line change
Expand Up @@ -654,8 +654,8 @@ static inline void hlist_add_before(struct hlist_node *n,
*(n->pprev) = n;
}

static inline void hlist_add_after(struct hlist_node *prev,
struct hlist_node *n)
static inline void hlist_add_behind(struct hlist_node *n,
struct hlist_node *prev)
{
n->next = prev->next;
prev->next = n;
Expand Down
8 changes: 4 additions & 4 deletions include/linux/rculist.h
Original file line number Diff line number Diff line change
Expand Up @@ -432,9 +432,9 @@ static inline void hlist_add_before_rcu(struct hlist_node *n,
}

/**
* hlist_add_after_rcu
* @prev: the existing element to add the new element after.
* hlist_add_behind_rcu
* @n: the new element to add to the hash list.
* @prev: the existing element to add the new element after.
*
* Description:
* Adds the specified element to the specified hlist
Expand All @@ -449,8 +449,8 @@ static inline void hlist_add_before_rcu(struct hlist_node *n,
* hlist_for_each_entry_rcu(), used to prevent memory-consistency
* problems on Alpha CPUs.
*/
static inline void hlist_add_after_rcu(struct hlist_node *prev,
struct hlist_node *n)
static inline void hlist_add_behind_rcu(struct hlist_node *n,
struct hlist_node *prev)
{
n->next = prev->next;
n->pprev = &prev->next;
Expand Down
2 changes: 1 addition & 1 deletion net/batman-adv/fragmentation.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ static bool batadv_frag_insert_packet(struct batadv_orig_node *orig_node,

/* Reached the end of the list, so insert after 'frag_entry_last'. */
if (likely(frag_entry_last)) {
hlist_add_after(&frag_entry_last->list, &frag_entry_new->list);
hlist_add_behind(&frag_entry_last->list, &frag_entry_new->list);
chain->size += skb->len - hdr_size;
chain->timestamp = jiffies;
ret = true;
Expand Down
2 changes: 1 addition & 1 deletion net/bridge/br_multicast.c
Original file line number Diff line number Diff line change
Expand Up @@ -1174,7 +1174,7 @@ static void br_multicast_add_router(struct net_bridge *br,
}

if (slot)
hlist_add_after_rcu(slot, &port->rlist);
hlist_add_behind_rcu(&port->rlist, slot);
else
hlist_add_head_rcu(&port->rlist, &br->router_list);
}
Expand Down
2 changes: 1 addition & 1 deletion net/ipv4/fib_trie.c
Original file line number Diff line number Diff line change
Expand Up @@ -940,7 +940,7 @@ static void insert_leaf_info(struct hlist_head *head, struct leaf_info *new)
last = li;
}
if (last)
hlist_add_after_rcu(&last->hlist, &new->hlist);
hlist_add_behind_rcu(&new->hlist, &last->hlist);
else
hlist_add_before_rcu(&new->hlist, &li->hlist);
}
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/addrlabel.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ static int __ip6addrlbl_add(struct ip6addrlbl_entry *newp, int replace)
last = p;
}
if (last)
hlist_add_after_rcu(&last->list, &newp->list);
hlist_add_behind_rcu(&newp->list, &last->list);
else
hlist_add_head_rcu(&newp->list, &ip6addrlbl_table.head);
out:
Expand Down
4 changes: 2 additions & 2 deletions net/xfrm/xfrm_policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ static void xfrm_dst_hash_transfer(struct hlist_head *list,
if (h != h0)
continue;
hlist_del(&pol->bydst);
hlist_add_after(entry0, &pol->bydst);
hlist_add_behind(&pol->bydst, entry0);
}
entry0 = &pol->bydst;
}
Expand Down Expand Up @@ -654,7 +654,7 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl)
break;
}
if (newpos)
hlist_add_after(newpos, &policy->bydst);
hlist_add_behind(&policy->bydst, newpos);
else
hlist_add_head(&policy->bydst, chain);
xfrm_pol_hold(policy);
Expand Down

0 comments on commit 1d02328

Please sign in to comment.