Defined in 1 files as a function:
Referenced in 10 files:
- block/blk-core.c, line 833
- block/blk-crypto.c, line 258
- block/blk-merge.c
- drivers/md/dm-flakey.c, line 509
- drivers/md/dm-inlinecrypt.c, line 465
- drivers/md/dm-raid.c, line 3354
- drivers/md/raid1.c, line 1255
- drivers/nvdimm/pmem.c, line 220
- include/linux/bio.h, line 88
- include/linux/blk-mq.h, line 1135
Smatch caller information:
drivers/nvdimm/pmem.c pmem_submit_bio() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| BUF_SIZE | 0 | bio | (-1)-0,4,24,32,64,144-s32max |
| BUF_SIZE | 0 | bio | (-1)-0,4,24,32,64,144-s32max |
| BUF_SIZE | 0 | bio->bi_pool | (-1),624 |
| BUF_SIZE | 0 | bio->bi_private | (-1)-s32max |
| DATA_SOURCE | 0 | bio | $0 |
| STR_LEN | 0 | bio->bi_private | (-1),8,11-12,14,17,19-20,23,26-27,29,31-32 |
| BIT_INFO | 0 | bio->bi_opf | 0x0,0xffffffff |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| NOSPEC | 0 | bio->bi_next->bi_iter.bi_sector | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| HOST_DATA | 0 | bio->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-u64max |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_ioprio | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_next->bi_max_vecs | 0-256[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_io_vec | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_next->bi_iter.bi_sector | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_max_vecs | |
| HALF_LOCKED2 | 0 | &bio->bi_bdev->bd_queue->queue_lock |
drivers/block/floppy.c blk_rq_cur_bytes() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 1-u64max |
| UNITS | 0 | bio | unit_jiffy |
| HALF_LOCKED2 | &pool->lock |
block/blk-crypto.c __blk_crypto_submit_bio() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| BUF_SIZE | 0 | bio | (-1),144 |
| BUF_SIZE | 0 | bio | (-1),144 |
| BUF_SIZE | 0 | bio->bi_private | (-1)-s32max |
| DATA_SOURCE | 0 | bio | $0 |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_iter.bi_size | 1-u32max[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-36028797018963967[c] |
| USER_DATA | 0 | bio->bi_iter.bi_size | 1-u32max |
| USER_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_next->bi_ioprio | 0-u16max[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_next->bi_max_vecs | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| HALF_LOCKED2 | &md->io_barrier |
block/blk-mq.c blk_rq_cur_bytes() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 1-u64max |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_iter.bi_sector | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_max_vecs | |
| UNITS | 0 | bio | unit_jiffy |
drivers/memstick/core/mspro_block.c blk_rq_cur_bytes() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | bio | unit_jiffy |
| LOCK2 | &msb->q_lock | ||
| TYPE_LOCK | (struct mspro_block_data)->q_lock |
block/blk-core.c submit_bio_noacct() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| BUF_SIZE | 0 | bio | (-1)-0,4,24,32,64,144-s32max |
| BUF_SIZE | 0 | bio | (-1)-0,4,24,32,64,144-s32max |
| BUF_SIZE | 0 | bio->bi_pool | (-1),624 |
| BUF_SIZE | 0 | bio->bi_private | (-1)-s32max |
| DATA_SOURCE | 0 | bio | $0 |
| STR_LEN | 0 | bio->bi_private | (-1),8,11-12,14,17,19-20,23,26-27,29,31-32 |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-u64max |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_ioprio | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_max_vecs | 0-256[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_next->bi_iter.bi_sector | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_max_vecs | |
| UNITS | 0 | bio | unit_jiffy |
| HALF_LOCKED2 | &head->srcu | ||
| HALF_LOCKED2 | &md->io_barrier | ||
| HALF_LOCKED2 | 0 | &bio->bi_bdev->bd_queue->queue_lock |
block/blk-merge.c bio_seg_gap() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | bio | (-1)-0,4,24,32,64,144-s32max |
| BUF_SIZE | 0 | bio | (-1)-0,4,24,32,64,144-s32max |
| DATA_SOURCE | 0 | bio | $1 |
| STR_LEN | 0 | bio->bi_private | (-1) |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| NOSPEC | 0 | bio->bi_next->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_next->bi_iter.bi_size | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-18446744073709551614 |
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 1-u32max[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| HOST_DATA | 0 | bio->bi_next->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_next->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | bio->bi_next->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 1-u32max |
| USER_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_next->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | bio->bi_next->bi_max_vecs | 0-u16max[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_max_vecs | |
| UNITS | 0 | bio | unit_jiffy |
| HALF_LOCKED2 | 0 | &bio->bi_bdev->bd_queue->queue_lock |
block/blk-merge.c bio_will_gap() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | bio | (-1)-0,32,144-16528 |
| BUF_SIZE | 0 | bio | (-1)-0,32,144-16528 |
| DATA_SOURCE | 0 | bio | $2 |
| STR_LEN | 0 | bio->bi_private | (-1) |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| NOSPEC | 0 | bio->bi_next->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_next->bi_iter.bi_size | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-s32max[c] |
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| HOST_DATA | 0 | bio->bi_next->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_next->bi_iter.bi_size | 1024-4294966272[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | bio->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_next->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | bio->bi_next->bi_max_vecs | 0-1024[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_max_vecs | |
| UNITS | 0 | bio | unit_jiffy |
| HALF_LOCKED2 | 0 | &bio->bi_bdev->bd_queue->queue_lock |
drivers/mtd/mtd_blkdevs.c blk_rq_cur_bytes() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | bio | unit_jiffy |
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/md/raid1.c alloc_behind_master_bio() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| PARAM_VALUE | 0 | bio->bi_iter.bi_size | 1-u32max |
| PARAM_VALUE | 0 | bio->bi_opf | 0,65536-u32max |
| DATA_SOURCE | 0 | bio | $1 |
| STR_LEN | 0 | bio->bi_private | (-1) |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_bdev->bd_queue->last_merge->__sector | 0-18446744073709551614 |
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 512-4294966272[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 512-4294966272[c] |
| USER_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_next->bi_ioprio | 0-u16max[c] |
| USER_DATA | 0 | bio->bi_next->bi_max_vecs | 0-256[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->queue_hw_ctx | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_bdev->bd_disk->queue->stats | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_next->bi_iter.bi_sector | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_next->bi_max_vecs | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bio.bi_max_vecs | |
| HALF_LOCKED2 | &md->io_barrier | ||
| HALF_LOCKED2 | 0 | &bio->bi_bdev->bd_queue->queue_lock |
drivers/md/dm-raid.c raid_map() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| BUF_SIZE | 0 | bio | (-1),144 |
| BUF_SIZE | 0 | bio | (-1),144 |
| DATA_SOURCE | 0 | bio | $1 |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0 |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0 |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0 |
| USER_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| LOCK2 | &md->io_barrier | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->swap_bios_semaphore | ||
| TYPE_LOCK | (struct mapped_device)->io_barrier |
drivers/md/dm-inlinecrypt.c inlinecrypt_map() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| BUF_SIZE | 0 | bio | (-1),144 |
| BUF_SIZE | 0 | bio | (-1),144 |
| DATA_SOURCE | 0 | bio | $1 |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0 |
| USER_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| LOCK2 | &md->io_barrier | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->swap_bios_semaphore | ||
| TYPE_LOCK | (struct mapped_device)->io_barrier |
drivers/md/dm-flakey.c flakey_map() -> bio_has_data()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | bio | 4096-ptr_max |
| BUF_SIZE | 0 | bio | (-1),144 |
| BUF_SIZE | 0 | bio | (-1),144 |
| DATA_SOURCE | 0 | bio | $1 |
| NOSPEC | 0 | bio->bi_iter.bi_sector | |
| NOSPEC | 0 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | bio->bi_iter.bi_sector | 0 |
| HOST_DATA | 0 | bio->bi_iter.bi_size | 0[c] |
| HOST_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | bio->bi_iter.bi_sector | 0 |
| USER_DATA | 0 | bio->bi_iter.bi_size | 0 |
| USER_DATA | 0 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | bio->bi_pool->bvec_pool.min_nr | |
| LOCK2 | &md->io_barrier | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->swap_bios_semaphore | ||
| TYPE_LOCK | (struct mapped_device)->io_barrier |