[Patch 3/6] dm: list_for_each_entry audit

Joe Thornber
2004-02-20T15:37:31Z

Audit for list_for_each_*entry*
--- diff/drivers/md/dm-ioctl.c 2004-02-18 15:23:23.000000000 +0000
+++ source/drivers/md/dm-ioctl.c 2004-02-18 15:34:04.000000000 +0000
@@ -88,30 +88,24 @@ static unsigned int hash_str(const char
*---------------------------------------------------------------*/
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_tabl
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_tabl
/*
* 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_tabl
*/
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;
}
--- diff/drivers/md/dm-table.c 2004-02-18 15:15:13.000000000 +0000
+++ source/drivers/md/dm-table.c 2004-02-18 15:38:06.000000000 +0000
@@ -329,13 +329,11 @@ static int lookup_device(const char *pat
*/
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;
}
--- diff/drivers/md/dm-target.c 2004-02-18 15:16:23.000000000 +0000
+++ source/drivers/md/dm-target.c 2004-02-18 15:38:06.000000000 +0000
@@ -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;
}