From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264881AbUASNIV (ORCPT ); Mon, 19 Jan 2004 08:08:21 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264893AbUASNIV (ORCPT ); Mon, 19 Jan 2004 08:08:21 -0500 Received: from ns.suse.de ([195.135.220.2]:23187 "EHLO Cantor.suse.de") by vger.kernel.org with ESMTP id S264881AbUASNIT (ORCPT ); Mon, 19 Jan 2004 08:08:19 -0500 Date: Mon, 19 Jan 2004 14:08:17 +0100 From: Olaf Hering To: Andrey Borzenkov Cc: Greg KH , jw schultz , linux-kernel@vger.kernel.org, linux-hotplug-devel@lists.sourceforge.net Subject: Re: Does sysfs really provides persistent hardware path to devices? Message-ID: <20040119130817.GA27953@suse.de> References: <200308311453.00122.arvidjaar@mail.ru> <20030924211823.GA11234@kroah.com> <200401172334.13561.arvidjaar@mail.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <200401172334.13561.arvidjaar@mail.ru> X-DOS: I got your 640K Real Mode Right Here Buddy! X-Homeland-Security: You are not supposed to read this line! You are a terrorist! User-Agent: Mutt und vi sind doch schneller als Notes Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jan 17, Andrey Borzenkov wrote: > > > Well, we did not move a tiny bit since the beginning of this thread :) > > > You still did not show me namedev configuration that implements > > > persistent name for a device based on its physical location :))) > > > > Ok, do you have any other ideas of how to do this? > > > > given current sysfs implementation - using wildcards remains the only > solution. I for now am using this trivial script: > > pts/0}% cat /etc/udev/scripts/removables > #!/usr/bin/perl > > my $devpath, $base; > > $base = $1 if ($ARGV[0] =~ /(.*\D)\d*$/); > $devpath = readlink "/sys/block/$base/device"; > > if ($devpath =~ > m|/devices/pci0000:00/0000:00:1f.4/usb2/2-2/2-2.4/2-2.4:1.0/host\d+/\d+:0:0:0|) > { > print "flash0"; > } elsif ($devpath =~ > m|/devices/pci0000:00/0000:00:1f.4/usb2/2-2/2-2.1/2-2.1:1.0/host\d+/\d+:0:0:0|) > { > print "flash1"; > } elsif ($devpath =~ m|/devices/legacy/host\d+/\d+:0:4:0|) { > print "jaz"; > } else { > exit(1); > } I'm not sure what you are trying to do. Working with the 'physical location' of removeable devices will probably fail. The usb-storage devices here have a serial field, I really hope it is unique, use it. -- USB is for mice, FireWire is for men! sUse lINUX ag, nÜRNBERG From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Date: Mon, 19 Jan 2004 13:08:17 +0000 Subject: Re: Does sysfs really provides persistent hardware path to devices? Message-Id: <20040119130817.GA27953@suse.de> List-Id: References: <200308311453.00122.arvidjaar@mail.ru> <20030924211823.GA11234@kroah.com> <200401172334.13561.arvidjaar@mail.ru> In-Reply-To: <200401172334.13561.arvidjaar@mail.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: Andrey Borzenkov Cc: Greg KH , jw schultz , linux-kernel@vger.kernel.org, linux-hotplug-devel@lists.sourceforge.net IE9uIFNhdCwgSmFuIDE3LCBBbmRyZXkgQm9yemVua292IHdyb3RlOgoKPiA+ID4gV2VsbCwgd2Ug ZGlkIG5vdCBtb3ZlIGEgdGlueSBiaXQgc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aGlzIHRocmVh ZCA6KQo+ID4gPiBZb3Ugc3RpbGwgZGlkIG5vdCBzaG93IG1lIG5hbWVkZXYgY29uZmlndXJhdGlv biB0aGF0IGltcGxlbWVudHMKPiA+ID4gcGVyc2lzdGVudCBuYW1lIGZvciBhIGRldmljZSBiYXNl ZCBvbiBpdHMgcGh5c2ljYWwgbG9jYXRpb24gOikpKQo+ID4KPiA+IE9rLCBkbyB5b3UgaGF2ZSBh bnkgb3RoZXIgaWRlYXMgb2YgaG93IHRvIGRvIHRoaXM/Cj4gPgo+IAo+IGdpdmVuIGN1cnJlbnQg c3lzZnMgaW1wbGVtZW50YXRpb24gLSB1c2luZyB3aWxkY2FyZHMgcmVtYWlucyB0aGUgb25seSAK PiBzb2x1dGlvbi4gSSBmb3Igbm93IGFtIHVzaW5nIHRoaXMgdHJpdmlhbCBzY3JpcHQ6Cj4gCj4g cHRzLzB9JSBjYXQgL2V0Yy91ZGV2L3NjcmlwdHMvcmVtb3ZhYmxlcwo+ICMhL3Vzci9iaW4vcGVy bAo+IAo+IG15ICRkZXZwYXRoLCAkYmFzZTsKPiAKPiAkYmFzZSA9ICQxIGlmICgkQVJHVlswXSA9 fiAvKC4qXEQpXGQqJC8pOwo+ICRkZXZwYXRoID0gcmVhZGxpbmsgIi9zeXMvYmxvY2svJGJhc2Uv ZGV2aWNlIjsKPiAKPiBpZiAoJGRldnBhdGggPX4gCj4gbXwvZGV2aWNlcy9wY2kwMDAwOjAwLzAw MDA6MDA6MWYuNC91c2IyLzItMi8yLTIuNC8yLTIuNDoxLjAvaG9zdFxkKy9cZCs6MDowOjB8KSAK PiB7Cj4gICAgICAgICBwcmludCAiZmxhc2gwIjsKPiB9IGVsc2lmICgkZGV2cGF0aCA9fiAKPiBt fC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxZi40L3VzYjIvMi0yLzItMi4xLzItMi4xOjEu MC9ob3N0XGQrL1xkKzowOjA6MHwpIAo+IHsKPiAgICAgICAgIHByaW50ICJmbGFzaDEiOwo+IH0g ZWxzaWYgKCRkZXZwYXRoID1+IG18L2RldmljZXMvbGVnYWN5L2hvc3RcZCsvXGQrOjA6NDowfCkg ewo+ICAgICAgICAgcHJpbnQgImpheiI7Cj4gfSBlbHNlIHsKPiAgICAgICAgIGV4aXQoMSk7Cj4g fQoKSSdtIG5vdCBzdXJlIHdoYXQgeW91IGFyZSB0cnlpbmcgdG8gZG8uIFdvcmtpbmcgd2l0aCB0 aGUgJ3BoeXNpY2FsCmxvY2F0aW9uJyBvZiByZW1vdmVhYmxlIGRldmljZXMgd2lsbCBwcm9iYWJs eSBmYWlsLiBUaGUgdXNiLXN0b3JhZ2UKZGV2aWNlcyBoZXJlIGhhdmUgYSBzZXJpYWwgZmllbGQs IEkgcmVhbGx5IGhvcGUgaXQgaXMgdW5pcXVlLCB1c2UgaXQuCgotLSAKVVNCIGlzIGZvciBtaWNl LCBGaXJlV2lyZSBpcyBmb3IgbWVuIQoKc1VzZSBsSU5VWCBhZywgbsOcUk5CRVJHCgoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGUgU0Yu TmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieSBFY2xpcHNlQ29uIDIwMDQKUHJlbWllcmUgQ29uZmVy ZW5jZSBvbiBPcGVuIFRvb2xzIERldmVsb3BtZW50IGFuZCBJbnRlZ3JhdGlvbgpTZWUgdGhlIGJy ZWFkdGggb2YgRWNsaXBzZSBhY3Rpdml0eS4gRmVicnVhcnkgMy01IGluIEFuYWhlaW0sIENBLgpo dHRwOi8vd3d3LmVjbGlwc2Vjb24ub3JnL29zZG4KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXgtaG90cGx1Zy1kZXZlbCBtYWlsaW5nIGxpc3QgIGh0 dHA6Ly9saW51eC1ob3RwbHVnLnNvdXJjZWZvcmdlLm5ldApMaW51eC1ob3RwbHVnLWRldmVsQGxp c3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9s aXN0aW5mby9saW51eC1ob3RwbHVnLWRldmVs