[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