Block device driver: how to terminate the block device if media disappears?

John Beard johnb at
Mon Jan 7 05:49:31 EST 2013

On 21/12/12 18:23, Ezequiel Garcia wrote:

> On Thu, Dec 13, 2012 at 12:31 PM, John Beard <johnb at> wrote:
>> What is the right way to terminate requests and delete the gendisk in
>> the case of physically vanished PCI devices (or even devices in general)?
> There are several block driver examples in drivers/block.
> Or you might want to take a loot at mtdblock.c, or perhaps
> this simple ubiblock implementation:

Thanks, Ezequiel - sorry for the delay, I haven't had a chance to touch
my development computer over the break. The workqueue-based approach
from ubiblock.c seems to have solved the problem and the device can now
shut down happily once the request queue is emptied in the submit_req
call following device removal.

Thanks again for your help!

John Beard

More information about the Kernelnewbies mailing list