On Fri, Jun 11, 2004 at 02:09:11PM +0000, Kevin Corry wrote: > On Friday 11 June 2004 11:48 am, Kevin Corry wrote: > > After talking to Alasdair a bit, it seems like there still might be a reason > for using the interruptible wait in sync_io(). The point he brought up was > that if you are using dm-io to do I/O to another DM device, and that DM device > is suspended, then the I/O may never complete if the device doesn't get > unsuspended (for some reason). In this case, you'd like to be able to > interrupt the process that's waiting for that I/O so it isn't stuck in D-state > forever. Well, it just means it's stuck in D state until the lower-level device is unsuspended. I guess I'm skeptical of the need or desire to make this signal-able. I'll give it some thought. > > So this means we need to allocate a struct io from the mempool in sync_io() > instead of declaring it on the stack. Here's a patch that should accomplish > this. It ain't pretty, but I think it gets the job done. It requires some > changes in dec_count(), and I've also replaced the io_schedule() loop with a > call to wait_event_interruptible(). Now everyone take a look and tell me how > ugly this is. :) And if anyone can think of something more elegant, please > let me know. I've not looked at your patch yet. I just got in, and I need to leave again shortly. I'll look at it this week end. > > -- > Kevin Corry > kevcorry@xxxxxxxxxx > http://evms.sourceforge.net/ > >