[pnfs] [PATCH 0/38] [v1] pnfs: client layout cache
Labiaga, Ricardo
Ricardo.Labiaga at netapp.com
Mon Jan 7 17:49:06 EST 2008
One more thing, to get the contents do
git fetch <name>
To quote Bruce from an old email:
"the git-remote stuff is very useful; together with git fetch it gives
you a way of keeping a cached view of all the branches in any number of
different repositories that you're interested in."
- ricardo
> -----Original Message-----
> From: Labiaga, Ricardo
> Sent: Monday, January 07, 2008 2:46 PM
> To: Iyer, Rahul; Dean Hildebrand; Benny Halevy
> Cc: pnfs at linux-nfs.org
> Subject: Re: [pnfs] [PATCH 0/38] [v1] pnfs: client layout cache
>
> You should also be able to do:
> git remote add <name> git://linux-nfs.org/~bhalevy/linux-pnfs.git
>
> The remote branches will then appear under <name>/<name of the branch>
>
> - ricardo
>
>
> > -----Original Message-----
> > From: Iyer, Rahul
> > Sent: Monday, January 07, 2008 2:38 PM
> > To: Dean Hildebrand; Benny Halevy
> > Cc: pnfs at linux-nfs.org
> > Subject: Re: [pnfs] [PATCH 0/38] [v1] pnfs: client layout cache
> >
> > 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
> > >
> > _______________________________________________
> > 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