|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|