Re: [RFT PATCH] Delay netroot mounting by 1 second

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2009-06-22 at 20:47 +0200, Seewer Philippe wrote:
> David Dillow wrote:
> > Ok, then we just need to set the udev settle time to 60 seconds in the
> > event of a netroot and avoid downing the link wherever possible. Given
> > that timeout, the only problem cases are static configs and MTU changes
> > on devices that cannot do that while UP'd.
> 
> I'd prefer not use an absolute settle time but instead "test/wait" the
> queue. But that's a minor detail.

True, I'm just thinking that older udevs probably don't give us much
options here.

As an aside, we should keep in mind that we shouldn't wait for all of
the disks to become available if we don't have to -- I've got a few
systems with quite a few LUNs to scan, but we only need one for the
root. If it can find it and continue, then the rest can be done in
parallel later.

> Hmmm... I'm not sure that a failing 'ip set eth0 mtu xy' is an indicator
> that we have to down/set mtu/up the interface. But to be honest, the 
> hardware/driver combinations I'm able to test on seem to be working 
> without down/up.
> 
> Are there any other methods to decide if we can set the mtu on the fly?

Only by doing it. If it fails, it may be an indication that the MTU is
invalid for the device, or that it cannot be changed while the device is
up. If it is invalid, it fails then as well.

This method is a compromise; those with good hardware/drivers can use
large MTUs without taking a penalty, and it still works for those less
fortunate. Only the guys trying to set an invalid MTU pay a potentially
needless time penalty, but I'm OK with that. :)

> Actually, if I'm not mistaken STP can have a maximum timeout of 90
> seconds. Add some paranoia and you're at 100. :-)
> 
> But yes, sleep 60 is a really bad idea for impatient people like you or me.
> 
> On the other hand, I'd really prefer other solutions to "ping" (if there
> are any). Having used it myself doesn't mean I like it. First of all,
> needing another utility enlarges the initrd even more, there's a possible
> risk of having paranoid firewalls and we'd have to check the effective
> service-port which isn't possible with standard iputils-ping.

To check any of these, you'll need a separate utility. bash
has /dev/tcp/IP/port redirection, but I doubt dash supports that. And
even then you'll have some klunky trickery in the shell script to add a
timeout to it. Nor will you be able to work with anything over UDP.

I think that checking an IP is reachable is sufficient to verify that
traffic is flowing -- and we have choices there. We can use the server
IP if it is local, and the gateway IP if not. If we're concerned about
firewalls blocking ICMP, we could use 'arping' to send ARP requests. If
there's a way to kick off an arp request with 'ip' or something in /proc
or /sys, that'd avoid additional bloat, but I'm not aware of one.
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux