Re: [PATCH] libata, freezer: avoid block device removal while systemis frozen

From: Nigel Cunningham
Date: Fri Dec 13 2013 - 17:53:17 EST


Hi Tejun.

Thanks for your work on this.

In your first email, in the first substantial paragraph (starting "Now, if the rest.."), you say "libata device removal waits for the scheduled writeback work item to finish". I wonder if that's the lynchpin. If we know the device is gone, why are we trying to write to it?

All pending I/O should have been flushed when suspend/hibernate started, and there's no point in trying to update metadata on a device we can't access, so there should be no writeback needed (and anything that does somehow get there should just be discarded since it will never succeed anyway).

Or am I missing something?

Having said the above, I agree that we shouldn't need to freeze kernel threads and workqueues themselves. I think we should be giving the producers of I/O the nous needed to avoid producing I/O during suspend/hibernate. But perhaps I'm missing something here, too.

Regards,

Nigel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/