diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-14 11:07:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-14 11:07:02 -0400 |
commit | 4a319a490ca59a746b3d36768c0e29ee19832366 (patch) | |
tree | 41c34e68fdf2477aa9ae40d8c3d77cdec93f568b /include/linux | |
parent | f0094b28f3038936c1985be64dbe83f0e950b671 (diff) | |
parent | d97a86c170b4e432f76db072a827fe30b4d6f659 (diff) |
Merge branch 'for-3.17/core' of git://git.kernel.dk/linux-block
Pull block core bits from Jens Axboe:
"Small round this time, after the massive blk-mq dump for 3.16. This
pull request contains:
- Fixes for max_sectors overflow in ioctls from Akinoby Mita.
- Partition off-by-one bug fix in aix partitions from Dan Carpenter.
- Various small partition cleanups from Fabian Frederick.
- Fix for the block integrity code sometimes returning the wrong
vector count from Gu Zheng.
- Cleanup an re-org of the blk-mq queue enter/exit percpu counters
from Tejun. Dependent on the percpu pull for 3.17 (which was in
the block tree too), that you have already pulled in.
- A blkcg oops fix, also from Tejun"
* 'for-3.17/core' of git://git.kernel.dk/linux-block:
partitions: aix.c: off by one bug
blkcg: don't call into policy draining if root_blkg is already gone
Revert "bio: modify __bio_add_page() to accept pages that don't start a new segment"
bio: modify __bio_add_page() to accept pages that don't start a new segment
block: fix SG_[GS]ET_RESERVED_SIZE ioctl when max_sectors is huge
block: fix BLKSECTGET ioctl when max_sectors is greater than USHRT_MAX
block/partitions/efi.c: kerneldoc fixing
block/partitions/msdos.c: code clean-up
block/partitions/amiga.c: replace nolevel printk by pr_err
block/partitions/aix.c: replace count*size kzalloc by kcalloc
bio-integrity: add "bip_max_vcnt" into struct bio_integrity_payload
blk-mq: use percpu_ref for mq usage count
blk-mq: collapse __blk_mq_drain_queue() into blk_mq_freeze_queue()
blk-mq: decouble blk-mq freezing from generic bypassing
block, blk-mq: draining can't be skipped even if bypass_depth was non-zero
blk-mq: fix a memory ordering bug in blk_mq_queue_enter()
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/bio.h | 1 | ||||
-rw-r--r-- | include/linux/blkdev.h | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index d2633ee099d9..b39e5000ff58 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -308,6 +308,7 @@ struct bio_integrity_payload { | |||
308 | 308 | ||
309 | unsigned short bip_slab; /* slab the bip came from */ | 309 | unsigned short bip_slab; /* slab the bip came from */ |
310 | unsigned short bip_vcnt; /* # of integrity bio_vecs */ | 310 | unsigned short bip_vcnt; /* # of integrity bio_vecs */ |
311 | unsigned short bip_max_vcnt; /* integrity bio_vec slots */ | ||
311 | unsigned bip_owns_buf:1; /* should free bip_buf */ | 312 | unsigned bip_owns_buf:1; /* should free bip_buf */ |
312 | 313 | ||
313 | struct work_struct bip_work; /* I/O completion */ | 314 | struct work_struct bip_work; /* I/O completion */ |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 8699bcf5f099..518b46555b80 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/bsg.h> | 21 | #include <linux/bsg.h> |
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/rcupdate.h> | 23 | #include <linux/rcupdate.h> |
24 | #include <linux/percpu-refcount.h> | ||
24 | 25 | ||
25 | #include <asm/scatterlist.h> | 26 | #include <asm/scatterlist.h> |
26 | 27 | ||
@@ -470,6 +471,7 @@ struct request_queue { | |||
470 | struct mutex sysfs_lock; | 471 | struct mutex sysfs_lock; |
471 | 472 | ||
472 | int bypass_depth; | 473 | int bypass_depth; |
474 | int mq_freeze_depth; | ||
473 | 475 | ||
474 | #if defined(CONFIG_BLK_DEV_BSG) | 476 | #if defined(CONFIG_BLK_DEV_BSG) |
475 | bsg_job_fn *bsg_job_fn; | 477 | bsg_job_fn *bsg_job_fn; |
@@ -483,7 +485,7 @@ struct request_queue { | |||
483 | #endif | 485 | #endif |
484 | struct rcu_head rcu_head; | 486 | struct rcu_head rcu_head; |
485 | wait_queue_head_t mq_freeze_wq; | 487 | wait_queue_head_t mq_freeze_wq; |
486 | struct percpu_counter mq_usage_counter; | 488 | struct percpu_ref mq_usage_counter; |
487 | struct list_head all_q_node; | 489 | struct list_head all_q_node; |
488 | 490 | ||
489 | struct blk_mq_tag_set *tag_set; | 491 | struct blk_mq_tag_set *tag_set; |