ocfs: use list_for_each_entry where benefical
PATCH 1/1 ocfs: use list_for_each_entry where benefical
Signed-off-by Christoph Hellwig <[email protected]>
fs/ocfs2/cluster/tcp.c +4 -9
@@ -261,14 +261,12 @@ out:static void o2net_complete_nodes_nsw (struct o2net_node *nn) { -struct list_head *iter, *tmp; +struct o2net_status_wait *nsw, *tmp;unsigned int num_kills =0 ; -struct o2net_status_wait *nsw;assert_spin_locked (&nn->nn_lock); -list_for_each_safe (iter, tmp, &nn->nn_status_list) { - nsw = list_entry(iter, struct o2net_status_wait, ns_node_item); +list_for_each_entry_safe (nsw, tmp, &nn->nn_status_list, ns_node_item) {o2net_complete_nsw_locked (nn, nsw,O2NET_ERR_DIED ,0 ); num_kills++; }
@@ -764,13 +762,10 @@ EXPORT_SYMBOL_GPL(o2net_register_handlervoid o2net_unregister_handler_list (struct list_head *list) { -struct list_head *pos, *n; -struct o2net_msg_handler *nmh; +struct o2net_msg_handler *nmh, *n;write_lock (&o2net_handler_lock); -list_for_each_safe (pos, n, list) { - nmh = list_entry(pos, struct o2net_msg_handler, - nh_unregister_item); +list_for_each_entry_safe (nmh, n, list, nh_unregister_item) {mlog (ML_TCP ,"unregistering handler func %p type %u key %08x\n" , nmh->nh_func, nmh->nh_msg_type, nmh->nh_key);rb_erase (&nmh->nh_node, &o2net_handler_tree);
fs/ocfs2/dlm/dlmmaster.c +11 -29
@@ -192,25 +192,20 @@ static void dlm_print_one_mle(struct dlmstatic void dlm_dump_mles (struct dlm_ctxt *dlm) {struct dlm_master_list_entry *mle; -struct list_head *iter;mlog (ML_NOTICE ,"dumping all mles for domain %s:\n" , dlm->name);spin_lock (&dlm->master_lock); -list_for_each (iter, &dlm->master_list) { - mle = list_entry(iter, struct dlm_master_list_entry, list); +list_for_each_entry (mle, &dlm->master_list, list)dlm_print_one_mle (mle); - }spin_unlock (&dlm->master_lock); }int dlm_dump_all_mles (const char __user *data,unsigned int len) { -struct list_head *iter;struct dlm_ctxt *dlm;spin_lock (&dlm_domain_lock); -list_for_each (iter, &dlm_domains) { - dlm = list_entry (iter, struct dlm_ctxt, list); +list_for_each_entry (dlm, &dlm_domains, list) {mlog (ML_NOTICE ,"found dlm: %p, name=%s\n" , dlm, dlm->name);dlm_dump_mles (dlm); }
@@ -454,12 +449,10 @@ static int dlm_find_mle(struct dlm_ctxt char *name, unsigned int namelen) {struct dlm_master_list_entry *tmpmle; -struct list_head *iter;assert_spin_locked (&dlm->master_lock); -list_for_each (iter, &dlm->master_list) { - tmpmle = list_entry(iter, struct dlm_master_list_entry, list); +list_for_each_entry (tmpmle, &dlm->master_list, list) {if (!dlm_mle_equal (dlm, tmpmle, name, namelen))continue ;dlm_get_mle (tmpmle);
@@ -472,13 +465,10 @@ static int dlm_find_mle(struct dlm_ctxtvoid dlm_hb_event_notify_attached (struct dlm_ctxt *dlm,int idx,int node_up) {struct dlm_master_list_entry *mle; -struct list_head *iter;assert_spin_locked (&dlm->spinlock); -list_for_each (iter, &dlm->mle_hb_events) { - mle = list_entry(iter, struct dlm_master_list_entry, - hb_events); +list_for_each_entry (mle, &dlm->mle_hb_events, hb_events) {if (node_up)dlm_mle_node_up (dlm, mle,NULL , idx);else
@@ -2434,7 +2424,7 @@ static int dlm_is_lockres_migrateable(stint ret;int i;int count =0 ; -struct list_head *queue, *iter; +struct list_head *queue;struct dlm_lock *lock;assert_spin_locked (&res->spinlock);
@@ -2453,8 +2443,7 @@ static int dlm_is_lockres_migrateable(st ret =0 ; queue = &res->granted;for (i =0 ; i <3 ; i++) { -list_for_each (iter, queue) { - lock = list_entry(iter, struct dlm_lock, list); +list_for_each_entry (lock, queue, list) { ++count;if (lock->ml.node == dlm->node_num) { mlog(0, "found a lock owned by this node still "
@@ -2923,18 +2912,16 @@ again:static void dlm_remove_nonlocal_locks (struct dlm_ctxt *dlm,struct dlm_lock_resource *res) { -struct list_head *iter, *iter2;struct list_head *queue = &res->granted;int i, bit; -struct dlm_lock *lock; +struct dlm_lock *lock, *next;assert_spin_locked (&res->spinlock);BUG_ON (res->owner == dlm->node_num);for (i=0 ; i<3 ; i++) { -list_for_each_safe (iter, iter2, queue) { - lock = list_entry (iter, struct dlm_lock, list); +list_for_each_entry_safe (lock, next, queue, list) {if (lock->ml.node != dlm->node_num) {mlog (0 ,"putting lock for node %u\n" , lock->ml.node);
@@ -2976,7 +2963,6 @@ static u8 dlm_pick_migration_target(stru {int i;struct list_head *queue = &res->granted; -struct list_head *iter;struct dlm_lock *lock;int nodenum;
@@ -2984,10 +2970,9 @@ static u8 dlm_pick_migration_target(struspin_lock (&res->spinlock);for (i=0 ; i<3 ; i++) { -list_for_each (iter, queue) { +list_for_each_entry (lock, queue, list) {/* up to the caller to make sure this node * is alive */ - lock = list_entry (iter, struct dlm_lock, list);if (lock->ml.node != dlm->node_num) {spin_unlock (&res->spinlock);return lock->ml.node;
@@ -3234,8 +3219,7 @@ static int dlm_add_migration_mle(structvoid dlm_clean_master_list (struct dlm_ctxt *dlm,u8 dead_node) { -struct list_head *iter, *iter2; -struct dlm_master_list_entry *mle; +struct dlm_master_list_entry *mle, *next;struct dlm_lock_resource *res;unsigned int hash;
@@ -3245,9 +3229,7 @@ top:/* clean the master list */ spin_lock (&dlm->master_lock); -list_for_each_safe (iter, iter2, &dlm->master_list) { - mle = list_entry(iter, struct dlm_master_list_entry, list); - +list_for_each_entry_safe (mle, next, &dlm->master_list, list) {BUG_ON (mle->type !=DLM_MLE_BLOCK && mle->type !=DLM_MLE_MASTER && mle->type !=DLM_MLE_MIGRATION );
fs/ocfs2/dlm/dlmrecovery.c +25 -52
241 lines not on this page · raw message
fs/ocfs2/dlmglue.c +2 -4
@@ -600,15 +600,13 @@ static inline int ocfs2_highest_compat_lstatic void lockres_set_flags (struct ocfs2_lock_res *lockres,unsigned long newflags) { -struct list_head *pos, *tmp; -struct ocfs2_mask_waiter *mw; +struct ocfs2_mask_waiter *mw, *tmp;assert_spin_locked (&lockres->l_lock); lockres->l_flags = newflags; -list_for_each_safe (pos, tmp, &lockres->l_mask_waiters) { - mw = list_entry(pos, struct ocfs2_mask_waiter, mw_item); +list_for_each_entry_safe (mw, tmp, &lockres->l_mask_waiters, mw_item) {if ((lockres->l_flags & mw->mw_mask) != mw->mw_goal)continue ;
fs/ocfs2/extent_map.c +3 -7
@@ -109,17 +109,14 @@ static int ocfs2_extent_map_lookup(struc*/ void ocfs2_extent_map_trunc (struct inode *inode,unsigned int cpos) { -struct list_head *p, *n; -struct ocfs2_extent_map_item *emi; +struct ocfs2_extent_map_item *emi, *n;struct ocfs2_inode_info *oi =OCFS2_I (inode);struct ocfs2_extent_map *em = &oi->ip_extent_map;LIST_HEAD (tmp_list);unsigned int range;spin_lock (&oi->ip_lock); -list_for_each_safe (p, n, &em->em_list) { - emi = list_entry(p, struct ocfs2_extent_map_item, ei_list); - +list_for_each_entry_safe (emi, n, &em->em_list, ei_list) {if (emi->ei_cpos >= cpos) {/* Full truncate of this record. */ list_move (&emi->ei_list, &tmp_list);
@@ -136,8 +133,7 @@ void ocfs2_extent_map_trunc(struct inode }spin_unlock (&oi->ip_lock); -list_for_each_safe (p, n, &tmp_list) { - emi = list_entry(p, struct ocfs2_extent_map_item, ei_list); +list_for_each_entry_safe (emi, n, &tmp_list, ei_list) {list_del (&emi->ei_list);kfree (emi); }
fs/ocfs2/journal.c +2 -4
@@ -722,8 +722,7 @@ void ocfs2_complete_recovery(struct work container_of(work, struct ocfs2_journal, j_recovery_work);struct ocfs2_super *osb = journal->j_osb;struct ocfs2_dinode *la_dinode, *tl_dinode; -struct ocfs2_la_recovery_item *item; -struct list_head *p, *n; +struct ocfs2_la_recovery_item *item, *n;LIST_HEAD (tmp_la_list);mlog_entry_void ();
@@ -734,8 +733,7 @@ void ocfs2_complete_recovery(struct worklist_splice_init (&journal->j_la_cleanups, &tmp_la_list);spin_unlock (&journal->j_lock); -list_for_each_safe (p, n, &tmp_la_list) { - item = list_entry(p, struct ocfs2_la_recovery_item, lri_list); +list_for_each_entry_safe (item, n, &tmp_la_list, lri_list) {list_del_init (&item->lri_list);mlog (0 ,"Complete recovery for slot %d\n" , item->lri_slot);
PATCH 1/1 ocfs: use list_for_each_entry where benefical
Quoted 2 lines · Christoph Hellwig
Signed-off-by Christoph Hellwig <[email protected]>
Looks good - it'll make it into ocfs2.git today. Thanks Christoph.
--Mark
--
Mark Fasheh
Senior Software Developer, Oracle
[email protected]