2009/9/7 Richard Elling <richard.ell...@gmail.com>: > On Sep 7, 2009, at 10:20 AM, Bob Friesenhahn wrote: > >> The purpose of the TRIM command is to allow the FLASH device to reclaim >> and erase storage at its leisure so that the writer does not need to wait >> for erasure once the device becomes full. Otherwise the FLASH device does >> not know when an area stops being used. > > Yep, it is there to try and solve the problem of rewrites in a small area, > smaller than the bulk erase size. While it would be trivial to traverse the > spacemap and TRIM the free blocks, it might not improve performance > for COW file systems. My crystal ball says smarter flash controllers or a > form of managed flash will win and obviate the need for TRIM entirely. > -- richard
I agree with this sentiment, although I still look forward to it being obviated by a better memory technology instead, like PRAM. In any case, the ATA TRIM command may not be so useful after all, as it can't be queued: http://lwn.net/Articles/347511/ As an aside, after a bit of digging, I came across fcntl(F_FREESP). This will at least allow you to put the sparse back into sparse files if you so desire. Unfortunately, I don't see any way to do this for a zvol. Chris _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss