[ofw] [Scst-devel] Issue w/ Multipathing SRP in WinOF 2.3 RC4 w/ >4 drives

Chris Worley worleys at gmail.com
Thu Oct 14 12:10:59 PDT 2010


On Thu, Oct 14, 2010 at 12:31 PM, Vladislav Bolkhovitin <vst at vlnb.net> wrote:
> Chris Worley, on 10/14/2010 06:47 PM wrote:
>> On Thu, Oct 14, 2010 at 8:34 AM, Vladislav Bolkhovitin <vst at vlnb.net> wrote:
>> <snip>
>>>>
>>>> Also, they wonder why the product ID is unique for each device.  When
>>>> I register these w/ SCST, I use syntax like:
>>>>
>>>> echo "open identifier /dev/block-device ... " > /proc/scsi_tgt/vdisk/vdisk
>>>>
>>>> ... and each of those identifiers must be unique for each block
>>>> device.  Is my understanding correct, or can I have one name
>>>> associated w/ multiple block devices?  If I try to do that, I get a
>>>> logged error:
>>>>
>>>> dev_vdisk: ***ERROR***: Virtual device with name foo already exist
>>>>
>>>> Yet on Windows, this identifier is being treated as a product ID,
>>>> which "someone who knows" indicates would be inappropriate.
>>>
>>> What's wrong with it?
>>
>> "Normally, an array exposes one unique vendor ID/Product ID per array.
>> It looks like in [this] case ... it is exposing every LUN with a
>> different vid/pid, which means that every LUN would have to be
>> specifically claimed by MPIO."
>
> This is one of the weirdest requirements I've ever heard. At first,
> there are no such requirements for PRODUCT IDENTIFICATION field in the
> SCSI standards. Second, have all devices with all types in array,
> including "controllers" (many arrays have such device), with the same
> Product ID looks for me not logical. Third, per-array MPIO is something
> really strange. SAM/SPC standards don't have term "array", they are
> written about devices, so MPIO must deal with devices, not "arrays".

Did you forget that Microsoft _is_ the de facto standard? ;)

I guess the question could be turned-around and the SRP initiator
maintainers asked why this ID field is being used as a Product ID.

According to the paper:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=cbd27a84-23a1-4e88-b198-6233623582f3&displaylang=en

MPIO uses both the Vendor (8 char) and Product (16 [ha ha 8] char) to
determine multiple paths, then it uses serial numbers.

Everything I could see about the serial numb ers for the SRP drives
looked unique for unique drives, and equal for duplicate paths.

So, I'm guessing Microsoft's bug is due to finding the VID/PID aren't
equal at a higher level (using the 16 character PID), so bypassing
serial number differentiation altogether, then, in the lower levels of
MPIO, only using 8 characters in the pid to differentiate.

At least SRP should warn about this problem.

Chris



More information about the ofw mailing list