[pnfs] pnfsd export/callback API [was Re: [PATCH] pnfsd: Notify device ID changes]

J. Bruce Fields bfields at fieldses.org
Fri Jun 13 17:53:25 EDT 2008


On Fri, Jun 13, 2008 at 02:11:28PM -0700, Marc Eshel wrote:
> "J. Bruce Fields" <bfields at fieldses.org> wrote on 06/13/2008 01:25:07 PM:
> 
> > "J. Bruce Fields" <bfields at fieldses.org> 
> > 06/13/2008 01:25 PM
> > 
> > To
> > 
> > Marc Eshel <eshel at almaden.ibm.com>
> > 
> > cc
> > 
> > Benny Halevy <bhalevy at panasas.com>, pNFS Mailing List 
> <pnfs at linux-nfs.org>
> > > I think it needs to be the superblock, can you think of a better 
> place?
> > 
> > Might be OK.  Or maybe it could just be a global?
> 
> Then you need an exported symbol which also create a dependency on nfsd by 
> the fs.

No, it'd be a global belonging to the filesystem's module.  So

	struct pnfs_callbac_ops *my_pointer_to_pnfs_cbs;

or something.

> > Or if you know you only need to use it while you hold a layout (for
> > example) then it might make sense to put it there.
> > 
> 
> Maybe we can pass it to the fs when it calls the export operations that 
> checks if the fs supports pNFS but we still don't know when we can not use 
> it anymore.

Right.

> 
> > > 
> > > > 
> > > > What are the natural places in the filesystem code where the 
> filesystem
> > > > a) knows it may need to do pnfs callbacks, and b) knows it no longer
> > > > needs to do callbacks?
> > > 
> > > I prefer not to have to keep track of the need for the calls,
> > 
> > So there's not some object (layout, or something else?) whose lifetime
> > naturally bounds the time when you'd need the callbacks?
> 
> no

It's also a question of how you want the filesystem to work--do you want
it to *always* make these callbacks to nfsd, regardless of whether
anyone's using pnfs or not?  Maybe that's OK.

--b.


More information about the pNFS mailing list