From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kay Sievers Date: Fri, 01 Apr 2005 14:40:11 +0000 Subject: Re: USB card reader media detection Message-Id: <1112366412.5681.16.camel@localhost.localdomain> List-Id: References: <000701c536af$9e5e8b20$f601a8c0@SenatorPalmer> In-Reply-To: <000701c536af$9e5e8b20$f601a8c0@SenatorPalmer> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Fri, 2005-04-01 at 12:40 +0100, Andrew Marshall wrote: > I am currently running version 2.4.22 of the Kernel and am writing an > application that needs to cope with the removal of card media form a USB > flash card reader. > I have found that the block device file (part1) corresponding to my flash > card's partition is appropriately updated (i.e removed from > /dev/scsi/host0/bus0/target0/lun0/ when the test card is removed) -- but > only if the partition is *not* currently mounted! I don't remember the old 2.4 kernels, but I can't imagine how the kernel could detect this. > I found that once I have mounted the partition, the devfs 'part1' block > device perpetually remains -- even when the card is removed, thus making > removal detection a tad tricky. > > OK, it seems to be possible to unmount the partition, poll the > /dev/scsi/host0/bus0/target0/lun0 entry and then remount once the poller has > determined that the partition is still present -- but this takes time... And > also seems a little extreme (if not ridiculous)... Just poll continuously the main block device, which causes a re-read of the partition table with every open(). There is no other way to do that. Card-readers don't tell the kernel, if a media change happened. Kay ------------------------------------------------------- This SF.net email is sponsored by Demarc: A global provider of Threat Management Solutions. Download our HomeAdmin security software for free today! http://www.demarc.com/info/Sentarus/hamr30 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel