>
>Re-reading the mapping:
>
>That's a problem. I'm not familiar enough with the way SCSI works to know 
>how to tell it that the media changed. And if it knows that the media 
>changed, will it get the capacity again? If no-one knows the answer to 
>this off-hand, I'll read the source and find out.

Hm, traced this problem all over the place:

/scsi/sd.c implements an IOCLT "BLKRRPART"      /* Re-read partition tables */
                 --> calls sd.c:revalidate_scsidisk()
                 --> calls sd.c:sd_init_onedisk()
This seems to be the only one that TEST_UNIT_READY,READ_CAPACITY sequence 
we're currently using
to rebuild the mapping table.

You can force this manually:
         sfdisk /dev/sdX -R
(also saw a "reread.c" floating around)

I guess that the READ_CAPACITY command is not actually triggered by the 
first mount; that just happens to be the first successfull call of 
sd_init_onedisk().

- the IDE-Hotplug people have/had the same problem -

So any ideas of how we can force the BLKRRPART ioctl() or sd_init_onedisk() 
with each mount ?

What happens when swapping different size CompactFlash cards ?


- sda


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to