struct list_head { | |
struct list_head *next, *prev; | |
}; | |
struct dm_exception { | |
struct list_head hash_list; | |
unsigned long long old_chunk; | |
unsigned long long new_chunk; | |
}; | |
struct dm_exception *dm_lookup_exception(struct list_head *table, unsigned long long chunk) { | |
struct list_head *slot; | |
struct dm_exception *e; | |
slot = &table[0]; | |
e = (struct dm_exception *)slot->next; | |
for (; &e->hash_list != (slot);) | |
if (chunk <= (e->new_chunk>>56)) | |
return e; | |
} |