mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
for-4.17/block-20180402
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJawr05AAoJEPfTWPspceCmT2UP/1uuaqwzyl4VjFNb/k7KS7UM
+Cs/1HBlGomgMA8orDTGqtWqLRdR3z4RSh0+MvXTzQ78HpFVYz7CbDc9itHm+G9M
X0ypD4kF/JGCFb5cxk+x6qv28uO2nv4DP3+0hHqJWLH4UVJBWDY6bs4BPShsf9QB
I6XjioNMhoqylXgdOITLODJZz+TcChlJMDAqwhpJwh9TH1wjobleAZ6AdmCPfgi5
h0UCKMUKzcVJlNZwQUrzrs2cxcx9Uhunnbz7HK0ZV4n/FKFtDpGynFpQQ71pZxKe
Be0ZOBPCQvC3ykOM/egCIvC/e5y7FgrjORD6jxyu1PTwAugI5E1VYSMxHkXvgPAx
zOo9A7RT4GPO2tDQv+DbzNFpqeSAclTgSmr+/y1wmheBs8DiSt7MPVBiNM4zdCNv
NLk9z7IEjFhdmluSB/LbTb1aokypMb/q7QTLouPHdwGn80k7yrhFyLHgdjpNTQ2K
UHfHZvGxkOX6SmFhBNOtIFUkuSceenh64a0RkRle7filx+ImpbCVm2/GYi9zZNCu
EtctgzLbLmz40zMiyDaZS2bxBgGzfn6yf4xd9LsaAJPMhvZnmXogT0D9ctWXB0WU
mMaS7sOkLnNjnGkzF1fHkeiZ/oigrstJbe+CA7BtOdwxpWn6MZBgKEoFQ6iA2b3X
5J1axMgVH5LAsIEcEQVq
=RVhK
-----END PGP SIGNATURE-----
Merge tag 'for-4.17/block-20180402' of git://git.kernel.dk/linux-block
Pull block layer updates from Jens Axboe:
"It's a pretty quiet round this time, which is nice. This contains:
- series from Bart, cleaning up the way we set/test/clear atomic
queue flags.
- series from Bart, fixing races between gendisk and queue
registration and removal.
- set of bcache fixes and improvements from various folks, by way of
Michael Lyle.
- set of lightnvm updates from Matias, most of it being the 1.2 to
2.0 transition.
- removal of unused DIO flags from Nikolay.
- blk-mq/sbitmap memory ordering fixes from Omar.
- divide-by-zero fix for BFQ from Paolo.
- minor documentation patches from Randy.
- timeout fix from Tejun.
- Alpha "can't write a char atomically" fix from Mikulas.
- set of NVMe fixes by way of Keith.
- bsg and bsg-lib improvements from Christoph.
- a few sed-opal fixes from Jonas.
- cdrom check-disk-change deadlock fix from Maurizio.
- various little fixes, comment fixes, etc from various folks"
* tag 'for-4.17/block-20180402' of git://git.kernel.dk/linux-block: (139 commits)
blk-mq: Directly schedule q->timeout_work when aborting a request
blktrace: fix comment in blktrace_api.h
lightnvm: remove function name in strings
lightnvm: pblk: remove some unnecessary NULL checks
lightnvm: pblk: don't recover unwritten lines
lightnvm: pblk: implement 2.0 support
lightnvm: pblk: implement get log report chunk
lightnvm: pblk: rename ppaf* to addrf*
lightnvm: pblk: check for supported version
lightnvm: implement get log report chunk helpers
lightnvm: make address conversions depend on generic device
lightnvm: add support for 2.0 address format
lightnvm: normalize geometry nomenclature
lightnvm: complete geo structure with maxoc*
lightnvm: add shorten OCSSD version in geo
lightnvm: add minor version to generic geometry
lightnvm: simplify geometry structure
lightnvm: pblk: refactor init/exit sequences
lightnvm: Avoid validation of default op value
lightnvm: centralize permission check for lightnvm ioctl
...
This commit is contained in:
commit
3526dd0c78
148 changed files with 4266 additions and 2060 deletions
|
|
@ -178,9 +178,6 @@
|
|||
#define MSG_SIZE 34 /* size of message structure */
|
||||
#define MSG_REQUEST 0 /* async. event: message */
|
||||
|
||||
/* cacheservice defines */
|
||||
#define SECTOR_SIZE 0x200 /* always 512 bytes per sec. */
|
||||
|
||||
/* DPMEM constants */
|
||||
#define DPMEM_MAGIC 0xC0FFEE11
|
||||
#define IC_HEADER_BYTES 48
|
||||
|
|
|
|||
|
|
@ -949,7 +949,7 @@ static umode_t iscsi_sw_tcp_attr_is_visible(int param_type, int param)
|
|||
|
||||
static int iscsi_sw_tcp_slave_alloc(struct scsi_device *sdev)
|
||||
{
|
||||
set_bit(QUEUE_FLAG_BIDI, &sdev->request_queue->queue_flags);
|
||||
blk_queue_flag_set(QUEUE_FLAG_BIDI, sdev->request_queue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1864,7 +1864,7 @@ megasas_set_nvme_device_properties(struct scsi_device *sdev, u32 max_io_size)
|
|||
|
||||
blk_queue_max_hw_sectors(sdev->request_queue, (max_io_size / 512));
|
||||
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_NOMERGES, sdev->request_queue);
|
||||
blk_queue_flag_set(QUEUE_FLAG_NOMERGES, sdev->request_queue);
|
||||
blk_queue_virt_boundary(sdev->request_queue, mr_nvme_pg_size - 1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1894,7 +1894,7 @@ megasas_is_prp_possible(struct megasas_instance *instance,
|
|||
* then sending IOs with holes.
|
||||
*
|
||||
* Though driver can request block layer to disable IO merging by calling-
|
||||
* queue_flag_set_unlocked(QUEUE_FLAG_NOMERGES, sdev->request_queue) but
|
||||
* blk_queue_flag_set(QUEUE_FLAG_NOMERGES, sdev->request_queue) but
|
||||
* user may tune sysfs parameter- nomerges again to 0 or 1.
|
||||
*
|
||||
* If in future IO scheduling is enabled with SCSI BLK MQ,
|
||||
|
|
|
|||
|
|
@ -2352,7 +2352,7 @@ scsih_slave_configure(struct scsi_device *sdev)
|
|||
** merged and can eliminate holes created during merging
|
||||
** operation.
|
||||
**/
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_NOMERGES,
|
||||
blk_queue_flag_set(QUEUE_FLAG_NOMERGES,
|
||||
sdev->request_queue);
|
||||
blk_queue_virt_boundary(sdev->request_queue,
|
||||
ioc->page_size - 1);
|
||||
|
|
|
|||
|
|
@ -6830,7 +6830,7 @@ static int qla2xxx_map_queues(struct Scsi_Host *shost)
|
|||
if (USER_CTRL_IRQ(vha->hw))
|
||||
rc = blk_mq_map_queues(&shost->tag_set);
|
||||
else
|
||||
rc = blk_mq_pci_map_queues(&shost->tag_set, vha->hw->pdev);
|
||||
rc = blk_mq_pci_map_queues(&shost->tag_set, vha->hw->pdev, 0);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3897,7 +3897,7 @@ static int scsi_debug_slave_alloc(struct scsi_device *sdp)
|
|||
if (sdebug_verbose)
|
||||
pr_info("slave_alloc <%u %u %u %llu>\n",
|
||||
sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_BIDI, sdp->request_queue);
|
||||
blk_queue_flag_set(QUEUE_FLAG_BIDI, sdp->request_queue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2144,8 +2144,6 @@ void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q)
|
|||
{
|
||||
struct device *dev = shost->dma_dev;
|
||||
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q);
|
||||
|
||||
/*
|
||||
* this limit is imposed by hardware restrictions
|
||||
*/
|
||||
|
|
@ -2227,7 +2225,7 @@ struct request_queue *scsi_old_alloc_queue(struct scsi_device *sdev)
|
|||
struct Scsi_Host *shost = sdev->host;
|
||||
struct request_queue *q;
|
||||
|
||||
q = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE);
|
||||
q = blk_alloc_queue_node(GFP_KERNEL, NUMA_NO_NODE, NULL);
|
||||
if (!q)
|
||||
return NULL;
|
||||
q->cmd_size = sizeof(struct scsi_cmnd) + shost->hostt->cmd_size;
|
||||
|
|
@ -2243,6 +2241,7 @@ struct request_queue *scsi_old_alloc_queue(struct scsi_device *sdev)
|
|||
}
|
||||
|
||||
__scsi_init_queue(shost, q);
|
||||
blk_queue_flag_set(QUEUE_FLAG_SCSI_PASSTHROUGH, q);
|
||||
blk_queue_prep_rq(q, scsi_prep_fn);
|
||||
blk_queue_unprep_rq(q, scsi_unprep_fn);
|
||||
blk_queue_softirq_done(q, scsi_softirq_done);
|
||||
|
|
@ -2274,6 +2273,7 @@ struct request_queue *scsi_mq_alloc_queue(struct scsi_device *sdev)
|
|||
|
||||
sdev->request_queue->queuedata = sdev;
|
||||
__scsi_init_queue(sdev->host, sdev->request_queue);
|
||||
blk_queue_flag_set(QUEUE_FLAG_SCSI_PASSTHROUGH, sdev->request_queue);
|
||||
return sdev->request_queue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1292,8 +1292,7 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
|
|||
transport_add_device(&sdev->sdev_gendev);
|
||||
sdev->is_visible = 1;
|
||||
|
||||
error = bsg_register_queue(rq, &sdev->sdev_gendev, NULL, NULL);
|
||||
|
||||
error = bsg_scsi_register_queue(rq, &sdev->sdev_gendev);
|
||||
if (error)
|
||||
/* we're treating error on bsg register as non-fatal,
|
||||
* so pretend nothing went wrong */
|
||||
|
|
|
|||
|
|
@ -227,8 +227,7 @@ static int sas_bsg_initialize(struct Scsi_Host *shost, struct sas_rphy *rphy)
|
|||
* by default assume old behaviour and bounce for any highmem page
|
||||
*/
|
||||
blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_BIDI, q);
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_SCSI_PASSTHROUGH, q);
|
||||
blk_queue_flag_set(QUEUE_FLAG_BIDI, q);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -714,7 +714,7 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
|
|||
case SD_LBP_FULL:
|
||||
case SD_LBP_DISABLE:
|
||||
blk_queue_max_discard_sectors(q, 0);
|
||||
queue_flag_clear_unlocked(QUEUE_FLAG_DISCARD, q);
|
||||
blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q);
|
||||
return;
|
||||
|
||||
case SD_LBP_UNMAP:
|
||||
|
|
@ -747,7 +747,7 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
|
|||
}
|
||||
|
||||
blk_queue_max_discard_sectors(q, max_blocks * (logical_block_size >> 9));
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, q);
|
||||
blk_queue_flag_set(QUEUE_FLAG_DISCARD, q);
|
||||
}
|
||||
|
||||
static int sd_setup_unmap_cmnd(struct scsi_cmnd *cmd)
|
||||
|
|
@ -2955,8 +2955,8 @@ static void sd_read_block_characteristics(struct scsi_disk *sdkp)
|
|||
rot = get_unaligned_be16(&buffer[4]);
|
||||
|
||||
if (rot == 1) {
|
||||
queue_flag_set_unlocked(QUEUE_FLAG_NONROT, q);
|
||||
queue_flag_clear_unlocked(QUEUE_FLAG_ADD_RANDOM, q);
|
||||
blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
|
||||
blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, q);
|
||||
}
|
||||
|
||||
if (sdkp->device->type == TYPE_ZBC) {
|
||||
|
|
|
|||
|
|
@ -5348,7 +5348,7 @@ static int pqi_map_queues(struct Scsi_Host *shost)
|
|||
{
|
||||
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
|
||||
|
||||
return blk_mq_pci_map_queues(&shost->tag_set, ctrl_info->pci_dev);
|
||||
return blk_mq_pci_map_queues(&shost->tag_set, ctrl_info->pci_dev, 0);
|
||||
}
|
||||
|
||||
static int pqi_getpciinfo_ioctl(struct pqi_ctrl_info *ctrl_info,
|
||||
|
|
|
|||
|
|
@ -525,6 +525,8 @@ static int sr_block_open(struct block_device *bdev, fmode_t mode)
|
|||
struct scsi_cd *cd;
|
||||
int ret = -ENXIO;
|
||||
|
||||
check_disk_change(bdev);
|
||||
|
||||
mutex_lock(&sr_mutex);
|
||||
cd = scsi_cd_get(bdev->bd_disk);
|
||||
if (cd) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue