aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/blkdev.h5
-rw-r--r--include/scsi/scsi_device.h5
-rw-r--r--include/scsi/scsi_host.h10
3 files changed, 15 insertions, 5 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 70ac2860a605..ef1afc178c0a 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -355,8 +355,11 @@ struct request_queue
355 unsigned long queue_flags; 355 unsigned long queue_flags;
356 356
357 /* 357 /*
358 * protects queue structures from reentrancy 358 * protects queue structures from reentrancy. ->__queue_lock should
359 * _never_ be used directly, it is queue private. always use
360 * ->queue_lock.
359 */ 361 */
362 spinlock_t __queue_lock;
360 spinlock_t *queue_lock; 363 spinlock_t *queue_lock;
361 364
362 /* 365 /*
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 07d974051b0c..c018020d9160 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -43,8 +43,9 @@ struct scsi_device {
43 struct list_head siblings; /* list of all devices on this host */ 43 struct list_head siblings; /* list of all devices on this host */
44 struct list_head same_target_siblings; /* just the devices sharing same target id */ 44 struct list_head same_target_siblings; /* just the devices sharing same target id */
45 45
46 volatile unsigned short device_busy; /* commands actually active on low-level */ 46 /* this is now protected by the request_queue->queue_lock */
47 spinlock_t sdev_lock; /* also the request queue_lock */ 47 unsigned int device_busy; /* commands actually active on
48 * low-level. protected by queue_lock. */
48 spinlock_t list_lock; 49 spinlock_t list_lock;
49 struct list_head cmd_list; /* queue of in use SCSI Command structures */ 50 struct list_head cmd_list; /* queue of in use SCSI Command structures */
50 struct list_head starved_entry; 51 struct list_head starved_entry;
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index 27f2c4e8943a..1cee1e100943 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -448,8 +448,14 @@ struct Scsi_Host {
448 wait_queue_head_t host_wait; 448 wait_queue_head_t host_wait;
449 struct scsi_host_template *hostt; 449 struct scsi_host_template *hostt;
450 struct scsi_transport_template *transportt; 450 struct scsi_transport_template *transportt;
451 volatile unsigned short host_busy; /* commands actually active on low-level */ 451
452 volatile unsigned short host_failed; /* commands that failed. */ 452 /*
453 * The following two fields are protected with host_lock;
454 * however, eh routines can safely access during eh processing
455 * without acquiring the lock.
456 */
457 unsigned int host_busy; /* commands actually active on low-level */
458 unsigned int host_failed; /* commands that failed. */
453 459
454 unsigned short host_no; /* Used for IOCTL_GET_IDLUN, /proc/scsi et al. */ 460 unsigned short host_no; /* Used for IOCTL_GET_IDLUN, /proc/scsi et al. */
455 int resetting; /* if set, it means that last_reset is a valid value */ 461 int resetting; /* if set, it means that last_reset is a valid value */