forked from mirrors/linux
		
	scsi: Use 'blist_flags_t' for scsi_devinfo flags
As per recommendation from Linus we should be using a distinct type for blacklist flags. [mkp: was cut against an older kernel, applied by hand] Signed-off-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
		
							parent
							
								
									faae19be80
								
							
						
					
					
						commit
						5ebde4694e
					
				
					 5 changed files with 46 additions and 43 deletions
				
			
		|  | @ -22,7 +22,7 @@ struct scsi_dev_info_list { | ||||||
| 	struct list_head dev_info_list; | 	struct list_head dev_info_list; | ||||||
| 	char vendor[8]; | 	char vendor[8]; | ||||||
| 	char model[16]; | 	char model[16]; | ||||||
| 	unsigned flags; | 	blist_flags_t flags; | ||||||
| 	unsigned compatible; /* for use with scsi_static_device_list entries */ | 	unsigned compatible; /* for use with scsi_static_device_list entries */ | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -35,7 +35,7 @@ struct scsi_dev_info_list_table { | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static const char spaces[] = "                "; /* 16 of them */ | static const char spaces[] = "                "; /* 16 of them */ | ||||||
| static unsigned scsi_default_dev_flags; | static blist_flags_t scsi_default_dev_flags; | ||||||
| static LIST_HEAD(scsi_dev_info_list); | static LIST_HEAD(scsi_dev_info_list); | ||||||
| static char scsi_dev_flags[256]; | static char scsi_dev_flags[256]; | ||||||
| 
 | 
 | ||||||
|  | @ -52,7 +52,7 @@ static struct { | ||||||
| 	char *vendor; | 	char *vendor; | ||||||
| 	char *model; | 	char *model; | ||||||
| 	char *revision;	/* revision known to be bad, unused */ | 	char *revision;	/* revision known to be bad, unused */ | ||||||
| 	unsigned flags; | 	blist_flags_t flags; | ||||||
| } scsi_static_device_list[] __initdata = { | } scsi_static_device_list[] __initdata = { | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * The following devices are known not to tolerate a lun != 0 scan | 	 * The following devices are known not to tolerate a lun != 0 scan | ||||||
|  | @ -335,7 +335,7 @@ static void scsi_strcpy_devinfo(char *name, char *to, size_t to_length, | ||||||
|  * Returns: 0 OK, -error on failure. |  * Returns: 0 OK, -error on failure. | ||||||
|  **/ |  **/ | ||||||
| static int scsi_dev_info_list_add(int compatible, char *vendor, char *model, | static int scsi_dev_info_list_add(int compatible, char *vendor, char *model, | ||||||
| 			    char *strflags, int flags) | 			    char *strflags, blist_flags_t flags) | ||||||
| { | { | ||||||
| 	return scsi_dev_info_list_add_keyed(compatible, vendor, model, | 	return scsi_dev_info_list_add_keyed(compatible, vendor, model, | ||||||
| 					    strflags, flags, | 					    strflags, flags, | ||||||
|  | @ -361,7 +361,7 @@ static int scsi_dev_info_list_add(int compatible, char *vendor, char *model, | ||||||
|  * Returns: 0 OK, -error on failure. |  * Returns: 0 OK, -error on failure. | ||||||
|  **/ |  **/ | ||||||
| int scsi_dev_info_list_add_keyed(int compatible, char *vendor, char *model, | int scsi_dev_info_list_add_keyed(int compatible, char *vendor, char *model, | ||||||
| 				 char *strflags, int flags, int key) | 				 char *strflags, blist_flags_t flags, int key) | ||||||
| { | { | ||||||
| 	struct scsi_dev_info_list *devinfo; | 	struct scsi_dev_info_list *devinfo; | ||||||
| 	struct scsi_dev_info_list_table *devinfo_table = | 	struct scsi_dev_info_list_table *devinfo_table = | ||||||
|  | @ -571,9 +571,9 @@ static int scsi_dev_info_list_add_str(char *dev_list) | ||||||
|  *     matching flags value, else return the host or global default |  *     matching flags value, else return the host or global default | ||||||
|  *     settings.  Called during scan time. |  *     settings.  Called during scan time. | ||||||
|  **/ |  **/ | ||||||
| int scsi_get_device_flags(struct scsi_device *sdev, | blist_flags_t scsi_get_device_flags(struct scsi_device *sdev, | ||||||
| 			  const unsigned char *vendor, | 				    const unsigned char *vendor, | ||||||
| 			  const unsigned char *model) | 				    const unsigned char *model) | ||||||
| { | { | ||||||
| 	return scsi_get_device_flags_keyed(sdev, vendor, model, | 	return scsi_get_device_flags_keyed(sdev, vendor, model, | ||||||
| 					   SCSI_DEVINFO_GLOBAL); | 					   SCSI_DEVINFO_GLOBAL); | ||||||
|  | @ -593,7 +593,7 @@ int scsi_get_device_flags(struct scsi_device *sdev, | ||||||
|  *     flags value, else return the host or global default settings. |  *     flags value, else return the host or global default settings. | ||||||
|  *     Called during scan time. |  *     Called during scan time. | ||||||
|  **/ |  **/ | ||||||
| int scsi_get_device_flags_keyed(struct scsi_device *sdev, | blist_flags_t scsi_get_device_flags_keyed(struct scsi_device *sdev, | ||||||
| 				const unsigned char *vendor, | 				const unsigned char *vendor, | ||||||
| 				const unsigned char *model, | 				const unsigned char *model, | ||||||
| 				int key) | 				int key) | ||||||
|  |  | ||||||
|  | @ -50,15 +50,16 @@ enum { | ||||||
| 	SCSI_DEVINFO_SPI, | 	SCSI_DEVINFO_SPI, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| extern int scsi_get_device_flags(struct scsi_device *sdev, | extern blist_flags_t scsi_get_device_flags(struct scsi_device *sdev, | ||||||
| 				 const unsigned char *vendor, | 					   const unsigned char *vendor, | ||||||
| 				 const unsigned char *model); | 					   const unsigned char *model); | ||||||
| extern int scsi_get_device_flags_keyed(struct scsi_device *sdev, | extern blist_flags_t scsi_get_device_flags_keyed(struct scsi_device *sdev, | ||||||
| 				       const unsigned char *vendor, | 						 const unsigned char *vendor, | ||||||
| 				       const unsigned char *model, int key); | 						 const unsigned char *model, | ||||||
|  | 						 int key); | ||||||
| extern int scsi_dev_info_list_add_keyed(int compatible, char *vendor, | extern int scsi_dev_info_list_add_keyed(int compatible, char *vendor, | ||||||
| 					char *model, char *strflags, | 					char *model, char *strflags, | ||||||
| 					int flags, int key); | 					blist_flags_t flags, int key); | ||||||
| extern int scsi_dev_info_list_del_keyed(char *vendor, char *model, int key); | extern int scsi_dev_info_list_del_keyed(char *vendor, char *model, int key); | ||||||
| extern int scsi_dev_info_add_list(int key, const char *name); | extern int scsi_dev_info_add_list(int key, const char *name); | ||||||
| extern int scsi_dev_info_remove_list(int key); | extern int scsi_dev_info_remove_list(int key); | ||||||
|  |  | ||||||
|  | @ -566,7 +566,7 @@ EXPORT_SYMBOL(scsi_sanitize_inquiry_string); | ||||||
|  *     are copied to the scsi_device any flags value is stored in *@bflags. |  *     are copied to the scsi_device any flags value is stored in *@bflags. | ||||||
|  **/ |  **/ | ||||||
| static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result, | static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result, | ||||||
| 			  int result_len, int *bflags) | 			  int result_len, blist_flags_t *bflags) | ||||||
| { | { | ||||||
| 	unsigned char scsi_cmd[MAX_COMMAND_SIZE]; | 	unsigned char scsi_cmd[MAX_COMMAND_SIZE]; | ||||||
| 	int first_inquiry_len, try_inquiry_len, next_inquiry_len; | 	int first_inquiry_len, try_inquiry_len, next_inquiry_len; | ||||||
|  |  | ||||||
|  | @ -15,6 +15,8 @@ struct scsi_cmnd; | ||||||
| struct scsi_lun; | struct scsi_lun; | ||||||
| struct scsi_sense_hdr; | struct scsi_sense_hdr; | ||||||
| 
 | 
 | ||||||
|  | typedef unsigned int __bitwise blist_flags_t; | ||||||
|  | 
 | ||||||
| struct scsi_mode_data { | struct scsi_mode_data { | ||||||
| 	__u32	length; | 	__u32	length; | ||||||
| 	__u16	block_descriptor_length; | 	__u16	block_descriptor_length; | ||||||
|  | @ -141,7 +143,7 @@ struct scsi_device { | ||||||
| 	unsigned char current_tag;	/* current tag */ | 	unsigned char current_tag;	/* current tag */ | ||||||
| 	struct scsi_target      *sdev_target;   /* used only for single_lun */ | 	struct scsi_target      *sdev_target;   /* used only for single_lun */ | ||||||
| 
 | 
 | ||||||
| 	unsigned int	sdev_bflags; /* black/white flags as also found in
 | 	blist_flags_t		sdev_bflags; /* black/white flags as also found in
 | ||||||
| 				 * scsi_devinfo.[hc]. For now used only to | 				 * scsi_devinfo.[hc]. For now used only to | ||||||
| 				 * pass settings from slave_alloc to scsi | 				 * pass settings from slave_alloc to scsi | ||||||
| 				 * core. */ | 				 * core. */ | ||||||
|  |  | ||||||
|  | @ -6,55 +6,55 @@ | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| /* Only scan LUN 0 */ | /* Only scan LUN 0 */ | ||||||
| #define BLIST_NOLUN		((__force __u32 __bitwise)(1 << 0)) | #define BLIST_NOLUN		((__force blist_flags_t)(1 << 0)) | ||||||
| /* Known to have LUNs, force scanning.
 | /* Known to have LUNs, force scanning.
 | ||||||
|  * DEPRECATED: Use max_luns=N */ |  * DEPRECATED: Use max_luns=N */ | ||||||
| #define BLIST_FORCELUN		((__force __u32 __bitwise)(1 << 1)) | #define BLIST_FORCELUN		((__force blist_flags_t)(1 << 1)) | ||||||
| /* Flag for broken handshaking */ | /* Flag for broken handshaking */ | ||||||
| #define BLIST_BORKEN		((__force __u32 __bitwise)(1 << 2)) | #define BLIST_BORKEN		((__force blist_flags_t)(1 << 2)) | ||||||
| /* unlock by special command */ | /* unlock by special command */ | ||||||
| #define BLIST_KEY		((__force __u32 __bitwise)(1 << 3)) | #define BLIST_KEY		((__force blist_flags_t)(1 << 3)) | ||||||
| /* Do not use LUNs in parallel */ | /* Do not use LUNs in parallel */ | ||||||
| #define BLIST_SINGLELUN		((__force __u32 __bitwise)(1 << 4)) | #define BLIST_SINGLELUN		((__force blist_flags_t)(1 << 4)) | ||||||
| /* Buggy Tagged Command Queuing */ | /* Buggy Tagged Command Queuing */ | ||||||
| #define BLIST_NOTQ		((__force __u32 __bitwise)(1 << 5)) | #define BLIST_NOTQ		((__force blist_flags_t)(1 << 5)) | ||||||
| /* Non consecutive LUN numbering */ | /* Non consecutive LUN numbering */ | ||||||
| #define BLIST_SPARSELUN		((__force __u32 __bitwise)(1 << 6)) | #define BLIST_SPARSELUN		((__force blist_flags_t)(1 << 6)) | ||||||
| /* Avoid LUNS >= 5 */ | /* Avoid LUNS >= 5 */ | ||||||
| #define BLIST_MAX5LUN		((__force __u32 __bitwise)(1 << 7)) | #define BLIST_MAX5LUN		((__force blist_flags_t)(1 << 7)) | ||||||
| /* Treat as (removable) CD-ROM */ | /* Treat as (removable) CD-ROM */ | ||||||
| #define BLIST_ISROM		((__force __u32 __bitwise)(1 << 8)) | #define BLIST_ISROM		((__force blist_flags_t)(1 << 8)) | ||||||
| /* LUNs past 7 on a SCSI-2 device */ | /* LUNs past 7 on a SCSI-2 device */ | ||||||
| #define BLIST_LARGELUN		((__force __u32 __bitwise)(1 << 9)) | #define BLIST_LARGELUN		((__force blist_flags_t)(1 << 9)) | ||||||
| /* override additional length field */ | /* override additional length field */ | ||||||
| #define BLIST_INQUIRY_36	((__force __u32 __bitwise)(1 << 10)) | #define BLIST_INQUIRY_36	((__force blist_flags_t)(1 << 10)) | ||||||
| /* do not do automatic start on add */ | /* do not do automatic start on add */ | ||||||
| #define BLIST_NOSTARTONADD	((__force __u32 __bitwise)(1 << 12)) | #define BLIST_NOSTARTONADD	((__force blist_flags_t)(1 << 12)) | ||||||
| /* try REPORT_LUNS even for SCSI-2 devs (if HBA supports more than 8 LUNs) */ | /* try REPORT_LUNS even for SCSI-2 devs (if HBA supports more than 8 LUNs) */ | ||||||
| #define BLIST_REPORTLUN2	((__force __u32 __bitwise)(1 << 17)) | #define BLIST_REPORTLUN2	((__force blist_flags_t)(1 << 17)) | ||||||
| /* don't try REPORT_LUNS scan (SCSI-3 devs) */ | /* don't try REPORT_LUNS scan (SCSI-3 devs) */ | ||||||
| #define BLIST_NOREPORTLUN	((__force __u32 __bitwise)(1 << 18)) | #define BLIST_NOREPORTLUN	((__force blist_flags_t)(1 << 18)) | ||||||
| /* don't use PREVENT-ALLOW commands */ | /* don't use PREVENT-ALLOW commands */ | ||||||
| #define BLIST_NOT_LOCKABLE	((__force __u32 __bitwise)(1 << 19)) | #define BLIST_NOT_LOCKABLE	((__force blist_flags_t)(1 << 19)) | ||||||
| /* device is actually for RAID config */ | /* device is actually for RAID config */ | ||||||
| #define BLIST_NO_ULD_ATTACH	((__force __u32 __bitwise)(1 << 20)) | #define BLIST_NO_ULD_ATTACH	((__force blist_flags_t)(1 << 20)) | ||||||
| /* select without ATN */ | /* select without ATN */ | ||||||
| #define BLIST_SELECT_NO_ATN	((__force __u32 __bitwise)(1 << 21)) | #define BLIST_SELECT_NO_ATN	((__force blist_flags_t)(1 << 21)) | ||||||
| /* retry HARDWARE_ERROR */ | /* retry HARDWARE_ERROR */ | ||||||
| #define BLIST_RETRY_HWERROR	((__force __u32 __bitwise)(1 << 22)) | #define BLIST_RETRY_HWERROR	((__force blist_flags_t)(1 << 22)) | ||||||
| /* maximum 512 sector cdb length */ | /* maximum 512 sector cdb length */ | ||||||
| #define BLIST_MAX_512		((__force __u32 __bitwise)(1 << 23)) | #define BLIST_MAX_512		((__force blist_flags_t)(1 << 23)) | ||||||
| /* Disable T10 PI (DIF) */ | /* Disable T10 PI (DIF) */ | ||||||
| #define BLIST_NO_DIF		((__force __u32 __bitwise)(1 << 25)) | #define BLIST_NO_DIF		((__force blist_flags_t)(1 << 25)) | ||||||
| /* Ignore SBC-3 VPD pages */ | /* Ignore SBC-3 VPD pages */ | ||||||
| #define BLIST_SKIP_VPD_PAGES	((__force __u32 __bitwise)(1 << 26)) | #define BLIST_SKIP_VPD_PAGES	((__force blist_flags_t)(1 << 26)) | ||||||
| /* Attempt to read VPD pages */ | /* Attempt to read VPD pages */ | ||||||
| #define BLIST_TRY_VPD_PAGES	((__force __u32 __bitwise)(1 << 28)) | #define BLIST_TRY_VPD_PAGES	((__force blist_flags_t)(1 << 28)) | ||||||
| /* don't try to issue RSOC */ | /* don't try to issue RSOC */ | ||||||
| #define BLIST_NO_RSOC		((__force __u32 __bitwise)(1 << 29)) | #define BLIST_NO_RSOC		((__force blist_flags_t)(1 << 29)) | ||||||
| /* maximum 1024 sector cdb length */ | /* maximum 1024 sector cdb length */ | ||||||
| #define BLIST_MAX_1024		((__force __u32 __bitwise)(1 << 30)) | #define BLIST_MAX_1024		((__force blist_flags_t)(1 << 30)) | ||||||
| /* Use UNMAP limit for WRITE SAME */ | /* Use UNMAP limit for WRITE SAME */ | ||||||
| #define BLIST_UNMAP_LIMIT_WS	((__force __u32 __bitwise)(1 << 31)) | #define BLIST_UNMAP_LIMIT_WS	((__force blist_flags_t)(1 << 31)) | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Hannes Reinecke
						Hannes Reinecke