[pnfs] bakeathon wrapup

Dean Hildebrand seattleplus at gmail.com
Mon Sep 22 14:04:42 EDT 2008


Since I missed the last day of the bakeathon, is there anything 
interesting to report?

On my end, my testing with Sun revealed a few interesting items.
a) On the server, we sometimes hold the state lock while calling the 
file system.  This can lead to dead locks as DS's call MDSs and MDSs are 
calling DSs.  We need to always release these locks, which means that we 
will need another way of ensuring the consistency of the state.  A 
refcount of some sort I assume.   I'm looking into this.  In addition, 
I'm creating a new ds_state_lock so it doesn't conflict with the 
nfs4_state_lock.
b) Layoutrecall had a few problems that were fixed, some cleanup and 
some regarding mds and ds on a single node.  I will send client and 
server patches soon.
c) We *almost* got device notify (linux server, sun client) working, but 
there were still some xdr issues before I had to leave.  Man, it would 
be great if  linux used some form of rpcgen, our bakeathon testing is 
not exercising all corner xdr scenarios, and I'm sure there are some 
errors here and there from our hand creation of the xdr.

My nits from this experience are:
1) we need to do more testing of any new code with multiple ds's AND 
with mds and ds on same server.
2) our comments in the code are still lacking somewhat, making debugging 
of other people's code quite difficult.  As we fix bugs, it would be 
nice to fix up the comments as well.

Dean

