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

Re: [Xen-devel] Re: [PATCH] xen/blkback: add xen-blkback support



On Mon, 2011-04-18 at 14:12 -0400, Konrad Rzeszutek Wilk wrote:
> Talk about self-review :-)
> 
> > index 90f22cc..9b60e69 100644
> > --- a/block/blk-core.c
> > +++ b/block/blk-core.c
> > @@ -351,6 +351,7 @@ void blk_put_queue(struct request_queue *q)
> >  {
> >     kobject_put(&q->kobj);
> >  }
> > +EXPORT_SYMBOL_GPL(blk_put_queue);
> >  
> >  /*
> >   * Note: If a driver supplied the queue lock, it should not zap that lock
> > @@ -572,6 +573,7 @@ int blk_get_queue(struct request_queue *q)
> >  
> >     return 1;
> >  }
> > +EXPORT_SYMBOL_GPL(blk_get_queue);
> >
> 
> .. snip..
> > +static void dispatch_rw_block_io(struct blkif_st *blkif,
> .. snip..
> > +   struct request_queue *q;
> 
> .. snip
> 
> > +   q = bdev_get_queue(preq.bdev);
> > +   if (!q)
> > +           goto fail_response;
> .. snip..
> > +   /* Get a reference count for the disk queue and start sending I/O */
> > +   blk_get_queue(q);
> > +   blk_start_plug(&plug);
> > +
> > +   for (i = 0; i < nbio; i++)
> > +           submit_bio(operation, biolist[i]);
> > +
> > +   blk_finish_plug(&plug);
> > +   /* Let the I/Os go.. */
> > +   blk_put_queue(q);
> 
> Hmm, let me remove those get/puts. They are actually not necessary as we
> already hold a reference count when we opened the device.

Ack. I never noticed these weren't exported. 

But bdev_get_queue is not an addref, just an accessor macro, as you're
probably aware of. 

But get/put is normally managed entirely in block/ and implied by the
request and bdev interfaces.

Cheers,
Daniel





_______________________________________________
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®.