В Tue, 12 Nov 2013 21:17:19 +1100 NeilBrown <ne...@suse.de> пишет:
> On Tue, 12 Nov 2013 18:16:24 +0900 Greg KH <gre...@linuxfoundation.org> wrote: > > > On Tue, Nov 12, 2013 at 07:54:42PM +1100, NeilBrown wrote: > > > On Tue, 12 Nov 2013 00:10:28 -0800 Greg KH <gre...@linuxfoundation.org> > > > wrote: > > > > > > > On Tue, Nov 12, 2013 at 11:31:45AM +1100, NeilBrown wrote: > > > > > Alternately, is there some "all devices have been probed, nothing new > > > > > will > > > > > appear unless it is hot-plugged" event. That would be equally useful > > > > > (and > > > > > probably mirrors what hardware-RAID cards do). > > > > > > > > No, there's no way to ever know this in a hotplug world, sorry. > > > > Especially with USB devices, they show up when they show up, there's no > > > > "oh look, the bus is all scanned now and all devices currently plugged > > > > in are found" type knowledge at all. > > > > > > > > Then there are hotplug PCI systems where people slam in PCI cards > > > > whenever they feel like it (remember, thunderbolt is PCI express...) > > > > > > > > Sorry, > > > > > > > > greg k-h > > > > > > Surely something must be possible. > > > > For USB, nope, there isn't, sorry. > > > > > Clearly a physical hot-plug event will cause more devices to appear, but > > > there must come a point at which no more (non-virtual) devices will appear > > > unless a physical event happens? > > > > Not for USB, sorry. > > > > The USB bus just announces devices when it finds them, there is no "all > > is quiet" type signal or detection. > > > > Same for PCI hotplug, devices can show up at any point in time, you > > never know when, and you don't know when all devices are "found". > > > > sorry, > > > > greg k-h > > > Hmmm... OK. USB doesn't bother me a lot, but PCI is important. > > I guess I'll just have to settle for a timeout much like the current > device-discovery timeout that systemd has. > Still hoping someone can tell me how to plug into that though... > If information about array name or other identification is available in udev rule (I see reference to device node only) what you can do is to start timer with "now+5second" (pick your timeout) that simply fires off mdadm -IRs for specific array. Something like mdadm-last-resort@.timer [Timer] OnCalendar=+5s mdadm-last-resort@.service [Service] Type=oneshot ExecStart=/sbin/mdadm -IRs %n udev rule ... SYSTEMD_WANTS=mdadm-last-resort@$ENV{SOMETHING_UNIQUE}.timer
signature.asc
Description: PGP signature
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel