[lxc-devel] lxc.start.order bug - containers started in reverse order
Stéphane Graber
stgraber at ubuntu.com
Mon Apr 6 15:46:19 UTC 2015
On Wed, Mar 04, 2015 at 08:18:08PM +0100, Bostjan Skufca wrote:
> Hi there,
>
> I was trying to use lxc-autostart (v1.0.7, but git-master is the same) and
> realised containers are started in reverse order.
>
> As configuration parameter is called lxc.start.ORDER, one expects that
> container with order setting "1" will start before container with order
> setting set to "2", but this is not the case. Containers start in reverse
> order. If that is the desired behaviour, then I believe "order" should be
> called "priority" or sth.
>
> Anyway, I looked into src/lxc/lxc_autostart.c, and found this:
>
> # in main() this is called:
> qsort(&containers[0], count, sizeof(struct lxc_container *), cmporder);
>
> # in cmporder() the last comparison looks like this:
> return (c1_order - c2_order) * -1;
>
> qsort() sorts elements from lower to higher value, using callback
> cmporder(). Therefore cmporder() should return negative value if container
> c1 should be started before c2. That "* -1" achieves exactly the oposite
> result, as it causes containers to be sorted in descending order regarding
> to their order setting.
>
> I've submitted a pull request on github for this:
> https://github.com/lxc/lxc/pull/461
>
> b.
As nobody complained, I've now merged the change.
Note that I will not be pushing this to earlier releases as that'd be a
clear change of behavior for existing setups (even though the new order
is right).
--
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20150406/e539696f/attachment.sig>
More information about the lxc-devel
mailing list