Benny Halevy wrote:
> Post Austin Bakeathon, I've rebased the -2.6.27 series onto v2.6.27-rc7.
>
> Patches merged since last update (2008-08-27):
>
> upstream{-2.6.27,}:
> Benny Halevy (1):
>       nfsd: use nfs client rpc callback program
>
> nfs41{-2.6.27,}:
> Andy Adamson (1):
>       nfsd41: add OPEN4_SHARE_ACCESS_WANT nfs4_stateid bmap
>
> pnfs{-2.6.27,}:
> Andy Adamson (2):
>       SQUASHME: pnfs: use rwlock_init for lockdep annotation
>       pnfs: data server clientid and session recovery
>
> Benny Halevy (1):
>       SQUASHME: pnfsd: reject special stateids on DS
>
> Marc Eshel (1):
>       pnfsd: release ds stateid
>
> spnfs{-2.6.27,}:
> Benny Halevy (1):
>       SQUASHME: spnfs: leave const s_export_op ifdef'ed on CONFIG_PNFSD
>
> Mike Sager (1):
>       spnfs: extend layout recall testing mechanism
>
> Benny
>
> On Aug. 27, 2008, 12:00 +0300, Benny Halevy <bhalevy at panasas.com> wrote:
>   
>> I've finished forward porting the nfs41 and pnfs series over
>> onto 2.6.27-rc4.
>>
>> The tree is now organized as follows:
>>
>> master (2.6.26)
>> 	upstream
>> 		nfs41
>> 			pnfs
>> 				spnfs
>> 				pnfs-gfs2
>> 				pnfsd-lexp
>> 				pnfs-block
>> 				panlayout
>> 				pnfs-all
>> 	master-2.6.27
>> 		upstream-2.6.27
>> 			nfs41-2.6.27
>> 				pnfs-2.6.27
>> 					spnfs-2.6.27
>> 					pnfs-gfs2-2.6.27
>> 					pnfsd-lexp-2.6.27
>> 					pnfs-block-2.6.27
>> 					panlayout-2.6.27
>> 					pnfs-all-2.6.27
>>
>> As usual, I encourage everyone to start using and testing
>> pnfs-all-2.6.27 which we'll focus on from now on, including
>> the upcoming Bakeathon.
>>
>> I'll keep the 2.6.26 branches in sync with the 2.6.27 series
>> until 2.6.27 is officially released and then the intent is to
>> freeze it and move the development entirely over to 2.6.27.
>>
>> Patches committed since last status, 2008-08-21 are:
>>
>> nfs41, nfs41-2.6.27:
>>
>> Andy Adamson (1):
>>       SQUASHME: nfsd41: sequence return badsession instead of stale clientid
>>
>> Benny Halevy (1):
>>       SQUASHME: remove rpc_clnt parameter also from _nfs4_call_sync
>>
>>
>> pnfs-block-2.6.27:
>>
>> Benny Halevy (1):
>>       SQUASHME: pnfsblock: use class iteration api
>>
>> Benny
>>
>> On Aug. 21, 2008, 21:26 +0300, Benny Halevy <bhalevy at panasas.com> wrote:
>>     
>>> On Aug. 21, 2008, 21:21 +0300, Benny Halevy <bhalevy at panasas.com> wrote:
>>>       
>>>> I've rebased the nfs41-2.6.27 branch over 2.6.27-rc4 and
>>>> made a few fixes.
>>>>
>>>> The following patches have been committed since last status, 2008-08-17:
>>>>         
>>> Oh, and the "nfs41: limit the number of new session retrys"
>>> patch was dropped.
>>>
>>> Benny
>>>
>>>       
>>>> nfs41:
>>>>
>>>> Benny Halevy (11):
>>>>       SQUASHME: don't set clp->cl_minorversion in server minorversion patch
>>>>       nfs41: nfs_client.cl_minorversion
>>>>       SQUASHME: server->nfs_client may be NULL on nfs4_create_server error path
>>>>       SQUASHME: fix review comment
>>>>       SQUASHME: avoid gratuitous variable renaming
>>>>       SQUASHME: prettify calls to nfs4_call_sync
>>>>       SQUASHME: nfs41: remove rpc_clnt parameter to nfs4_call_sync
>>>>       SQUASHME: cleanup comment in nfs4_proc_sequence
>>>>       FIXME: Warn about server->client in nfs4_proc_sequence
>>>>       SQUASHME: get rid of nfs41_new_session
>>>>       SQUASHME: nfs41: check for cl_superblocks in reclaimer only for minorversi
>>>>       SQUASHME: nfsd41: get rid of unused nfsd41_probe_callback decleration
>>>>
>>>> Mike Sager (3):
>>>>       nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1
>>>>       SQUASHME: nfs41: minorversion option
>>>>       SQUASHME: nfs41: mount data struct field was changed to 'minorversion'
>>>>
>>>> pnfs:
>>>>
>>>> Benny Halevy (5):
>>>>       SQUASHME: pnfs: fix nfs4_call_sync for _nfs4_pnfs_getdevicelist
>>>>       SQUASHME: pnfs: fix nfs4_call_sync for pnfs4_proc_layoutget
>>>>       SQUASHME: pnfs: fix nfs4_call_sync for nfs4_pnfs_getdeviceinfo
>>>>       SQUASHME: pnfs: fix nfs4_call_sync for pnfs4_proc_layoutreturn
>>>>       SQUASHME: pnfs: fix nfs4_call_sync for _pnfs4_proc_layoutcommit
>>>>
>>>> spnfs:
>>>>
>>>> Mike Sager (1):
>>>>       spnfs: fix /proc _read and _write function return types
>>>>
>>>> nfs41-2.6.27:
>>>>
>>>> Benny Halevy (7):
>>>>       SQUASHME: don't set clp->cl_minorversion in server minorversion patch
>>>>       nfs41: nfs_client.cl_minorversion
>>>>       SQUASHME: server->nfs_client may be NULL on nfs4_create_server error path
>>>>       SQUASHME: nfs41: remove rpc_clnt parameter to nfs4_call_sync
>>>>       FIXME: Warn about server->client in nfs4_proc_sequence
>>>>       SQUASHME: nfs41: do not use nfs41_new_session
>>>>       nfs41: save svc_serv in nfs_callback_info
>>>>
>>>> Mike Sager (3):
>>>>       nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1
>>>>       SQUASHME: nfs41: minorversion option
>>>>       SQUASHME: nfs41: mount data struct field was changed to 'minorversion'
>>>>         
>
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
>   


More information about the pNFS mailing list