RE: [PATCH v3 23/25] pnfsblock: use pageio_ops api

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx]
> On Behalf Of Trond Myklebust
> Sent: Thursday, July 28, 2011 11:53 AM
> To: Peng, Tao
> Cc: rees@xxxxxxxxx; linux-nfs@xxxxxxxxxxxxxxx; honey@xxxxxxxxxxxxxx
> Subject: RE: [PATCH v3 23/25] pnfsblock: use pageio_ops api
> 
> On Wed, 2011-07-27 at 22:27 -0400, tao.peng@xxxxxxx wrote:
> > > -----Original Message-----
> > > From: linux-nfs-owner@xxxxxxxxxxxxxxx
> [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx]
> > > On Behalf Of Trond Myklebust
> > > Sent: Thursday, July 28, 2011 4:15 AM
> > > To: Jim Rees
> > > Cc: linux-nfs@xxxxxxxxxxxxxxx; peter honeyman
> > > Subject: Re: [PATCH v3 23/25] pnfsblock: use pageio_ops api
> > >
> > > On Wed, 2011-07-27 at 14:40 -0400, Jim Rees wrote:
> > > > From: Benny Halevy <bhalevy@xxxxxxxxxxx>
> > > >
> > > > [pnfsblock: use pnfs_generic_pg_init_read/write]
> > > > Signed-off-by: Peng Tao <peng_tao@xxxxxxx>
> > > > Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx>
> > > > ---
> > > >  fs/nfs/blocklayout/blocklayout.c |   14 ++++++++++++++
> > > >  1 files changed, 14 insertions(+), 0 deletions(-)
> > > >
> > > > diff --git a/fs/nfs/blocklayout/blocklayout.c
> b/fs/nfs/blocklayout/blocklayout.c
> > > > index 22de05c..502d384 100644
> > > > --- a/fs/nfs/blocklayout/blocklayout.c
> > > > +++ b/fs/nfs/blocklayout/blocklayout.c
> > > > @@ -762,6 +762,18 @@ bl_clear_layoutdriver(struct nfs_server *server)
> > > >  	return 0;
> > > >  }
> > > >
> > > > +static const struct nfs_pageio_ops bl_pg_read_ops = {
> > > > +	.pg_init = pnfs_generic_pg_init_read,
> > > > +	.pg_test = pnfs_generic_pg_test,
> > > > +	.pg_doio = pnfs_generic_pg_readpages,
> > > > +};
> > > > +
> > > > +static const struct nfs_pageio_ops bl_pg_write_ops = {
> > > > +	.pg_init = pnfs_generic_pg_init_write,
> > > > +	.pg_test = pnfs_generic_pg_test,
> > > > +	.pg_doio = pnfs_generic_pg_writepages,
> > > > +};
> > > > +
> > > >  static struct pnfs_layoutdriver_type blocklayout_type = {
> > > >  	.id				= LAYOUT_BLOCK_VOLUME,
> > > >  	.name				= "LAYOUT_BLOCK_VOLUME",
> > > > @@ -775,6 +787,8 @@ static struct pnfs_layoutdriver_type blocklayout_type
> = {
> > > >  	.cleanup_layoutcommit		= bl_cleanup_layoutcommit,
> > > >  	.set_layoutdriver		= bl_set_layoutdriver,
> > > >  	.clear_layoutdriver		= bl_clear_layoutdriver,
> > > > +	.pg_read_ops			= &bl_pg_read_ops,
> > > > +	.pg_write_ops			= &bl_pg_write_ops,
> > > >  };
> > > >
> > > How did this work previously?
> > block layout used to use .pg_test interface in pnfs_layoutdriver_type but it got
> removed in the 3.0 merge window.
> 
> Right, but won't the entire blocks interface blow up in your face until
> you merge this patch? If it just falls back to write through MDS, then
> I'm fine, but my worry is that someone who git bisects in order to track
> down a patch may end up seeing new panics due to the lack of a
> well-defined struct nfs_pageio_ops in blocks.
I see your point. We will move this patch to earlier place so it doesn't break bisect.

Thanks,
Tao

> 
> Cheers
>   Trond
> 
> --
> Trond Myklebust
> Linux NFS client maintainer
> 
> NetApp
> Trond.Myklebust@xxxxxxxxxx
> www.netapp.com
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux