Re: [PATCH v2 4/5] usb: gadget: mass_storage: Use static array for luns

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

 



On Fri, Jul 03 2015, Krzysztof Opasiak wrote:
> I'm looking on this code today an I see another option. We could simply 
> remove nluns from opts and always iterate:
>
> for (i = 0; i < ARRAY_SIZE(luns); ++i)
> 	if (luns[i]) {
> 		/* Do something useful */
> 	}
>
> and add some simple function:
>
> int _fsg_common_get_max_lun(luns)
> {
> 	int i;
>
> 	for (i = ARRAY_SIZE(luns) - 1; i >= 0 && !luns[i]; --i)
>
> 	return i;
> }
>
> with such approach we doesn't need to store number of elements in arrays 
> or max index. Instead of this we just do something only for elements 
> which has been allocated and determine max lun dynamically when handling 
> GET_MAX_LUN request. What do you thing about this Michal? Maybe you have 
> another idea how to solve this?

I think this is reasonable.  One thing to check is how this would affect
changing LUNs.  IIRC we currently do something along the lines of:

  if (lun >= nluns)
    reject
  curlun = luns[lun];  // may be NULL if gadget has non-contiguous LUNs

if we drop nluns we would have just:

  curlun = luns[lun];  // may be NULL if gadget has non-contiguous LUNs

and perhaps then we need:

  if (!curlun)
    reject

But yes, the idea sounds good to me.

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +--<mpn@xxxxxxxxxx>--<xmpp:mina86@xxxxxxxxxx>--ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux