diff options
author | Tejun Heo <tj@kernel.org> | 2011-12-13 18:33:38 -0500 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2011-12-13 18:33:38 -0500 |
commit | 09ac46c429464c919d04bb737b27edd84d944f02 (patch) | |
tree | 0fb3b7344ead06d08dbd77470445821817c439b7 /block | |
parent | 6e736be7f282fff705db7c34a15313281b372a76 (diff) |
block: misc updates to blk_get_queue()
* blk_get_queue() is peculiar in that it returns 0 on success and 1 on
failure instead of 0 / -errno or boolean. Update it such that it
returns %true on success and %false on failure.
* Make sure the caller checks for the return value.
* Separate out __blk_get_queue() which doesn't check whether @q is
dead and put it in blk.h. This will be used later.
This patch doesn't introduce any functional changes.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-core.c | 8 | ||||
-rw-r--r-- | block/blk.h | 5 | ||||
-rw-r--r-- | block/bsg.c | 4 | ||||
-rw-r--r-- | block/genhd.c | 2 |
4 files changed, 11 insertions, 8 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index af7301581172..fd4749391e17 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -626,14 +626,14 @@ blk_init_allocated_queue_node(struct request_queue *q, request_fn_proc *rfn, | |||
626 | } | 626 | } |
627 | EXPORT_SYMBOL(blk_init_allocated_queue_node); | 627 | EXPORT_SYMBOL(blk_init_allocated_queue_node); |
628 | 628 | ||
629 | int blk_get_queue(struct request_queue *q) | 629 | bool blk_get_queue(struct request_queue *q) |
630 | { | 630 | { |
631 | if (likely(!blk_queue_dead(q))) { | 631 | if (likely(!blk_queue_dead(q))) { |
632 | kobject_get(&q->kobj); | 632 | __blk_get_queue(q); |
633 | return 0; | 633 | return true; |
634 | } | 634 | } |
635 | 635 | ||
636 | return 1; | 636 | return false; |
637 | } | 637 | } |
638 | EXPORT_SYMBOL(blk_get_queue); | 638 | EXPORT_SYMBOL(blk_get_queue); |
639 | 639 | ||
diff --git a/block/blk.h b/block/blk.h index fc3c41b2fd24..8d421156fefb 100644 --- a/block/blk.h +++ b/block/blk.h | |||
@@ -13,6 +13,11 @@ extern struct kmem_cache *blk_requestq_cachep; | |||
13 | extern struct kobj_type blk_queue_ktype; | 13 | extern struct kobj_type blk_queue_ktype; |
14 | extern struct ida blk_queue_ida; | 14 | extern struct ida blk_queue_ida; |
15 | 15 | ||
16 | static inline void __blk_get_queue(struct request_queue *q) | ||
17 | { | ||
18 | kobject_get(&q->kobj); | ||
19 | } | ||
20 | |||
16 | void init_request_from_bio(struct request *req, struct bio *bio); | 21 | void init_request_from_bio(struct request *req, struct bio *bio); |
17 | void blk_rq_bio_prep(struct request_queue *q, struct request *rq, | 22 | void blk_rq_bio_prep(struct request_queue *q, struct request *rq, |
18 | struct bio *bio); | 23 | struct bio *bio); |
diff --git a/block/bsg.c b/block/bsg.c index 702f1316bb8f..167d586cece6 100644 --- a/block/bsg.c +++ b/block/bsg.c | |||
@@ -769,12 +769,10 @@ static struct bsg_device *bsg_add_device(struct inode *inode, | |||
769 | struct file *file) | 769 | struct file *file) |
770 | { | 770 | { |
771 | struct bsg_device *bd; | 771 | struct bsg_device *bd; |
772 | int ret; | ||
773 | #ifdef BSG_DEBUG | 772 | #ifdef BSG_DEBUG |
774 | unsigned char buf[32]; | 773 | unsigned char buf[32]; |
775 | #endif | 774 | #endif |
776 | ret = blk_get_queue(rq); | 775 | if (!blk_get_queue(rq)) |
777 | if (ret) | ||
778 | return ERR_PTR(-ENXIO); | 776 | return ERR_PTR(-ENXIO); |
779 | 777 | ||
780 | bd = bsg_alloc_device(); | 778 | bd = bsg_alloc_device(); |
diff --git a/block/genhd.c b/block/genhd.c index 02e9fca80825..c958169d24f0 100644 --- a/block/genhd.c +++ b/block/genhd.c | |||
@@ -615,7 +615,7 @@ void add_disk(struct gendisk *disk) | |||
615 | * Take an extra ref on queue which will be put on disk_release() | 615 | * Take an extra ref on queue which will be put on disk_release() |
616 | * so that it sticks around as long as @disk is there. | 616 | * so that it sticks around as long as @disk is there. |
617 | */ | 617 | */ |
618 | WARN_ON_ONCE(blk_get_queue(disk->queue)); | 618 | WARN_ON_ONCE(!blk_get_queue(disk->queue)); |
619 | 619 | ||
620 | retval = sysfs_create_link(&disk_to_dev(disk)->kobj, &bdi->dev->kobj, | 620 | retval = sysfs_create_link(&disk_to_dev(disk)->kobj, &bdi->dev->kobj, |
621 | "bdi"); | 621 | "bdi"); |