Block layer discard requests
Block layer discard requests
Posted Aug 14, 2008 2:42 UTC (Thu) by willy (subscriber, #9762)Parent article: Block layer discard requests
I've been looking into the ATA piece of this (at Dave's request). Part of the problem is that the ATA TRIM command isn't fully specified yet, so we'll need to allocate a temporary command to test it. This also means that no existing device on the market can take advantage of it. Another part of the problem is that the way we handle ATA these days is through the SCSI layer. So in order to implement the ATA TRIM command, we first have to implement the SCSI PUNCH command. The SCSI PUNCH command is a very complex beast. It allows you to specify all kinds of things that ATA (and indeed Linux) don't let you do, and as a result is a pain to implement. I'm negotiating with T10 to attempt to get PUNCH simplified, but not having much luck so far. It's a SMOP but I have more urgent projects right now. One of them is ata_ram, which (not entirely coincidentally) today grew the ability to do lazy allocation of the memory pages it uses as its backing store. Once that feature's debugged, supporting TRIM should be feasible, then I'll have motivation to get back to implementing PUNCH.
