File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -822,6 +822,7 @@ union pqi_reset_register {
822822#define PQI_HBA_BUS 2
823823#define PQI_EXTERNAL_RAID_VOLUME_BUS 3
824824#define PQI_MAX_BUS PQI_EXTERNAL_RAID_VOLUME_BUS
825+ #define PQI_VSEP_CISS_BTL 379
825826
826827struct report_lun_header {
827828 __be32 list_length ;
Original file line number Diff line number Diff line change @@ -151,6 +151,12 @@ module_param_named(expose_ld_first,
151151MODULE_PARM_DESC (expose_ld_first ,
152152 "Expose logical drives before physical drives." );
153153
154+ static int pqi_hide_vsep ;
155+ module_param_named (hide_vsep ,
156+ pqi_hide_vsep , int , 0644 );
157+ MODULE_PARM_DESC (hide_vsep ,
158+ "Hide the virtual SEP for direct attached drives." );
159+
154160static char * raid_levels [] = {
155161 "RAID-0" ,
156162 "RAID-4" ,
@@ -1951,6 +1957,11 @@ static inline bool pqi_skip_device(u8 *scsi3addr)
19511957 return false;
19521958}
19531959
1960+ static inline void pqi_mask_device (u8 * scsi3addr )
1961+ {
1962+ scsi3addr [3 ] |= 0xc0 ;
1963+ }
1964+
19541965static inline bool pqi_is_device_with_sas_address (struct pqi_scsi_dev * device )
19551966{
19561967 if (!device -> is_physical_device )
@@ -2031,6 +2042,21 @@ static int pqi_update_scsi_devices(struct pqi_ctrl_info *ctrl_info)
20312042 rc = - ENOMEM ;
20322043 goto out ;
20332044 }
2045+ if (pqi_hide_vsep ) {
2046+ int i ;
2047+
2048+ for (i = num_physicals - 1 ; i >= 0 ; i -- ) {
2049+ phys_lun_ext_entry =
2050+ & physdev_list -> lun_entries [i ];
2051+ if (CISS_GET_DRIVE_NUMBER (
2052+ phys_lun_ext_entry -> lunid ) ==
2053+ PQI_VSEP_CISS_BTL ) {
2054+ pqi_mask_device (
2055+ phys_lun_ext_entry -> lunid );
2056+ break ;
2057+ }
2058+ }
2059+ }
20342060 }
20352061
20362062 num_new_devices = num_physicals + num_logicals ;
You can’t perform that action at this time.
0 commit comments