All of lore.kernel.org
 help / color / mirror / Atom feed
* T10 adds locally assigned UUID designation descriptor
@ 2016-02-08 17:33 Douglas Gilbert
  2016-02-08 19:00 ` James Bottomley
  0 siblings, 1 reply; 5+ messages in thread
From: Douglas Gilbert @ 2016-02-08 17:33 UTC (permalink / raw)
  To: SCSI development list

Recently, in draft spc5r08, T10 added a locally assigned RFC 4122
UUID *** designation descriptor. That descriptor can now be
returned for VPD page 0x83 (device identification) amongst others.
It can be used anywhere SCSI needs a unique identifier expanding
the previous set of preferred identifiers: EUI, NAA and SCSI_name
(iSCSI).

In the soon to be released sg3_utils version 1.42 the new UUID
designation descriptor is decoded including Hannes' --export
option found in sg_inq, for example:

# sg_inq --export /dev/sg0
   ...
   SCSI_IDENT_LUN_UUID=11223344-5566-7788-aabb-ccddeeffffee

Perhaps some udev work is needed to incorporate this new identifier.

Doug Gilbert

** see  https://en.wikipedia.org/wiki/Universally_unique_identifier

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: T10 adds locally assigned UUID designation descriptor
  2016-02-08 17:33 T10 adds locally assigned UUID designation descriptor Douglas Gilbert
@ 2016-02-08 19:00 ` James Bottomley
  2016-02-08 20:04   ` Douglas Gilbert
  0 siblings, 1 reply; 5+ messages in thread
From: James Bottomley @ 2016-02-08 19:00 UTC (permalink / raw)
  To: dgilbert, SCSI development list

On Mon, 2016-02-08 at 12:33 -0500, Douglas Gilbert wrote:
> Recently, in draft spc5r08, T10 added a locally assigned RFC 4122
> UUID *** designation descriptor. That descriptor can now be
> returned for VPD page 0x83 (device identification) amongst others.
> It can be used anywhere SCSI needs a unique identifier expanding
> the previous set of preferred identifiers: EUI, NAA and SCSI_name
> (iSCSI).
> 
> In the soon to be released sg3_utils version 1.42 the new UUID
> designation descriptor is decoded including Hannes' --export
> option found in sg_inq, for example:
> 
> # sg_inq --export /dev/sg0
>    ...
>    SCSI_IDENT_LUN_UUID=11223344-5566-7788-aabb-ccddeeffffee
> 
> Perhaps some udev work is needed to incorporate this new identifier.

Hm, we're going to have to do this carefully.  With the move to GPT
partitions, both the UUID= designator in fstab and the /dev/disk/by
-uuid/ of udev means the GPT UUID.  In theory the design of the UUID
space is to allow random selection without clashing, so we could just
place the SCSI ones in here as well and perhaps there won't be a
problem, but I'd like us to think about the consequences first.

James


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: T10 adds locally assigned UUID designation descriptor
  2016-02-08 19:00 ` James Bottomley
@ 2016-02-08 20:04   ` Douglas Gilbert
  2016-02-09  0:02     ` Knight, Frederick
  2016-02-09 15:30     ` Hannes Reinecke
  0 siblings, 2 replies; 5+ messages in thread
From: Douglas Gilbert @ 2016-02-08 20:04 UTC (permalink / raw)
  To: James Bottomley, SCSI development list; +Cc: Knight, Frederick

On 16-02-08 02:00 PM, James Bottomley wrote:
> On Mon, 2016-02-08 at 12:33 -0500, Douglas Gilbert wrote:
>> Recently, in draft spc5r08, T10 added a locally assigned RFC 4122
>> UUID *** designation descriptor. That descriptor can now be
>> returned for VPD page 0x83 (device identification) amongst others.
>> It can be used anywhere SCSI needs a unique identifier expanding
>> the previous set of preferred identifiers: EUI, NAA and SCSI_name
>> (iSCSI).
>>
>> In the soon to be released sg3_utils version 1.42 the new UUID
>> designation descriptor is decoded including Hannes' --export
>> option found in sg_inq, for example:
>>
>> # sg_inq --export /dev/sg0
>>     ...
>>     SCSI_IDENT_LUN_UUID=11223344-5566-7788-aabb-ccddeeffffee
>>
>> Perhaps some udev work is needed to incorporate this new identifier.
>
> Hm, we're going to have to do this carefully.  With the move to GPT
> partitions, both the UUID= designator in fstab and the /dev/disk/by
> -uuid/ of udev means the GPT UUID.  In theory the design of the UUID
> space is to allow random selection without clashing, so we could just
> place the SCSI ones in here as well and perhaps there won't be a
> problem, but I'd like us to think about the consequences first.

The UUID proposal (16-005r1 from Fred Knight and "Dr. Hannes Reinecke")
was somewhat controversial with five T10 members voting against it. The
minutes state: "The members voting no stated concern that this proposal
may result in market confusion, and those members intend to develop
proposals to mitigate any confusion."

Locally assigned identifiers are not new: there already is an 8 byte
locally assigned NAA identifier (NAA=3). It is not much used, perhaps
the new locally assigned UUID (which is 16 bytes long) will find
more use. As for the 'sg_inq --export' naming, that seems to nail
down the context of the new UUID pretty well:
   SCSI_IDENT_[TARGET|PORT|LUN]_UUID
with the identifier itself in canonical UUID format. So there should
be no confusion there. And partitions are nested inside logical
units and SCSI does not define those (apart from on tapes).

Doug Gilbert



^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: T10 adds locally assigned UUID designation descriptor
  2016-02-08 20:04   ` Douglas Gilbert
