[pnfs] [PATCH 0/38] [v1] pnfs: client layout cache

Iyer, Rahul Rahul.Iyer at netapp.com
Mon Jan 7 17:38:15 EST 2008


Try 
git branch -r 
and you might see the other branches.
Thanks,
Rahul


> -----Original Message-----
> From: Dean Hildebrand [mailto:seattleplus at gmail.com] 
> Sent: Monday, January 07, 2008 2:35 PM
> To: Benny Halevy
> Cc: pnfs at linux-nfs.org
> Subject: Re: [pnfs] [PATCH 0/38] [v1] pnfs: client layout cache
> 
> Not sure if this is my fault, but I just did a
> 
>  >git clone git://linux-nfs.org/~bhalevy/linux-pnfs.git
> 
> and then the only branch I see is master:
>  >git branch
> * master
> 
> Did I do something wrong?   (git version 1.5.3.3)
> Dean
> 
> Benny Halevy wrote:
> > Seven updated patches and one new, based on (mostly Dean's) 
> comments 
> > in replies to this email.
> >
> > Please get full updated patchset from 
> > git://linux-nfs.org/~bhalevy/linux-pnfs.git
> > client-layout-cache branch, or use "git-remote update" if you've 
> > already cloned the tree.
> >
> > updated 
> 0016-pnfs-allocate-layout-driver-data-in-one-piece-with.patch
> > new     0017-pnfs-require-layout-driver-alloc-free-_layout.patch
> > updated 
> 0019-pnfs-client-layout-cache-introduce-get_alloc_layou.patch
> > updated 
> 0020-pnfs-client-layout-cache-allow-waiting-for-alloc_l.patch
> > updated 0021-pnfs-client-layout-cache-get_lock-put_unlock-_cur.patch
> > updated 
> 0022-pnfs-client-layout-cache-unlock-layout-around-call.patch
> > updated 0025-pnfs-client-layout-cache-require-layout-driver-al.patch
> > updated 0038-pnfs-client-layout-cache-return_layout-use-pnfs_f.patch
> >
> > Benny
> >
> > On Jan. 01, 2008, 12:47 +0200, Benny Halevy 
> <bhalevy at panasas.com> wrote:
> >   
> >> This patchset contains some cleanups and bug fixes to the 
> existing pnfs code.
> >> Mainly support for non page cache I/O was removed since 
> it's not used 
> >> anywhere at the moment.  Rather than maintaining the dead code we 
> >> rather add it back only if/when needed.
> >>
> >> The client layout cache stores layout segments in a sorted 
> list hung 
> >> from struct pnfs_layout_type.
> >>
> >> Allocation and deallocation of this structure was 
> simplified allowing 
> >> the layout driver to easily allocate its private data in one chunk 
> >> immediately following the generic structure.
> >>
> >> Same principle was applied for layout segment allocation.
> >>
> >> New accessors help getting the LD private data, as well as 
> "standard" 
> >> pointers (e.g. nfs_inode, nfs_server, etc.) derived from 
> >> pnfs_layout_type (and pnfs_layout_segment).  This allows 
> simplifying 
> >> the LD API a bit by passing it only the pnfs_layout_type 
> without the inode.
> >>
> >> Layout driver is no longer responsible for maintaining layout 
> >> segments and it does not set the nfsi->current_layout to NULL when 
> >> there's no more layout information to keep.  The pnfs 
> layout cache is 
> >> doing that by keeping track of all layout segments and maintaining 
> >> them in sync with LAYOUTGETs and LAYOUTRETURNs.
> >>
> >> The LD read, write, (and later-on commit) methods now get 
> the layout 
> >> segment covering the I/O byte range in the nfs_{read,write}_data 
> >> structure and it is freed on exit for synchronous I/O or 
> in the done 
> >> function for the asynchronous paths.
> >>
> >> To simplify async done processing the layout drivers must 
> always set 
> >> the rpc task.tk_status and result fields (count, eof for read, 
> >> committed for
> >>  write) and then call back the pnfs nfs_{read,write}list_complete 
> >> functions that will call up the rpc_call_done chain.  If 
> the LD I/O 
> >> function returns synchronously, it still must set the 
> fields mentioned above.
> >>
> >> I also added some basic synchronization and reference counting for 
> >> allocating and using layout cache structures.  Higher level 
> >> synchronization between layout gets, returns, and recalls 
> is still to be done.
> >>
> >> Benny
> >>
> >> _______________________________________________
> >> pNFS mailing list
> >> pNFS at linux-nfs.org
> >> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
> >>
> >>     
> >
> > _______________________________________________
> > pNFS mailing list
> > pNFS at linux-nfs.org
> > http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
> >   
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
> 


More information about the pNFS mailing list