summaryrefslogtreecommitdiff
path: root/fs/bio.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-19 01:38:20 +0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-19 01:38:20 +0400
commitc592c761a36286ab83451daa37a21c8558ea99c0 (patch)
tree8abf57708fabf2a915320e9515b1ae2730ebf499 /fs/bio.c
parent63236f4038f7e14762114606d95769c32cf6cac1 (diff)
parent33499df88b711725ee473ab5478e17efd21de4b0 (diff)
downloadlinux-c592c761a36286ab83451daa37a21c8558ea99c0.tar.xz
Merge remote-tracking branch 'regulator/topic/stub' into regulator-next
Diffstat (limited to 'fs/bio.c')
-rw-r--r--fs/bio.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/bio.c b/fs/bio.c
index b1fe82cf88cf..b980ecde026a 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -505,13 +505,9 @@ EXPORT_SYMBOL(bio_clone);
int bio_get_nr_vecs(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);
- int nr_pages;
-
- nr_pages = ((queue_max_sectors(q) << 9) + PAGE_SIZE - 1) >> PAGE_SHIFT;
- if (nr_pages > queue_max_segments(q))
- nr_pages = queue_max_segments(q);
-
- return nr_pages;
+ return min_t(unsigned,
+ queue_max_segments(q),
+ queue_max_sectors(q) / (PAGE_SIZE >> 9) + 1);
}
EXPORT_SYMBOL(bio_get_nr_vecs);