From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kay Sievers Date: Sun, 03 Sep 2006 12:48:38 +0000 Subject: Re: scripts for persistent names support Message-Id: <20060903124837.GA7476@vrfy.org> List-Id: References: <20060902090653.GA4424@wonderland.linux.it> In-Reply-To: <20060902090653.GA4424@wonderland.linux.it> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Sun, Sep 03, 2006 at 12:10:09PM +0200, Marco d'Itri wrote: > On Sep 03, Kay Sievers wrote: > > > > . /lib/udev/hotplug.functions > > Can we name that file udev.functions? > Done. Thanks. > > > device_description() { > > > local bus=$(sysreadlink device/bus) > > > bus=${bus##*/} > > We should not use the 'device' link. It's only a comment, but it's > > a nice information. Can't we read this information with udev rules > > and export it as an environment variable or pass it as an argument. > How? Exporting every attribute which can possibly be used look like a > lot of work. Something like this could work? SUBSYSTEMS="pci", ENV{COMMENT}="PCI Device: $attr{vendor}:$attr{product}" SUBSYSTEMS="usb", ENV{COMMENT}="USB Device: 0x$attr{idVendor}:0x$attr{idProduct}" SUBSYSTEMS="ieee1394", ENV{COMMENT}="Firewire Device: $attr{host_id}" SUBSYSTEMS="xen", ENV{COMMENT}="Xen virtual device" > > Can't we check with the rule writing script itself, if there are > > already created temporary rules, and if yes, we just copy them over? > > That way, the failed-event-replay would just take care of copying for > > systems who use the --retry-failed? > No, because the idea is that these failed events will not be replayed. Why not? If the called program looks first if there is already a temp rule for the device, it will try to make the temp rule a real rule, that's all. That way, you would not need a start script to do the work if you already use the retry-failed, and if you don't use the retry-failed, it will not hurt anything. The point is that the same code would just work fine without any changes in both cases, which is nice. > > > # ignore interfaces without a driver link > > > ENV{DRIVER}!="?*", GOTO="persistent_net_generator_end" > > Does this work? A network device event should never have the DRIVER > > property set, as it belongs to a parent device. > Indeed it does not work anymore... > Originally it used ENV{PHYSDEVDRIVER}, what should I use now? DRIVERS > does not work either. DRIVERS="?*", indicates that one of your parents is created by a bus driver. This should create a rule that only runs for a non-virtual device. One other thing, we should not assume that rules files are symlinks in the comments in the headers. Symlinks break the automatic rule reload on file changes. Kay ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel