On Nov 4, 2013, at 5:03 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Mon, Nov 04, 2013 at 01:56:39PM -0800, Thomas Haynes wrote: >> Nah, most likely me, no imagination needed. >> >> We were also looking at bringing larger WRITEs during 4.3 and I wanted >> to have WRITE_PLUS already in place for that. > > What exactly does a WRITE PLUS with various non-related overloads in 4.2 > buy you for introducing large writes in 4.3? In 4.3, READ_PLUS would be extended for large reads. We would at that time need a WRITE_PLUS to be extended for large writes. The relationship falls from having WRITE_PLUS handle all of the variants handled by READ_PLUS. It needs to accept all of them because it does not know what will be returned. We did not want many new operators and also wanted the operators to be extensible. With this approach, you can define a new arm of the discriminated union, not have to implement it, and not burn an operator. Some of the history is captured here: http://www.ietf.org/mail-archive/web/nfsv4/current/msg11235.html http://www.ietf.org/mail-archive/web/nfsv4/current/msg11470.html http://www.ietf.org/proceedings/84/slides/slides-84-nfsv4-1.pdf (slide 6) It doesn't capture the intent of NFS4ERR_UNION_NOTSUPP in this decision. 11.1.1.1. NFS4ERR_UNION_NOTSUPP (Error Code 10090) One of the arguments to the operation is a discriminated union and while the server supports the given operation, it does not support the selected arm of the discriminated union. For an example, see READ_PLUS (Section 14.10). -- 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