> -----Original Message----- > From: Dave Carroll [mailto:david.carroll@xxxxxxxxxxxxx] > Sent: Friday, September 15, 2017 10:04 AM > To: Martin K . Petersen <martin.petersen@xxxxxxxxxx>; James Bottomley > <jejb@xxxxxxxxxxxxxxxxxx> > Cc: Dave Carroll <david.carroll@xxxxxxxxxxxxx>; linux-scsi <linux- > scsi@xxxxxxxxxxxxxxx>; dl-esc-Aacraid Linux Driver > <aacraid@xxxxxxxxxxxxx>; Scott Benesh <scott.benesh@xxxxxxxxxxxxx>; > Brian King <brking@xxxxxxxxxxxxxxxxxx>; stable@xxxxxxxxxxxxxxx > Subject: [PATCH RESEND] aacraid: Fix 2T+ drives on SmartIOC-2000 > > The logic for supporting large drives was previously tied to 4Kn support > for SmartIOC-2000. As SmartIOC-2000 does not support volumes using 4Kn > drives, use the intended option flag AAC_OPT_NEW_COMM_64 to > determine > support for volumes greater than 2T. > > cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Dave Carroll <david.carroll@xxxxxxxxxxxxx> > > --- > drivers/scsi/aacraid/aachba.c | 12 ++++++------ > drivers/scsi/aacraid/aacraid.h | 5 +++++ > 2 files changed, 11 insertions(+), 6 deletions(-) > > diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c > index 4591113..18a1a1f 100644 > --- a/drivers/scsi/aacraid/aachba.c > +++ b/drivers/scsi/aacraid/aachba.c > @@ -695,13 +695,13 @@ static void _aac_probe_container1(void * context, > struct fib * fibptr) > int status; > > dresp = (struct aac_mount *) fib_data(fibptr); > - if (!(fibptr->dev->supplement_adapter_info.supported_options2 & > - AAC_OPTION_VARIABLE_BLOCK_SIZE)) > + if (!aac_supports_2T(fibptr->dev)) { > dresp->mnt[0].capacityhigh = 0; > - if ((le32_to_cpu(dresp->status) != ST_OK) || > - (le32_to_cpu(dresp->mnt[0].vol) != CT_NONE)) { > - _aac_probe_container2(context, fibptr); > - return; > + if ((le32_to_cpu(dresp->status) == ST_OK) && > + (le32_to_cpu(dresp->mnt[0].vol) != CT_NONE)) { > + _aac_probe_container2(context, fibptr); > + return; > + } > } > scsicmd = (struct scsi_cmnd *) context; > > diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h > index 6981299..998fbad 100644 > --- a/drivers/scsi/aacraid/aacraid.h > +++ b/drivers/scsi/aacraid/aacraid.h > @@ -2701,6 +2701,11 @@ static inline int aac_is_src(struct aac_dev *dev) > return 0; > } > > +static inline int aac_supports_2T(struct aac_dev *dev) > +{ > + return (dev->adapter_info.options & AAC_OPT_NEW_COMM_64); > +} > + > char * get_container_type(unsigned type); > extern int numacb; > extern char aac_driver_version[]; > -- > 2.8.4 Reviewed-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@xxxxxxxxxxxxx>