From mboxrd@z Thu Jan 1 00:00:00 1970 From: Douglas Gilbert Date: Tue, 07 Mar 2006 17:05:40 +0000 Subject: Re: [PATCH] /dev/disk/by-id incomplete and unhelpful for SATA drives Message-Id: <440DBD64.2080601@torque.net> List-Id: References: <20051221185518.GA9100@vrfy.org> <43A9CFE0.2070103@edesix.com> <20051222043527.GA13175@vrfy.org> <43AA8D0B.10504@edesix.com> <20051222183525.GA17871@devserv.devel.redhat.com> <43AB40E2.1050009@edesix.com> <20060106013640.GA27841@aracnet.com> <43BDDCAE.7000506@torque.net> <43BE6506.7090901@torque.net> <440C96B0.7040404@pobox.com> In-Reply-To: <440C96B0.7040404@pobox.com> MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: Jeff Garzik Cc: patman@aracnet.com, Chris Paulson-Ellis , Bill Nottingham , linux-hotplug-devel@lists.sourceforge.net, linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org SmVmZiBHYXJ6aWsgd3JvdGU6Cj4gRG91Z2xhcyBHaWxiZXJ0IHdyb3RlOgo+IAo+PiBDaGFuZ2Vs b2c6Cj4+ICAgLSBtYWtlIGV4aXN0aW5nIGxpYmF0YSBWUEQgZGV2aWNlIGlkZW50aWZpY2F0aW9u IHBhZ2UgKDB4ODMpCj4+ICAgICBzdXBwbHkgdGhlIEFUQSBzZXJpYWwgbnVtYmVyIGluIHRoZSBs aWJhdGEgInZlbmRvcgo+PiAgICAgc3BlY2lmaWMiIGRlc2lnbmF0b3IgKGZyb20gQ2hyaXMgUGF1 bHNvbi1FbGxpcykKPj4gICAtIGFkZCBhICJ0MTAgdmVuZG9yIGlkIGJhc2VkIiBkZXNpZ25hdG9y IGFzIGRlZmluZWQgaW4KPj4gICAgIFNBVCByZXYgMDdhIChzZWN0aW9uIDEwLjMuNC4yLjMpIHRo YXQgc3VwcGxpZXMgQVRBCj4+ICAgICBtb2RlbCBhbmQgc2VyaWFsIG51bWJlcnMKPj4gICAtIG1h a2UgdGhlIGxpYmF0YSBWUEQgcGFnZSAweDgzIG1vcmUgZXh0ZW5zaWJsZSAoZm9yCj4+ICAgICBh ZGRpbmcgbW9yZSBkZXNpZ25hdG9ycyBpbiB0aGUgZnV0dXJlKS4KPj4KPj4gU2lnbmVkLW9mZi1i eTogRG91Z2xhcyBHaWxiZXJ0IDxkb3VnZ0B0b3JxdWUubmV0Pgo+IAo+IAo+PiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPj4KPj4gLS0tIGxpbnV4L2RyaXZlcnMvc2NzaS9saWJhdGEtc2NzaS5jICAgIDIwMDYt MDEtMDQgMDg6NTA6NDIuMDAwMDAwMDAwCj4+ICsxMDAwCj4+ICsrKyBsaW51eC9kcml2ZXJzL3Nj c2kvbGliYXRhLXNjc2kuYzI2MTV2cGQgICAgMjAwNi0wMS0wNgo+PiAyMDoxNjoyNS4wMDAwMDAw MDAgKzEwMDAKPj4gQEAgLTE1MzIsMTYgKzE1MzIsMTYgQEAKPj4gICAgICByZXR1cm4gMDsKPj4g IH0KPj4gIAo+PiAtc3RhdGljIGNvbnN0IGNoYXIgKmlucV84M19zdHIgPSAiTGludXggQVRBLVND U0kgc2ltdWxhdG9yIjsKPj4gLQo+PiAgLyoqCj4+ICAgKiAgICBhdGFfc2NzaW9wX2lucV84MyAt IFNpbXVsYXRlIElOUVVJUlkgRVZQRCBwYWdlIDgzLCBkZXZpY2UgaWRlbnRpdHkKPj4gICAqICAg IEBhcmdzOiBkZXZpY2UgSURFTlRJRlkgZGF0YSAvIFNDU0kgY29tbWFuZCBvZiBpbnRlcmVzdC4K Pj4gICAqICAgIEByYnVmOiBSZXNwb25zZSBidWZmZXIsIHRvIHdoaWNoIHNpbXVsYXRlZCBTQ1NJ IGNtZCBvdXRwdXQgaXMKPj4gc2VudC4KPj4gICAqICAgIEBidWZsZW46IFJlc3BvbnNlIGJ1ZmZl ciBsZW5ndGguCj4+ICAgKgo+PiAtICogICAgUmV0dXJucyBkZXZpY2UgaWRlbnRpZmljYXRpb24u ICBDdXJyZW50bHkgaGFyZGNvZGVkIHRvCj4+IC0gKiAgICByZXR1cm4gIkxpbnV4IEFUQS1TQ1NJ IHNpbXVsYXRvciIuCj4+ICsgKiAgICBZaWVsZHMgdHdvIGxvZ29jYWwgdW5pdCBkZXZpY2UgaWRl bnRpZmljYXRpb24gZGVzaWduYXRvcnM6Cj4+ICsgKiAgICAgIC0gdmVuZG9yIHNwZWNpZmljIEFT Q0lJIGNvbnRhaW5pbmcgdGhlIEFUQSBzZXJpYWwgbnVtYmVyCj4+ICsgKiAgICAgIC0gU0FUIGRl ZmluZWQgInQxMCB2ZW5kb3IgaWQgYmFzZWQiIGNvbnRhaW5pbmcgQVNDSUkgdmVuZG9yCj4+ICsg KiAgICAgICAgbmFtZSAoIkFUQSAgICAgIiksIG1vZGVsIGFuZCBzZXJpYWwgbnVtYmVycy4KPj4g ICAqCj4+ICAgKiAgICBMT0NLSU5HOgo+PiAgICogICAgc3Bpbl9sb2NrX2lycXNhdmUoaG9zdF9z ZXQgbG9jaykKPj4gQEAgLTE1NTAsMTYgKzE1NTAsMzkgQEAKPj4gIHVuc2lnbmVkIGludCBhdGFf c2NzaW9wX2lucV84MyhzdHJ1Y3QgYXRhX3Njc2lfYXJncyAqYXJncywgdTggKnJidWYsCj4+ICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnVmbGVuKQo+PiAgewo+PiArICAgIGludCBu dW07Cj4+ICsgICAgY29uc3QgaW50IHNhdF9tb2RlbF9zZXJpYWxfZGVzY19sZW4gPSA2ODsKPj4g KyAgICBjb25zdCBpbnQgYXRhX21vZGVsX2J5dGVfbGVuID0gNDA7Cj4+ICsKPj4gICAgICByYnVm WzFdID0gMHg4MzsgICAgICAgICAgICAvKiB0aGlzIHBhZ2UgY29kZSAqLwo+PiAtICAgIHJidWZb M10gPSA0ICsgc3RybGVuKGlucV84M19zdHIpOyAgICAvKiBwYWdlIGxlbiAqLwo+PiArICAgIG51 bSA9IDQ7Cj4+ICAKPj4gLSAgICAvKiBvdXIgb25lIGFuZCBvbmx5IGlkZW50aWZpY2F0aW9uIGRl c2NyaXB0b3IgKHZlbmRvci1zcGVjaWZpYykgKi8KPj4gLSAgICBpZiAoYnVmbGVuID4gKHN0cmxl bihpbnFfODNfc3RyKSArIDQgKyA0IC0gMSkpIHsKPj4gLSAgICAgICAgcmJ1Zls0ICsgMF0gPSAy OyAgICAvKiBjb2RlIHNldDogQVNDSUkgKi8KPj4gLSAgICAgICAgcmJ1Zls0ICsgM10gPSBzdHJs ZW4oaW5xXzgzX3N0cik7Cj4+IC0gICAgICAgIG1lbWNweShyYnVmICsgNCArIDQsIGlucV84M19z dHIsIHN0cmxlbihpbnFfODNfc3RyKSk7Cj4+ICsgICAgaWYgKGJ1ZmxlbiA+IChBVEFfU0VSTk9f TEVOICsgbnVtICsgMykpIHsKPj4gKyAgICAgICAgLyogcGl2PTAsIGFzc29jPWx1LCBjb2RlX3Nl dKxTSUksIGRlc2lnbmF0b3I9dmVuZG9yICovCj4+ICsgICAgICAgIHJidWZbbnVtICsgMF0gPSAy OyAgIAo+PiArICAgICAgICByYnVmW251bSArIDNdID0gQVRBX1NFUk5PX0xFTjsKPj4gKyAgICAg ICAgbnVtICs9IDQ7Cj4+ICsgICAgICAgIGF0YV9kZXZfaWRfc3RyaW5nKGFyZ3MtPmlkLCAodW5z aWduZWQgY2hhciAqKSByYnVmICsgbnVtLAo+PiArICAgICAgICAgICAgICAgICAgQVRBX0lEX1NF Uk5PX09GUywgQVRBX1NFUk5PX0xFTik7Cj4+ICsgICAgICAgIG51bSArPSBBVEFfU0VSTk9fTEVO Owo+PiAgICAgIH0KPj4gLQo+PiArICAgIGlmIChidWZsZW4gPiAoc2F0X21vZGVsX3NlcmlhbF9k ZXNjX2xlbiArIG51bSArIDMpKSB7Cj4+ICsgICAgICAgIC8qIFNBVCBkZWZpbmVkIGx1IG1vZGVs IGFuZCBzZXJpYWwgbnVtYmVycyBkZXNjcmlwdG9yICovCj4+ICsgICAgICAgIC8qIHBpdj0wLCBh c3NvYz1sdSwgY29kZV9zZXSsU0lJLCBkZXNpZ25hdG9yPXQxMCB2ZW5kb3IgaWQgKi8KPj4gKyAg ICAgICAgcmJ1ZltudW0gKyAwXSA9IDI7ICAgCj4+ICsgICAgICAgIHJidWZbbnVtICsgMV0gPSAx OyAgIAo+PiArICAgICAgICByYnVmW251bSArIDNdID0gc2F0X21vZGVsX3NlcmlhbF9kZXNjX2xl bjsKPj4gKyAgICAgICAgbnVtICs9IDQ7Cj4+ICsgICAgICAgIHN0cm5jcHkocmJ1ZiArIG51bSwg IkFUQSAgICAgIiwgOCk7Cj4+ICsgICAgICAgIG51bSArPSA4Owo+PiArICAgICAgICBhdGFfZGV2 X2lkX3N0cmluZyhhcmdzLT5pZCwgKHVuc2lnbmVkIGNoYXIgKikgcmJ1ZiArIG51bSwKPj4gKyAg ICAgICAgICAgICAgICAgIEFUQV9JRF9QUk9EX09GUywgYXRhX21vZGVsX2J5dGVfbGVuKTsKPj4g KyAgICAgICAgbnVtICs9IGF0YV9tb2RlbF9ieXRlX2xlbjsKPj4gKyAgICAgICAgYXRhX2Rldl9p ZF9zdHJpbmcoYXJncy0+aWQsICh1bnNpZ25lZCBjaGFyICopIHJidWYgKyBudW0sCj4+ICsgICAg ICAgICAgICAgICAgICBBVEFfSURfU0VSTk9fT0ZTLCBBVEFfU0VSTk9fTEVOKTsKPj4gKyAgICAg ICAgbnVtICs9IEFUQV9TRVJOT19MRU47Cj4+ICsgICAgfQo+PiArICAgIHJidWZbM10gPSBudW0g LSA0OyAgICAvKiBwYWdlIGxlbiAoYXNzdW1lIGxlc3MgdGhhbiAyNTYgYnl0ZXMpICovCj4+ICAg ICAgcmV0dXJuIDA7Cj4gCj4gCj4gCj4gVGhpcyByZW1vdmVzIHRoZSBpZGVudGlmaWVyIHRoYXQg aGFzIGV4aXN0ZWQgc2luY2UgbGliYXRhIHdhcyBjcmVhdGVkLAo+IHdoaWNoIGNvdWxkIGJyZWFr IHNvbWV0aGluZy4KCkplZmYsClRoYXQgcGF0Y2ggd2FzIHNlbnQgb24gNnRoIEphbnVhcnkgMjAw Ni4gVGhhdCBpcyBhIGxvbmcKdGltZSB0byByZXNwb25kLgoKVGhlIGV4aXN0aW5nICJMaW51eCBB VEEtU0NTSSBzaW11bGF0b3IiIGhhcyBhc3NvYz1sdSBhbmQKZGVzaWduYXRvcl90eXBlPXZlbmRv ci4gVGhhdCBjbGFpbXMgdG8gYmUgdGhlIGRldmljZSBpZGVudGlmaWVyCmZvciB0aGUgU0FUQSBk aXNrIChpLmUuIHRoZSBsb2dpY2FsIHVuaXQpIGluIHZlbmRvciBmb3JtYXQuClRoYXQgaXMganVz dCBwbGFpbiB3cm9uZy4gQ2hyaXMgUGF1bHNvbi1FbGxpcyB3YXMgY29ycmVjdCB0bwpyZXBsYWNl IGl0IHdpdGggaWRlbnRpZmljYXRpb24gaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgU0FUQQpk aXNrLiBJIHRoZW4gd2VudCBhIHN0ZXAgZnVydGhlciBhbmQgYWRkZWQgdGhlIFNBVCBkZWZpbmVk CndheSBvZiBkb2luZyBhIHNpbWlsYXIgdGhpbmcuIEluIHRoZSBmdXR1cmUgd2hlbiBTQVRBIGRp c2tzCnN0YXJ0IHN1cHBvcnRpbmcgYSBuYWEtNSB3b3JsZCB3aWRlIHVuaXF1ZSBpZGVudGlmaWVy ICh3b3JkIDEwOAp0byAxMTEgaW4gYSBJREVOVElGWSBERVZJQ0UgcmVzcG9uc2UpIHRoZW4gYSB0 aGlyZCBkZXNpZ25hdG9yCmNhbiBiZSBhZGRlZCAoYXNzb2M9bHUgZGVzaWduYXRvcl90eXBlPW5h YSkuCgo+IEF0IHRoZSB2ZXJ5IGxlYXN0LCB1cGRhdGUgdGhlIGV4aXN0aW5nIGNvZGUgdG8gaW5k aWNhdGUgYXNzb2M9cG9ydCwgYW5kCj4gdGhlbiBhcHBlbmQgdGhlIG90aGVyIGRlc2NyaXB0b3Ig ZGF0YSB5b3Ugd2lzaCB0byBhZGQgYWZ0ZXIgdGhhdC4KClNvIGNoYW5nZSBpdCAoaS5lLiBhc3Nv Yz1sdSAtPiBhc3NvYz1wb3J0KSBhbmQga2VlcCB0aGUKIkxpbnV4IEFUQS1TQ1NJIHNpbXVsYXRv ciIgc3RyaW5nIGZvciAocGFydGlhbCkgYmFja3dhcmQKY29tcGF0aWJpbGl0eS4gSG1tbW0uCgpB IFNBVCBsYXllciBpZGVudGlmaWVycyBpdHNlbGYgZ2VuZXJpY2FsbHkgd2l0aCAiQVRBICAgICAg ICIKaW4gdGhlIHZlbmRvciBzdHJpbmcuIEl0IGNvdWxkIGFsc28gdXNlIGEgdmVyc2lvbiBkZXNj cmlwdG9yCmluIHRoZSBzdGFuZGFyZCBJTlFVSVJZIHJlc3BvbnNlIHRvIGlkZW50aWZ5IHdoaWNo IGxldmVsCm9mIFNBVCBpdCBzdXBwb3J0ZWQuIEFzIGZvciBpZGVudGlmeWluZyB0aGF0IHRoaXMg d2FzCnRoZSBsaW51eCBsaWJhdGEgaW1wbGVtZW50YXRpb24gb2YgU0FULCBJJ20gbm90IHN1cmUg d2hlcmUKdGhhdCBzaG91bGQgZ28uIFZQRCBwYWdlIDB4ODMgZm9yIGRldmljZSBpZGVudGlmaWNh dGlvbgpkb2Vzbid0IHNlZW0gYXBwcm9wcmlhdGUuIElmIGEgbGludXggYm94IHdhcyBiZWluZyB1 c2VkCmFzIGEgRkMgdG8gU0FUQSBicmlkZ2UgdGhlbiB0aGUgYnJpZGdlIHNob3VsZCBiZSBwdXR0 aW5nCkZDIHJlbGF0ZWQgc3R1ZmYgaW4gYXNzb2M9cG9ydCBhbmQgYXNzb2PedmljZSB3aGlsZQpr ZWVwaW5nIHdoYXQgbGliYXRhIHB1dCBpbiBhc3NvYz1sdS4KCkRvdWcgR2lsYmVydAoKCgoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGlz IFNGLk5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnkgeFBNTCwgYSBncm91bmRicmVha2luZyBzY3Jp cHRpbmcgbGFuZ3VhZ2UKdGhhdCBleHRlbmRzIGFwcGxpY2F0aW9ucyBpbnRvIHdlYiBhbmQgbW9i aWxlIG1lZGlhLiBBdHRlbmQgdGhlIGxpdmUgd2ViY2FzdAphbmQgam9pbiB0aGUgcHJpbWUgZGV2 ZWxvcGVyIGdyb3VwIGJyZWFraW5nIGludG8gdGhpcyBuZXcgY29kaW5nIHRlcnJpdG9yeSEKaHR0 cDovL3NlbC5hcy11cy5mYWxrYWcubmV0L3NlbD9jbWQ9bG5rJmtpZBEwOTQ0JmJpZCQxNzIwJmRh dBIxNjQyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxp bnV4LWhvdHBsdWctZGV2ZWwgbWFpbGluZyBsaXN0ICBodHRwOi8vbGludXgtaG90cGx1Zy5zb3Vy Y2Vmb3JnZS5uZXQKTGludXgtaG90cGx1Zy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0 cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtaG90cGx1Zy1k ZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Douglas Gilbert Subject: Re: [PATCH] /dev/disk/by-id incomplete and unhelpful for SATA drives Date: Tue, 07 Mar 2006 12:05:40 -0500 Message-ID: <440DBD64.2080601@torque.net> References: <20051221185518.GA9100@vrfy.org> <43A9CFE0.2070103@edesix.com> <20051222043527.GA13175@vrfy.org> <43AA8D0B.10504@edesix.com> <20051222183525.GA17871@devserv.devel.redhat.com> <43AB40E2.1050009@edesix.com> <20060106013640.GA27841@aracnet.com> <43BDDCAE.7000506@torque.net> <43BE6506.7090901@torque.net> <440C96B0.7040404@pobox.com> Reply-To: dougg@torque.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <440C96B0.7040404@pobox.com> Sender: linux-scsi-owner@vger.kernel.org To: Jeff Garzik Cc: patman@aracnet.com, Chris Paulson-Ellis , Bill Nottingham , linux-hotplug-devel@lists.sourceforge.net, linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org List-Id: linux-ide@vger.kernel.org Jeff Garzik wrote: > Douglas Gilbert wrote: > >> Changelog: >> - make existing libata VPD device identification page (0x83) >> supply the ATA serial number in the libata "vendor >> specific" designator (from Chris Paulson-Ellis) >> - add a "t10 vendor id based" designator as defined in >> SAT rev 07a (section 10.3.4.2.3) that supplies ATA >> model and serial numbers >> - make the libata VPD page 0x83 more extensible (for >> adding more designators in the future). >> >> Signed-off-by: Douglas Gilbert > > >> ------------------------------------------------------------------------ >> >> --- linux/drivers/scsi/libata-scsi.c 2006-01-04 08:50:42.000000000 >> +1000 >> +++ linux/drivers/scsi/libata-scsi.c2615vpd 2006-01-06 >> 20:16:25.000000000 +1000 >> @@ -1532,16 +1532,16 @@ >> return 0; >> } >> >> -static const char *inq_83_str = "Linux ATA-SCSI simulator"; >> - >> /** >> * ata_scsiop_inq_83 - Simulate INQUIRY EVPD page 83, device identity >> * @args: device IDENTIFY data / SCSI command of interest. >> * @rbuf: Response buffer, to which simulated SCSI cmd output is >> sent. >> * @buflen: Response buffer length. >> * >> - * Returns device identification. Currently hardcoded to >> - * return "Linux ATA-SCSI simulator". >> + * Yields two logocal unit device identification designators: >> + * - vendor specific ASCII containing the ATA serial number >> + * - SAT defined "t10 vendor id based" containing ASCII vendor >> + * name ("ATA "), model and serial numbers. >> * >> * LOCKING: >> * spin_lock_irqsave(host_set lock) >> @@ -1550,16 +1550,39 @@ >> unsigned int ata_scsiop_inq_83(struct ata_scsi_args *args, u8 *rbuf, >> unsigned int buflen) >> { >> + int num; >> + const int sat_model_serial_desc_len = 68; >> + const int ata_model_byte_len = 40; >> + >> rbuf[1] = 0x83; /* this page code */ >> - rbuf[3] = 4 + strlen(inq_83_str); /* page len */ >> + num = 4; >> >> - /* our one and only identification descriptor (vendor-specific) */ >> - if (buflen > (strlen(inq_83_str) + 4 + 4 - 1)) { >> - rbuf[4 + 0] = 2; /* code set: ASCII */ >> - rbuf[4 + 3] = strlen(inq_83_str); >> - memcpy(rbuf + 4 + 4, inq_83_str, strlen(inq_83_str)); >> + if (buflen > (ATA_SERNO_LEN + num + 3)) { >> + /* piv=0, assoc=lu, code_set=ACSII, designator=vendor */ >> + rbuf[num + 0] = 2; >> + rbuf[num + 3] = ATA_SERNO_LEN; >> + num += 4; >> + ata_dev_id_string(args->id, (unsigned char *) rbuf + num, >> + ATA_ID_SERNO_OFS, ATA_SERNO_LEN); >> + num += ATA_SERNO_LEN; >> } >> - >> + if (buflen > (sat_model_serial_desc_len + num + 3)) { >> + /* SAT defined lu model and serial numbers descriptor */ >> + /* piv=0, assoc=lu, code_set=ACSII, designator=t10 vendor id */ >> + rbuf[num + 0] = 2; >> + rbuf[num + 1] = 1; >> + rbuf[num + 3] = sat_model_serial_desc_len; >> + num += 4; >> + strncpy(rbuf + num, "ATA ", 8); >> + num += 8; >> + ata_dev_id_string(args->id, (unsigned char *) rbuf + num, >> + ATA_ID_PROD_OFS, ata_model_byte_len); >> + num += ata_model_byte_len; >> + ata_dev_id_string(args->id, (unsigned char *) rbuf + num, >> + ATA_ID_SERNO_OFS, ATA_SERNO_LEN); >> + num += ATA_SERNO_LEN; >> + } >> + rbuf[3] = num - 4; /* page len (assume less than 256 bytes) */ >> return 0; > > > > This removes the identifier that has existed since libata was created, > which could break something. Jeff, That patch was sent on 6th January 2006. That is a long time to respond. The existing "Linux ATA-SCSI simulator" has assoc=lu and designator_type=vendor. That claims to be the device identifier for the SATA disk (i.e. the logical unit) in vendor format. That is just plain wrong. Chris Paulson-Ellis was correct to replace it with identification information related to the SATA disk. I then went a step further and added the SAT defined way of doing a similar thing. In the future when SATA disks start supporting a naa-5 world wide unique identifier (word 108 to 111 in a IDENTIFY DEVICE response) then a third designator can be added (assoc=lu designator_type=naa). > At the very least, update the existing code to indicate assoc=port, and > then append the other descriptor data you wish to add after that. So change it (i.e. assoc=lu -> assoc=port) and keep the "Linux ATA-SCSI simulator" string for (partial) backward compatibility. Hmmmm. A SAT layer identifiers itself generically with "ATA " in the vendor string. It could also use a version descriptor in the standard INQUIRY response to identify which level of SAT it supported. As for identifying that this was the linux libata implementation of SAT, I'm not sure where that should go. VPD page 0x83 for device identification doesn't seem appropriate. If a linux box was being used as a FC to SATA bridge then the bridge should be putting FC related stuff in assoc=port and assoc=device while keeping what libata put in assoc=lu. Doug Gilbert