Am Fr, den 02.01.2004 schrieb Joe Thornber um 12:56: > On Thu, Jan 01, 2004 at 10:14:30PM +0100, Christophe Saout wrote: > > @@ -891,12 +902,14 @@ > > > > dm_table_resume_targets(md->map); > > clear_bit(DMF_SUSPENDED, &md->flags); > > + def = md->deferred_head; > > + md->deferred_head = md->deferred_tail = NULL; > > + > > + flush_deferred_io(md, def); > > + > > clear_bit(DMF_BLOCK_IO, &md->flags); > > - def = md->deferred; > > - md->deferred = NULL; > > up_write(&md->lock); > > > > - flush_deferred_io(def); > > blk_run_queues(); > > Is there any reason why you have moved the flush_deferred_io() in > between the 2 clear_bit() calls, rather than after the second ? After > all it is the md->lock that is blocking dm_request(). Ah, not, there's no reason. That was just left over from my first attempt that requeued incoming bios while the other ones were being flushed (which could delay dm_resume for a long time and I then decided to do it this way). So you can be moved back, sure.