]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/scsi/scsi_device.h
Merge branch 'for-linus-4.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / include / scsi / scsi_device.h
index 05641aebd1811f5141b2bdf63a0f1d82cdace9c1..0979a5f3b69a30ce384db82728fb28ad6a136a6d 100644 (file)
@@ -176,12 +176,12 @@ struct scsi_device {
        unsigned no_read_disc_info:1;   /* Avoid READ_DISC_INFO cmds */
        unsigned no_read_capacity_16:1; /* Avoid READ_CAPACITY_16 cmds */
        unsigned try_rc_10_first:1;     /* Try READ_CAPACACITY_10 first */
+       unsigned security_supported:1;  /* Supports Security Protocols */
        unsigned is_visible:1;  /* is the device visible in sysfs */
        unsigned wce_default_on:1;      /* Cache is ON by default */
        unsigned no_dif:1;      /* T10 PI (DIF) should be disabled */
        unsigned broken_fua:1;          /* Don't set FUA bit */
        unsigned lun_in_cdb:1;          /* Store LUN bits in CDB[1] */
-       unsigned synchronous_alua:1;    /* Synchronous ALUA commands */
 
        atomic_t disk_events_disable_depth; /* disable depth for disk events */
 
@@ -207,6 +207,7 @@ struct scsi_device {
        void                    *handler_data;
 
        unsigned char           access_state;
+       struct mutex            state_mutex;
        enum scsi_device_state sdev_state;
        unsigned long           sdev_data[0];
 } __attribute__((aligned(sizeof(unsigned long))));
@@ -248,6 +249,7 @@ enum scsi_target_state {
        STARGET_CREATED = 1,
        STARGET_RUNNING,
        STARGET_REMOVE,
+       STARGET_CREATED_REMOVE,
        STARGET_DEL,
 };
 
@@ -472,9 +474,9 @@ static inline int scsi_device_created(struct scsi_device *sdev)
                sdev->sdev_state == SDEV_CREATED_BLOCK;
 }
 
-int scsi_internal_device_block(struct scsi_device *sdev, bool wait);
-int scsi_internal_device_unblock(struct scsi_device *sdev,
-                                enum scsi_device_state new_state);
+int scsi_internal_device_block_nowait(struct scsi_device *sdev);
+int scsi_internal_device_unblock_nowait(struct scsi_device *sdev,
+                                       enum scsi_device_state new_state);
 
 /* accessor functions for the SCSI parameters */
 static inline int scsi_device_sync(struct scsi_device *sdev)