Re: aacraid question: is maximum_num_containers supposed to be minimum?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It is *both*, in part because of history, and usage.

Initially the value was the hard coded maximum number of containers (arrays) for the earlier Firmware that never reported what they were capable of, until the value became variable based on Firmware Release with a new information field. Older Firmware would report zero.

In order to stress compatibility, and reliability should the value that is returned from the Firmware report badly, if a controller had less than this value, then we would allocate at least that amount of space for containers. This is the point at which the value went from being a maximum to a minimum.

The first bus is the containers, the remaining higher buses are the physical devices. If the number of ids on a physical bus is less than the number of containers, then we up it to match the first bus to that we have symmetry. An addition check,along this vein, to make sure that the max_ids is at least the returned maximum_num_containers ...

A clarification patch replacing minimum with maximum would help, but is purely cosmetic. You are the first person to ask this question in over a decade ;->

Sincerely -- Mark Salyzyn

On Jan 11, 2012, at 3:28 AM, Dan Carpenter wrote:

> MAXIMUM_NUM_CONTAINERS is consistently used as a minimum not a maximum
> so I was wondering what was up with that?  This is ancient code that
> predates git.
> 
> drivers/scsi/aacraid/aachba.c
>   382          if (maximum_num_containers < MAXIMUM_NUM_CONTAINERS)
>   383                  maximum_num_containers = MAXIMUM_NUM_CONTAINERS;
>   384          fsa_dev_ptr = kzalloc(sizeof(*fsa_dev_ptr) * maximum_num_containers,
>   385                          GFP_KERNEL);
> 
> Btw, if maximum_num_containers were really a maximum instead of minimum
> then it should be unsigned.  That was what brought the code to my
> attention initially.
> 
> drivers/scsi/aacraid/linit.c
>  1235          if (shost->max_id < MAXIMUM_NUM_CONTAINERS)
>  1236                  shost->max_id = MAXIMUM_NUM_CONTAINERS;
>  1237          else
>  1238                  shost->this_id = shost->max_id;
> 
> regards,
> dan carpenter
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux