On Friday 15 June 2012, Ted Ts'o wrote: > On Fri, Jun 15, 2012 at 09:19:23AM +0000, Arnd Bergmann wrote: > > > > The trouble is that detecting the erase block size requires us to > > write specific patterns to the device, which is generally a bad > > idea after the file system has been created. > > How much space do you need? It's not hard to allocate a bunch of > space, in a file, use FIEMAP ioctl to verify that you have a > contiguous range of blocks, and then do direct I/O into that region. We need a few erase blocks, spaced apart by a few erase blocks each. Since we don't have to detect the number of erase blocks that the device can handle, a small number would be ok I guess, so in order to detect an 8 MB erase block correctly, we might use 3 erase blocks that are spaced apart by 5 erase blocks, for a total of 104MB. Once we figure out the erase block size, it would also help to verify that we can write to at least e.g. 5 blocks concurrently without triggering garbage collection, so we can print a warning if it doesn't. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html