On Tue, Jun 16, 2015 at 03:40:04PM +0200, Guus Sliepen wrote: > But is it just ifup <iface1..N> running in parallel, or is there also an > ifup -a running at the same time?
According to my observations there is a single ifup <iface> call for each interface and additionally there is a ifup -a called from another script. > > > > [per-interface lockfiles] > > > > Is this implementation for detecting deadlocks available anywhere for > > examination? The mechanism I implemented takes care of deadlocks by > > enforcing consistent order of interface locking and disables further > > locking in recurrent ifupdown invocations with an env variable. > > The implementation can be found in the ifupdown git repository: > > https://anonscm.debian.org/git/collab-maint/ifupdown.git > > Checkout the "concurrency" branch. Note that it only detects deadlocks > when one outer invocation of ifup or ifdown recursively calls itself > (ie, ifup A -> ifup B -> ifup A). It does not handle the situation when > two simultaneous invocations on different interfaces recursively call > eachother (ie, ifup A -> ifup B at the same time as ifup B -> ifup A). > But it does do proper locking of an interface for the whole time it is > being configured, unlike the older versions of ifupdown which really > allowed two simultaneous invocations of "ifup A" to be run. Thank you, I will take a look at the code. > Hm, looking at the code I don't think so, since a VLAN interface still > runs "ip link set dev bondX up", which may mess with the > if-pre-up.d/ifenslave script. I'll do some tests with the concurrency > branch and VLANs on bonded interfaces to see how well that copes with > it. I will appreciate sharing the results of your tests. > > -- > Met vriendelijke groet / with kind regards, > Guus Sliepen <[email protected]> Thanks! Dariusz
signature.asc
Description: Digital signature