@ 2016-02-09  0:02     ` Knight, Frederick
  2016-02-09 15:30     ` Hannes Reinecke
  1 sibling, 0 replies; 5+ messages in thread
From: Knight, Frederick @ 2016-02-09  0:02 UTC (permalink / raw)
  To: dgilbert, James Bottomley, SCSI development list

To add a little more information, the reason for the "NO" votes was as follows:

If a storage device implements this TODAY - and the only unique identifier in VPD page 0x83 is the UUID identifier, then, any existing shipping host will not find any unique identifier that it recognizes.  That host could do any number of other things (including but not limited to):
1) prevent the device from being used;
2) enable only a SINGLE path to the device (do not allow MPIO to operate on a device for which it cannot find a unique ID);
3) enable MPIO to the device using the unique ID of "NONE".

Both 1 & 2 are workable situations.  BUT, #3 is a problem; not if you have just 1 of these UUID only devices, but if you have a bunch of them, and the host incorrectly assumes they are all the SAME device, and it tries to do IO based on that assumption.

So that is the background.  The "NO" votes were based on the belief by those companies that situation #3 was a forgone conclusion, and they didn't want to add any new features to the storage until after the hosts added code to support those new features - which the hosts can't do until there are storage devices built (based on a standard) which they can use for testing - CATCH-22.

The "YES" votes were based on the assumption that storage would not be configured with ONLY the UUID value unless the storage manager knew that the host to which it would be connected could actually support a UUID only storage system.  A configuration of a UUID only storage and a host that does not support UUID only storage is a configuration error.  No different than a "thin provisioned" LUN being configured for use by a host that prohibits the use of thin provisioned LUNs. Basically it is assumed that initial deployments of UUID identifiers would be in conjunction with other (NAA/EUI/etc) identifiers in page 0x83). Remember, real H/W vendors already own NAA and EUI values.  The primary creator of the UUID form will be S/W defined storage LUNs (as indicated in the preface material in the proposal), where there is no NAA or EUI available.

It simply goes back to the catch-22 - which comes first, the host support or the storage device support.  The solution is expected to show up in the next revision of the standard - there will be a temporary editor's note added indicating something along the lines of: a UUID only VPD page 0x83 should not be implemented in a storage device until it is known that the host supports such a configuration.  That note will be removed before final ANSI/ISO publication, but it will remain during the draft cycle.   At least, that is where the discussion ended up last I knew - we'll find out at the next meeting.

