[PATCH] Embedded bios FTL

Sean Young sean at mess.org
Thu Jun 16 07:54:59 EDT 2005


On Thu, Jun 16, 2005 at 12:29:05PM +0200, Joern Engel wrote:
> On Thu, 16 June 2005 11:15:46 +0200, Sean Young wrote:

-snip chucking unused sectors-

> > Indeed so. Besides, it would be more elegant if the file system driver 
> > passed this on to the block device, via an ioctl. Would such a thing
> > stand up to scrutiny? As far as I can see, only the ftl block devices 
> > would benefit.
> 
> An ioctl() would have a *really* hard time to make it into the kernel.

I agree that ioctl()s are ugly, but it does have the advantage that it 
is accessible from user-space. Excuse my ignorance, but what is the 
motivation for this?

> What you could do, however, might be something similar to this:
> 
> o Add an erase() function to stuct block_device_operations
> o Have fat call that function whenever a block is know unused.
> o Make sure only to call the function, if it's non-NULL.  Maybe a
>   wrapper, maybe just
> 	if (bd_ops->erase)
> 		bd_ops->erase(block);
>   inside fs/fat/.
> o Implement erase() for your ftl driver to do something smart.
> 
> Be careful, though.  I haven't worked on block devices for a very long
> time and could be talking out of my arse.  If you send such a patch to
> akpm and get flamed into a pile of ashes - don't blame me. ;)

I'll have to spend more time looking at the block devices/bio code 
before I can start. :)

erase() sounds rather mtd-specific. Wouldn't stale() be better?


Sean




More information about the linux-mtd mailing list