You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus
Conflicts: drivers/scsi/scsi_debug.c Agreed and tested resolution to a merge problem between a fix in scsi_debug and a driver update Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
@@ -1105,7 +1105,6 @@ int fc_eh_abort(struct scsi_cmnd *);
|
||||
int fc_eh_device_reset(struct scsi_cmnd *);
|
||||
int fc_eh_host_reset(struct scsi_cmnd *);
|
||||
int fc_slave_alloc(struct scsi_device *);
|
||||
int fc_change_queue_depth(struct scsi_device *, int qdepth, int reason);
|
||||
|
||||
/*
|
||||
* ELS/CT interface
|
||||
|
||||
@@ -378,8 +378,6 @@ struct iscsi_host {
|
||||
/*
|
||||
* scsi host template
|
||||
*/
|
||||
extern int iscsi_change_queue_depth(struct scsi_device *sdev, int depth,
|
||||
int reason);
|
||||
extern int iscsi_eh_abort(struct scsi_cmnd *sc);
|
||||
extern int iscsi_eh_recover_target(struct scsi_cmnd *sc);
|
||||
extern int iscsi_eh_session_reset(struct scsi_cmnd *sc);
|
||||
|
||||
+2
-15
@@ -365,12 +365,6 @@ struct asd_sas_phy {
|
||||
struct scsi_core {
|
||||
struct Scsi_Host *shost;
|
||||
|
||||
struct mutex task_queue_flush;
|
||||
spinlock_t task_queue_lock;
|
||||
struct list_head task_queue;
|
||||
int task_queue_size;
|
||||
|
||||
struct task_struct *queue_thread;
|
||||
};
|
||||
|
||||
struct sas_ha_event {
|
||||
@@ -422,9 +416,6 @@ struct sas_ha_struct {
|
||||
struct asd_sas_port **sas_port; /* array of valid pointers, must be set */
|
||||
int num_phys; /* must be set, gt 0, static */
|
||||
|
||||
/* The class calls this to send a task for execution. */
|
||||
int lldd_max_execute_num;
|
||||
int lldd_queue_size;
|
||||
int strict_wide_ports; /* both sas_addr and attached_sas_addr must match
|
||||
* their siblings when forming wide ports */
|
||||
|
||||
@@ -612,7 +603,6 @@ struct sas_ssp_task {
|
||||
|
||||
struct sas_task {
|
||||
struct domain_device *dev;
|
||||
struct list_head list;
|
||||
|
||||
spinlock_t task_state_lock;
|
||||
unsigned task_state_flags;
|
||||
@@ -665,8 +655,7 @@ struct sas_domain_function_template {
|
||||
int (*lldd_dev_found)(struct domain_device *);
|
||||
void (*lldd_dev_gone)(struct domain_device *);
|
||||
|
||||
int (*lldd_execute_task)(struct sas_task *, int num,
|
||||
gfp_t gfp_flags);
|
||||
int (*lldd_execute_task)(struct sas_task *, gfp_t gfp_flags);
|
||||
|
||||
/* Task Management Functions. Must be called from process context. */
|
||||
int (*lldd_abort_task)(struct sas_task *);
|
||||
@@ -700,12 +689,10 @@ extern void sas_suspend_ha(struct sas_ha_struct *sas_ha);
|
||||
int sas_set_phy_speed(struct sas_phy *phy,
|
||||
struct sas_phy_linkrates *rates);
|
||||
int sas_phy_reset(struct sas_phy *phy, int hard_reset);
|
||||
int sas_queue_up(struct sas_task *task);
|
||||
extern int sas_queuecommand(struct Scsi_Host * ,struct scsi_cmnd *);
|
||||
extern int sas_target_alloc(struct scsi_target *);
|
||||
extern int sas_slave_configure(struct scsi_device *);
|
||||
extern int sas_change_queue_depth(struct scsi_device *, int new_depth,
|
||||
int reason);
|
||||
extern int sas_change_queue_depth(struct scsi_device *, int new_depth);
|
||||
extern int sas_change_queue_type(struct scsi_device *, int qt);
|
||||
extern int sas_bios_param(struct scsi_device *,
|
||||
struct block_device *,
|
||||
|
||||
@@ -380,7 +380,7 @@ extern struct scsi_device *__scsi_iterate_devices(struct Scsi_Host *,
|
||||
#define __shost_for_each_device(sdev, shost) \
|
||||
list_for_each_entry((sdev), &((shost)->__devices), siblings)
|
||||
|
||||
extern void scsi_adjust_queue_depth(struct scsi_device *, int);
|
||||
extern int scsi_change_queue_depth(struct scsi_device *, int);
|
||||
extern int scsi_track_queue_full(struct scsi_device *, int);
|
||||
|
||||
extern int scsi_set_medium_removal(struct scsi_device *, char);
|
||||
|
||||
@@ -46,12 +46,6 @@ struct blk_queue_tags;
|
||||
#define DISABLE_CLUSTERING 0
|
||||
#define ENABLE_CLUSTERING 1
|
||||
|
||||
enum {
|
||||
SCSI_QDEPTH_DEFAULT, /* default requested change, e.g. from sysfs */
|
||||
SCSI_QDEPTH_QFULL, /* scsi-ml requested due to queue full */
|
||||
SCSI_QDEPTH_RAMP_UP, /* scsi-ml requested due to threshold event */
|
||||
};
|
||||
|
||||
struct scsi_host_template {
|
||||
struct module *module;
|
||||
const char *name;
|
||||
@@ -195,7 +189,7 @@ struct scsi_host_template {
|
||||
* Things currently recommended to be handled at this time include:
|
||||
*
|
||||
* 1. Setting the device queue depth. Proper setting of this is
|
||||
* described in the comments for scsi_adjust_queue_depth.
|
||||
* described in the comments for scsi_change_queue_depth.
|
||||
* 2. Determining if the device supports the various synchronous
|
||||
* negotiation protocols. The device struct will already have
|
||||
* responded to INQUIRY and the results of the standard items
|
||||
@@ -281,7 +275,7 @@ struct scsi_host_template {
|
||||
*
|
||||
* Status: OPTIONAL
|
||||
*/
|
||||
int (* change_queue_depth)(struct scsi_device *, int, int);
|
||||
int (* change_queue_depth)(struct scsi_device *, int);
|
||||
|
||||
/*
|
||||
* Fill in this function to allow the changing of tag types
|
||||
@@ -426,6 +420,11 @@ struct scsi_host_template {
|
||||
*/
|
||||
unsigned use_blk_tags:1;
|
||||
|
||||
/*
|
||||
* Track QUEUE_FULL events and reduce queue depth on demand.
|
||||
*/
|
||||
unsigned track_queue_depth:1;
|
||||
|
||||
/*
|
||||
* This specifies the mode that a LLD supports.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user