[pnfs] [PATCH 19/20] 2.6-latest pnfs client no rpc nfs page cache cleanup

William A. (Andy) Adamson andros at citi.umich.edu
Mon Dec 3 16:41:06 EST 2007


On 12/3/07, Dean Hildebrand <seattleplus at gmail.com> wrote:
>
>
> >
> >
> >  so pnfs_read_done calls data->call_ops->rpc_call_done() which is
> > either nfs_readpage_result_full() or nfs_readpage_result_partial()
> > both of these functions call nfs_readpage_result() which in turn
> > calls  NFS_PROTO(data->inode)->read_done() which is pnfs4_read_done,
> > which does the right thing for the NO_RPC path when the PNFS_NO_RPC
> > flag is set.
> Ok, I missed a 4.  How confusing is it to have a function pnfs_read_done
> and pnfs4_read_done.  Done *what* is my question.  It sounds like we
> need to rename some of these functions.  What is each function really
> finishing?


agreed. we should change function names, comb fs/nfs/pnfs.c and remove
functions that are no longer needed,
take a look at the modules API and clean it up etc etc etc.

but not before moving the current 12.6.18.3 code forward with as little
change as possible.

-->Andy

Dean
> >
> >
> >     If so, just remove the call to the function.
> >
> >
> > nope. then there would be no nfs page cache cleanup on the no-rpc path.
> >
> > -->Andy
> >
> >     Dean
> >     >
> >     >  /*
> >     > diff --git a/fs/nfs/read.c b/fs/nfs/read.c
> >     > index 4cf47c5..1852434 100644
> >     > --- a/fs/nfs/read.c
> >     > +++ b/fs/nfs/read.c
> >     > @@ -381,6 +381,10 @@ static int nfs_readpage_retry(struct
> >     rpc_task *task, struct nfs_read_data *data)
> >     >       struct nfs_readargs *argp = &data->args;
> >     >       struct nfs_readres *resp = &data->res;
> >     >
> >     > +#ifdef CONFIG_PNFS
> >     > +     if (data->pnfsflags & PNFS_NO_RPC)
> >     > +             return 0;
> >     > +#endif /* CONFIG_PNFS */
> >     >       if (resp->eof || resp->count == argp->count)
> >     >               return 0;
> >     >
> >     > diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
> >     > index a6f429b..f747637 100644
> >     > --- a/include/linux/nfs_xdr.h
> >     > +++ b/include/linux/nfs_xdr.h
> >     > @@ -1069,7 +1069,7 @@ struct nfs_read_data {
> >     >  #ifdef CONFIG_PNFS
> >     >  /* pnfsflag values */
> >     >  #define PNFS_ISSYNC          0x0001   /* sync I/O request */
> >     > -#define PNFS_USE_FULL_CB     0x0002   /* non rpc result
> >     callback switch */
> >     > +#define PNFS_NO_RPC          0x0002   /* non rpc result
> >     callback switch */
> >     >  #endif /* CONFIG_PNFS */
> >     >
> >     >  struct nfs_write_data {
> >     >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux-nfs.org/pipermail/pnfs/attachments/20071203/89c665fa/attachment.htm 


More information about the pNFS mailing list