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

Re: [Xen-devel] Fwd: xentop reporting zero written sectors



On Tue, Oct 11, 2011 at 08:49:44AM +0100, Ian Campbell wrote:
> On Mon, 2011-10-10 at 17:31 +0100, Konrad Rzeszutek Wilk wrote:
> > On Mon, Oct 10, 2011 at 04:16:04PM +0100, Andy Burns wrote:
> > > No response in xen-users, asking developers ....
> > > 
> > > ---------- Forwarded message ----------
> > > 
> > > Just moving a chunk of files from one filesysstem on xvba to another
> > > on xvdb, and was monitoring with xentop as it was taking longer than
> > > expected.
> > > 
> > > The VBD_RD  and VBD_WR counters were both clocking-up as expected, as
> > > was the VBD_RSECT counter, but the VBD_WSECT counter was stuck on
> > > zero, I toggled on the individual VBD device counters and these showed
> > > the same (with the RD and WR counters correctly split between my
> > > source and destination disks)
> > 
> > Huh. Imagine that!
> > > 
> > > Is this a long standing "feature" that I've never noticed before or a
> > > problem that should be reported?
> > 
> > Must be a feature. We would never write code with bugs. Never :-)
> > 
> > I think this new "feature" below will fix it for you:
> > 
> > 
> > diff --git a/drivers/block/xen-blkback/blkback.c 
> > b/drivers/block/xen-blkback/blkback.c
> > index 0bd7143..3e2ca68 100644
> > --- a/drivers/block/xen-blkback/blkback.c
> > +++ b/drivers/block/xen-blkback/blkback.c
> > @@ -778,7 +778,7 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif,
> >  
> >     if (operation == READ)
> >             blkif->st_rd_sect += preq.nr_sects;
> > -   else if (operation == WRITE || operation == WRITE_FLUSH)
> > +   else if (operation == WRITE_ODIRECT || operation == WRITE_FLUSH)
> 
> Would it be sane to key this off req->operation and BLKIF_OP_* instead
> of first encoding them as block layer operations and then decoding back
> again? The use of operation here just seems to be adding a layer of
> indirection which we don't want or need.
> 
> Or maybe (operation & WRITE) instead of == ?

I am not really sure why we do all of those 'operation' thingies.

I think I will do a lookup function that will do the proper
lookup give it to the bio layer once it is required instead of doing
this ... extra work.

But lets do that in the next set of patches and just treat this
one as a bug-fix.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.