[pnfs] [PATCH 0/8] nfsd: convert xdr x-coding to use function vectors
Benny Halevy
bhalevy at panasas.com
Mon Jun 30 17:08:45 EDT 2008
J. Bruce Fields wrote:
> On Mon, Jun 30, 2008 at 08:59:43PM +0300, Benny Halevy wrote:
>> In the last connectathon we discussed conversion of the nfsd xdr processing
>> to use function vectors rather than the big switch statements it currently
>> use. This makes the nfs41 implementation cleaner. Plus, I fixed a couple
>> bugs in the process on error paths.
>
> Thanks for working on these! It seems basically right to me.
>
>> [PATCH 1/8] nfsd: return nfserr_minor_vers_mismatch when compound minorversion != 0
>> This actually fixes a couple bugs:
>> - nfserr_minor_vers_mismatch would be returned only for opnum == 2
>> and minorversion!=0. Must be returned for the whole compound.
>> - opcnt on the reply must be set to 0 according to rfc3530
>> [PATCH 2/8] nfsd: tabulate nfs4 xdr decoding functions
>> [PATCH 3/8] nfsd: unsupported nfs4 ops should fail with nfserr_opnotsupp
>> This fixes another bug, where before unimplemented functions would have
>> returned nfserr_op_illegal rather than nfserr_opnotsupp as required.
>> [PATCH 4/8] nfsd: nfs4 minorversion decoder vectors
>> [PATCH 5/8] nfsd: tabulate nfs4 xdr encoding functions
>> [PATCH 6/8] nfsd: dprint operation names
>> The first six patches apply to 2.6.26-rc8
>>
>> [PATCH 7/8] nfsd41: xdr stubs
>> [PATCH 8/8] nfsd41: proc stubs
>> These two patches are for the nfs41 branch.
>
> OK. I'm assuming we should wait to start applying nfsv4.1 specific
> patches till we have enough patches ready to provide some minimal 4.1
> functionality.
Absolutely.
The whole patchset has minimal functionality and is now backward
compatible (i.e. 4.1 should work against 2, 3, 4, and 4.1 servers,
4.1 server works against 2, 3, 4, and 4.1 clients. testing
was focused on 4.0 x 4.1)
Next step is cleaning up the patches for review, then I'll
send a series of patchsets comprising the full functionality.
I'm still nto sure what would be clearer, send each feature
as client/server pairs, or send the full series for the server
side, then the client's.
>
>> (currently placed early in the series on my private tree)
>
> OK. Looks like they'll follow the introduction of the new CONFIG option
> at least?
Of course.
They follow the CONFIG option and some basic type and constant definitions.
Benny
>
> --b.
>
>> xdr stubs implement the nfs41 decoders in a vecotr of their own.
More information about the pNFS
mailing list