There was some minor discussion about that lack of uniqueness guarantees, but basically the committee said, you get what you get, and if you don't like it, don't use it.  You can also see, that the data structure is already primed for the addition of the 32 byte UUID value (if/when anyone ever invents such a beast, we'll examine whether it too should be added).

So I hope that clarifies some of the background around the controversy.

	Fred Knight


-----Original Message-----
From: Douglas Gilbert [mailto:dgilbert@interlog.com] 
Sent: Monday, February 08, 2016 3:04 PM
To: James Bottomley; SCSI development list
Cc: Knight, Frederick
Subject: Re: T10 adds locally assigned UUID designation descriptor

On 16-02-08 02:00 PM, James Bottomley wrote:
> On Mon, 2016-02-08 at 12:33 -0500, Douglas Gilbert wrote:
>> Recently, in draft spc5r08, T10 added a locally assigned RFC 4122
>> UUID *** designation descriptor. That descriptor can now be
>> returned for VPD page 0x83 (device identification) amongst others.
>> It can be used anywhere SCSI needs a unique identifier expanding
>> the previous set of preferred identifiers: EUI, NAA and SCSI_name
>> (iSCSI).
>>
>> In the soon to be released sg3_utils version 1.42 the new UUID
>> designation descriptor is decoded including Hannes' --export
>> option found in sg_inq, for example:
>>
>> # sg_inq --export /dev/sg0
>>     ...
>>     SCSI_IDENT_LUN_UUID=11223344-5566-7788-aabb-ccddeeffffee
>>
>> Perhaps some udev work is needed to incorporate this new identifier.
>
> Hm, we're going to have to do this carefully.  With the move to GPT
> partitions, both the UUID= designator in fstab and the /dev/disk/by
> -uuid/ of udev means the GPT UUID.  In theory the design of the UUID
> space is to allow random selection without clashing, so we could just
> place the SCSI ones in here as well and perhaps there won't be a
> problem, but I'd like us to think about the consequences first.

The UUID proposal (16-005r1 from Fred Knight and "Dr. Hannes Reinecke")
was somewhat controversial with five T10 members voting against it. The
minutes state: "The members voting no stated concern that this proposal
may result in market confusion, and those members intend to develop
proposals to mitigate any confusion."

Locally assigned identifiers are not new: there already is an 8 byte
locally assigned NAA identifier (NAA=3). It is not much used, perhaps
the new locally assigned UUID (which is 16 bytes long) will find
more use. As for the 'sg_inq --export' naming, that seems to nail
down the context of the new UUID pretty well:
   SCSI_IDENT_[TARGET|PORT|LUN]_UUID
with the identifier itself in canonical UUID format. So there should
be no confusion there. And partitions are nested inside logical
units and SCSI does not define those (apart from on tapes).

Doug Gilbert



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: T10 adds locally assigned UUID designation descriptor
  2016-02-08 20:04   ` Douglas Gilbert
  2016-02-09  0:02     ` Knight, Frederick
@ 2016-02-09 15:30     ` Hannes Reinecke
  1 sibling, 0 replies; 5+ messages in thread
From: Hannes Reinecke @ 2016-02-09 15:30 UTC (permalink / raw)
  To: dgilbert, James Bottomley, SCSI development list; +Cc: Knight, Frederick

On 02/08/2016 09:04 PM, Douglas Gilbert wrote:
> On 16-02-08 02:00 PM, James Bottomley wrote:
>> On Mon, 2016-02-08 at 12:33 -0500, Douglas Gilbert wrote:
>>> Recently, in draft spc5r08, T10 added a locally assigned RFC 4122
>>> UUID *** designation descriptor. That descriptor can now be
>>> returned for VPD page 0x83 (device identification) amongst others.
>>> It can be used anywhere SCSI needs a unique identifier expanding
>>> the previous set of preferred identifiers: EUI, NAA and SCSI_name
>>> (iSCSI).
>>>
>>> In the soon to be released sg3_utils version 1.42 the new UUID
>>> designation descriptor is decoded including Hannes' --export
>>> option found in sg_inq, for example:
>>>
>>> # sg_inq --export /dev/sg0
>>>     ...
>>>     SCSI_IDENT_LUN_UUID=11223344-5566-7788-aabb-ccddeeffffee
>>>
>>> Perhaps some udev work is needed to incorporate this new identifier.
>>
>> Hm, we're going to have to do this carefully.  With the move to GPT
>> partitions, both the UUID= designator in fstab and the /dev/disk/by
>> -uuid/ of udev means the GPT UUID.  In theory the design of the UUID
>> space is to allow random selection without clashing, so we could just
>> place the SCSI ones in here as well and perhaps there won't be a
>> problem, but I'd like us to think about the consequences first.
> 
> The UUID proposal (16-005r1 from Fred Knight and "Dr. Hannes Reinecke")
> was somewhat controversial with five T10 members voting against it. The
> minutes state: "The members voting no stated concern that this proposal
> may result in market confusion, and those members intend to develop
> proposals to mitigate any confusion."
> 
> Locally assigned identifiers are not new: there already is an 8 byte
> locally assigned NAA identifier (NAA=3). It is not much used, perhaps
> the new locally assigned UUID (which is 16 bytes long) will find
> more use. As for the 'sg_inq --export' naming, that seems to nail
> down the context of the new UUID pretty well:
>   SCSI_IDENT_[TARGET|PORT|LUN]_UUID
> with the identifier itself in canonical UUID format. So there should
> be no confusion there. And partitions are nested inside logical
> units and SCSI does not define those (apart from on tapes).
> 
Precisely.

These uuids will show up under /dev/disk/by-id
(as this is a hardware ID coming from the device).
So the existing UUID= or /dev/disk/by-uuid won't be influenced.
And UUID handling is confusing already (with basically every
subsystem providing one), so adding one more won't matter much :-)

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
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] 5+ messages in thread

end of thread, other threads:[~2016-02-09 15:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-08 17:33 T10 adds locally assigned UUID designation descriptor Douglas Gilbert
2016-02-08 19:00 ` James Bottomley
2016-02-08 20:04   ` Douglas Gilbert
2016-02-09  0:02     ` Knight, Frederick
2016-02-09 15:30     ` Hannes Reinecke

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.