* aacraid question: is maximum_num_containers supposed to be minimum?
@ 2012-01-11 8:28 Dan Carpenter
2012-01-11 8:38 ` Xi Wang
2012-01-11 14:15 ` Mark Salyzyn
0 siblings, 2 replies; 4+ messages in thread
From: Dan Carpenter @ 2012-01-11 8:28 UTC (permalink / raw)
To: Adaptec OEM Raid Solutions; +Cc: linux-scsi, linux-kernel
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: aacraid question: is maximum_num_containers supposed to be minimum?
2012-01-11 8:28 aacraid question: is maximum_num_containers supposed to be minimum? Dan Carpenter
@ 2012-01-11 8:38 ` Xi Wang
2012-01-11 9:04 ` Dan Carpenter
2012-01-11 14:15 ` Mark Salyzyn
1 sibling, 1 reply; 4+ messages in thread
From: Xi Wang @ 2012-01-11 8:38 UTC (permalink / raw)
To: Dan Carpenter
Cc: Adaptec OEM Raid Solutions, Haogang Chen, linux-scsi,
linux-kernel
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.
Check out some early discussion. ;-)
https://lkml.org/lkml/2011/12/3/85
- xi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: aacraid question: is maximum_num_containers supposed to be minimum?
2012-01-11 8:38 ` Xi Wang
@ 2012-01-11 9:04 ` Dan Carpenter
0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2012-01-11 9:04 UTC (permalink / raw)
To: Xi Wang; +Cc: Adaptec OEM Raid Solutions, Haogang Chen, linux-scsi,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 704 bytes --]
On Wed, Jan 11, 2012 at 03:38:55AM -0500, Xi Wang wrote:
> 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.
>
> Check out some early discussion. ;-)
>
> https://lkml.org/lkml/2011/12/3/85
Heh. That's weird that we were both looking at the same code so
many years down the line.
Still Haogang is assuming that MAXIMUM_NUM_CONTAINERS is supposed to
be a minimum instead of it just being used that way by mistake.
Mark is more familiar with code and thought it was supposed to be a
maximum.
regards,
dan carpenter
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: aacraid question: is maximum_num_containers supposed to be minimum?
2012-01-11 8:28 aacraid question: is maximum_num_containers supposed to be minimum? Dan Carpenter
2012-01-11 8:38 ` Xi Wang
@ 2012-01-11 14:15 ` Mark Salyzyn
1 sibling, 0 replies; 4+ messages in thread
From: Mark Salyzyn @ 2012-01-11 14:15 UTC (permalink / raw)
To: Dan Carpenter; +Cc: Adaptec OEM Raid Solutions, linux-scsi, linux-kernel
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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-01-11 14:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-11 8:28 aacraid question: is maximum_num_containers supposed to be minimum? Dan Carpenter
2012-01-11 8:38 ` Xi Wang
2012-01-11 9:04 ` Dan Carpenter
2012-01-11 14:15 ` Mark Salyzyn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox