On 07/26/2012 05:43 AM, Peng Tao wrote: > Another thing is, this further complicates direct writes, where I > cannot use pagecache to ensure proper locking for concurrent writers > in the same BLOCK, and sector-aligned partial BLOCK DIO writes need to > be serialized internally. IOW, the same code cannot be reused by DIO > writes. sigh... > One last thing. Applications who use direct IO know to allocate and issue sector aligned requests both at offset and length. That's a Kernel requirement. It is not for NFS, but even so. Just refuse sector unaligned DIO and revert to MDS. With sector aligned IO you directly DIO to DIO pages, problem solved. If you need the COW of partial blocks, you still use page-cache pages, which is fine because they do not intersect any of the DIO. Cheers Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html