On Fri, Jun 15, 2007 at 01:58:20PM +1000, Neil Brown wrote: > Certainly. But the raid doesn't need to be tightly integrated > into the filesystem to achieve this. The filesystem need only know > the geometry of the RAID and when it comes to write, it tries to write > full stripes at a time. XFS already knows this (stripe unit, stripe width) and already does stripe unit sized and aligned allocation where it can. > If that means writing some extra blocks full > of zeros, it can try to do that. This would require a little bit > better communication between filesystem and raid, but not much. If > anyone has a filesystem that they want to be able to talk to raid > better, they need only ask... I'm interested in what you think is necessary here, Neil. But I think there's more to it than this - the filesystem only writes back what the generic writeback code passes it (i.e. a page at a time). XFs writes back extra adjacent pages in each I/O if they are in the same state, but it might take multiple I/Os to write out a full stripe units if we are doing things like writing across a hole. Also, there is no guarantee that the first page the filesystem receives lies at the start of a stripe boundary, so that sort of information really needs to be propagated into the generic writeback code above the filesystem as well.... IOWs, the files can easily end I/Os on stripe boundaries but it is much harder to start them there because that is not in the control of the filesystem. Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group - 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