Hi! I've just seen the bio_list structure and handling function in dm-raid1.c. Wouldn't it be better to have this declarations and the inline functions available in a header file? Since the queues in the snapshot and multipath target should also be modified to implement fifos (because of the BIO reordering thing) we could use this functions in dm.c, dm-raid1.c, dm-snap.c, dm-path.c, dm-crypt.c. The functions could be: bio_list_init bio_list_add (add single bio to the tail) bio_list_pop (get single bio from the head) bio_list_get (get the whole list) bio_list_append (append a list) What do you think? BTW: What are the dm_registry functions and struct dm_register for?