[pnfs] [RFC 0/11] objlayout: pNFS-Objects layout driver

J. Bruce Fields bfields at fieldses.org
Mon Jun 15 21:12:53 EDT 2009


On Mon, Jun 15, 2009 at 07:29:10PM -0400, bfields wrote:
> On Sun, Jun 14, 2009 at 04:29:19PM +0300, Boaz Harrosh wrote:
> > I'm glad to announce a pNFS-Objects layout driver and a serving filesystem.
> > 
> > The pNFS-client code is a repackaging of Benny's panlayout driver source
> > code. Plus addition of an objects implementation over, now in kernel,
> > open-osd.org osd initiator.
> 
> Is there some reason why all the exofs server code needs to go in fs/nfs
> and not fs/nfsd?

Whoops, sorry; Benny points out in person: the server-side code is
mostly in fs/exofs itself.--b.

> 
> --b.
> 
> > 
> > The file system is the object based exofs with 2 patches below that adds
> > the support of the pnfs_export_operations.
> > 
> > These preliminary patches pass the cthon tests with IO going from the client
> > directly to osd-targets. IT IS NOW ONLY SUPPORTING A SINGLE DEVICE.
> > 
> > I would like to take this opportunity and say to all you guys: "Two thumbs up!!!"
> > I did not do anything much really. The complete PNFS was all nicely abstracted away
> > for me. It felt very easy and natural to fill in the few osd-blanks needed at both
> > sides.
> > 
> > These patches are based on 2.6.31-rc1, which is not yet present in latest pnfs
> > tree. (specifically block and scsi merges into Linus as of 2009_06_14) So they
> > should only be attempted after Benny rebases over 2.6.31-rc1.
> > 
> > [A good merged tree can be found here:
> > http://git.open-osd.org/gitweb.cgi?p=linux-pnfs.git;a=shortlog;h=refs/heads/pnfs-all-obj-devel]
> > 
> > Here is the list of patches:
> > [PATCH 01/11] [SQUASHME] objlayout: Move pnfs_osd_xdr.h to common objlayout directory
> > [PATCH 02/11] [SQUASHME] panlayout: Remove unused panfs_shim_iodone declaration
> > [PATCH 03/11] [SQUASHME] pnfs_osd_xdr: Change pnfs_osd_opaque_cred definition
> > [PATCH 04/11] [SQUASHME] Rename panlayout => objlayout and move to objlayout dir
> > [PATCH 05/11] [SQUASHME] panlayout: Move panfs_shim.* to objlayout dir
> > [PATCH 06/11] [SQUASHME] panlayout: Move panlayout specific code to panfs_shim
> > 
> >   In general what these patches do is:
> >   Move and Rename fs/nfs/panlayout => fs/nfs/objlayout.
> >   Abstract away the common code from the panfs specific code. Most of it was already
> >   separated, so only few adjustments were needed.
> >   It is arranged such as the two panlayoutdriver.ko and the new oblayoutdriver.ko
> >   are built from the same subdir and Kbuild file.
> >   Necessary changes where made to fs/nfs/Kconfig and fs/nfs/Makefile.
> > 
> >   At this point panlayoutdriver.ko should work as before, save the subdir rename,
> >   Though yet untested.
> > 
> > [PATCH 07/11] [SQUASHME] oblayout: Call pnf_*list_complete at rpc context
> >   
> >   Like with the blocklayout driver callbacks for osd will be scheduled from
> >   rpc thread context. Code taken from Fred's blocklayout driver. Thanks Fred.
> > 
> > [PATCH 08/11] [SQUASHME] objlayout: Add the objlayout pNFS-objects layout driver
> > [PATCH 09/11] [SQUASHME] objlayout: Implementation of sigle device IO
> > 
> >   The first patch lays out an empty object driver skeleton, the second fills in
> >   a minimum implementation of a single device, single object IO.
> >   The biggest TODO: is the call to a get-device-info and dynamic device
> >   search of the osd-devices.
> > 
> > [PATCH 10/11] pnfs_osd_xdr: Add encoding support
> > [PATCH 11/11] exofs: Add pNFS support
> > 
> >   These two patches add pnfs_export_operations to exofs. These patches should be
> >   carried out in the pnfs git tree, until submission to mainline, as they depend
> >   on the presence of pnfs.
> >   The first patch adds a Generic xdr encoding support of the objects layout type.
> >   It uses all the same structures types and constants as the decoding code but
> >   is kept separate to reduce code size from client code.
> >   This code is based on current Panasas code from their panfs server exporting code.
> >   Thanks for Panasas to let us publish it.
> > 
> >   Second patch adds a new source file to the exofs module. Do I need to keep it
> >   conditional on some pnfsd compilation config? Actually exofs is mainly intended
> >   for pnfs, I don't mind Just making it "depend" on pnfs and be done with it?
> > 
> > Though I know of some of the rough spots. Please give it an over-view (or deep
> > review) and do say what you think.
> > 
> > Thanks
> > Boaz
> > 
> > _______________________________________________
> > pNFS mailing list
> > pNFS at linux-nfs.org
> > http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs


More information about the pNFS mailing list