]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] dm: list_for_each_entry audit
authorAndrew Morton <akpm@osdl.org>
Fri, 12 Mar 2004 00:13:51 +0000 (16:13 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 12 Mar 2004 00:13:51 +0000 (16:13 -0800)
From: Joe Thornber <thornber@redhat.com>

Audit for list_for_each_*entry*

drivers/md/dm-ioctl.c
drivers/md/dm-table.c
drivers/md/dm-target.c

index 63658f25a9c602f3415247b3583430d8c4e6e334..c691839801145e428fe5d95de8705629f93095d7 100644 (file)
@@ -88,30 +88,24 @@ static unsigned int hash_str(const char *str)
  *---------------------------------------------------------------*/
 static struct hash_cell *__get_name_cell(const char *str)
 {
-       struct list_head *tmp;
        struct hash_cell *hc;
        unsigned int h = hash_str(str);
 
-       list_for_each (tmp, _name_buckets + h) {
-               hc = list_entry(tmp, struct hash_cell, name_list);
+       list_for_each_entry (hc, _name_buckets + h, name_list)
                if (!strcmp(hc->name, str))
                        return hc;
-       }
 
        return NULL;
 }
 
 static struct hash_cell *__get_uuid_cell(const char *str)
 {
-       struct list_head *tmp;
        struct hash_cell *hc;
        unsigned int h = hash_str(str);
 
-       list_for_each (tmp, _uuid_buckets + h) {
-               hc = list_entry(tmp, struct hash_cell, uuid_list);
+       list_for_each_entry (hc, _uuid_buckets + h, uuid_list)
                if (!strcmp(hc->uuid, str))
                        return hc;
-       }
 
        return NULL;
 }
@@ -935,6 +929,7 @@ static void retrieve_deps(struct dm_table *table,
        unsigned int count = 0;
        struct list_head *tmp;
        size_t len, needed;
+       struct dm_dev *dd;
        struct dm_target_deps *deps;
 
        deps = get_result_buffer(param, param_size, &len);
@@ -942,7 +937,7 @@ static void retrieve_deps(struct dm_table *table,
        /*
         * Count the devices.
         */
-       list_for_each(tmp, dm_table_get_devices(table))
+       list_for_each (tmp, dm_table_get_devices(table))
                count++;
 
        /*
@@ -959,10 +954,8 @@ static void retrieve_deps(struct dm_table *table,
         */
        deps->count = count;
        count = 0;
-       list_for_each(tmp, dm_table_get_devices(table)) {
-               struct dm_dev *dd = list_entry(tmp, struct dm_dev, list);
+       list_for_each_entry (dd, dm_table_get_devices(table), list)
                deps->dev[count++] = huge_encode_dev(dd->bdev->bd_dev);
-       }
 
        param->data_size = param->data_start + needed;
 }
index 37cbb3d19a5924838e12954554cda9e8bab12599..2dd22823215f775ef62d4e61d7101289cedc5519 100644 (file)
@@ -329,13 +329,11 @@ static int lookup_device(const char *path, dev_t *dev)
  */
 static struct dm_dev *find_device(struct list_head *l, dev_t dev)
 {
-       struct list_head *tmp;
+       struct dm_dev *dd;
 
-       list_for_each(tmp, l) {
-               struct dm_dev *dd = list_entry(tmp, struct dm_dev, list);
+       list_for_each_entry (dd, l, list)
                if (dd->bdev->bd_dev == dev)
                        return dd;
-       }
 
        return NULL;
 }
index 0dac63c84c3afe0c5a48814da43d1dffcd766d9d..fc0839e4c75ae8baf5ed47c19aa7f59565814205 100644 (file)
@@ -25,15 +25,11 @@ static DECLARE_RWSEM(_lock);
 
 static inline struct tt_internal *__find_target_type(const char *name)
 {
-       struct list_head *tih;
        struct tt_internal *ti;
 
-       list_for_each(tih, &_targets) {
-               ti = list_entry(tih, struct tt_internal, list);
-
+       list_for_each_entry (ti, &_targets, list)
                if (!strcmp(name, ti->tt.name))
                        return ti;
-       }
 
        return NULL;
 }