> + spin_lock_irqsave(&zwplug->lock, flags); > + while (zwplug->wp_offset < zone_capacity && > + (bio = bio_list_peek(&zwplug->bio_list))) { Nit: I find this mix of a comparism and a combined assignment / NULL check just a bit too dense. I'd move one them out of the loop condition and to use a separate break to make things a little easier to digest. Otherwise this looks good modulo the freelist discissoon in the next patch.