On Wed, Jun 29, 2011 at 7:10 AM, Tom De Mulder <tdm27@xxxxxxxxx> wrote: > However, that might not necessarily be a problem; tools exist that can be run manually (slightly fsck-like) and tell the drive which blocks can be erased. For RAID5/6 at least, md will still require knowledge of what stripes are and are not in use by the filesystem. In the current implementation, the entire array must be consistent, regardless of whether or not a particular block is in use. As far as my understanding goes, any level of TRIM support for parity arrays would be a fundamental shift in the way md treats the array. The simplest solution I see is to do as Niel suggested, and mimic TRIM support at the RAID level, and pass commands down as necessary. An alternative solution would be to add a second TRIM layer, where md maintains a list of what is or is not in use, and once an entire stripe has been discarded by the filesystem, it can send a single TRIM command to each member drive to drop the entire stripe contents. This adds abstraction for the filesystem layer, allowing it to treat the RAID array like a regular SSD, but adds significant complexity to md itself. -Scott p.s. Sorry if you receive this twice; Majordomo rejected the first one on HTML subpart basis. -- Scott Armitage, B.A.Sc., M.A.Sc. candidate Space Flight Laboratory University of Toronto Institute for Aerospace Studies 4925 Dufferin Street, Toronto, Ontario, Canada, M3H 5T6 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html