Chiming in here a bit late, but coalescing requests is also a good way to prevent read-modify-write cycles.
Specifically, if I remember the concern correctly, for the WRITE_SAME with unmap bit set, when the IO is not evenly aligned on the "erase chunk" (whatever they call it) boundary the device can be forced to do a read-modify-write (of zeroes) to the end or beginning of that region.
For a disk array, the WRITE_SAME with unmap bit when done cleanly on an aligned boundary can be done entirely in the array's cache. The read-modify-write can generate several reads to the back end disks which are significantly slower....
ric -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html