Messages in this thread | | | Subject | Re: [PATCH 00/22 take 3] UBI: Unsorted Block Images | From | David Woodhouse <> | Date | Tue, 20 Mar 2007 21:32:40 +0000 |
| |
On Tue, 2007-03-20 at 10:58 -0800, David Lang wrote: > What Matt and Ted are looking at is the question 'are flash devices close enough > to other block devices that it would make sense to change the existing linux > definition of a block device to handle the special requirements of flash'
I've seen no real proposals about how this could be done, so it's a purely academic question. But I'm dubious. The block layer is optimised, perhaps unsurprisingly, for block devices. Making it handle our special case might be possible, but I don't really think it's likely to fly once it becomes real code and not just mental self-abuse. Hell, we haven't even got block _discard_ support merged yet, because it's too esoteric for people to care about.
The MTD API does need to be re-thought. It's no longer quite so unthinkable that we'll encounter flash sizes above 4GiB, and the way we (theoretically) handle asynchronous erases while read and write are synchronous is a bit icky. I'm not averse to using queues and making it look a _bit_ like block devices in some respects, but in practice I don't think it'll be very close at all.
The MTD API is intended to represent the raw capabilities of the underlying flash devices, with all the bizarre restrictions and features that the various types of flash chip have. If you want to use it as a block device, that's what translation layers are for.
-- dwmw2
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |