From mboxrd@z Thu Jan 1 00:00:00 1970 From: johnb@codexdigital.com (John Beard) Date: Mon, 07 Jan 2013 10:49:31 +0000 Subject: Block device driver: how to terminate the block device if media disappears? In-Reply-To: References: <50C9F4CC.7090702@codexdigital.com> Message-ID: <50EAA83B.7010004@codexdigital.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On 21/12/12 18:23, Ezequiel Garcia wrote: > On Thu, Dec 13, 2012 at 12:31 PM, John Beard 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: > > http://lwn.net/Articles/525957/ 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