Hi,
Am 08.06.2011 um 19:00 schrieb Gerd Hoffmann:
Since qbus_create_inplace() adds each new child bus to
the front of the parent's child_bus list, this means that
qbus_find_recursive() will encounter the last-added bus
first, whereas usb_bus_find() will get the first-added bus.
Quite a while back I've tried to switch qdev from QLIST to QTAILQ
exactly to allow adding stuff to the tail of the lists(s), because
that feels more natural to me than the current ordering. "info
qtree" is upside-down too ;)
Is there anything we can do to fix this inconsistency [*],
or are we tied to the existing enumeration orders in both
cases for compatibility with users with currently-working
command lines or configurations?
Could be we break something. I think it is unlikely though.
Multiple busses of the same type are pretty uncommon, and any
examples with multiple lsi adapters (for example) advertise
explicitly assign devices via bus=. libvirt uses bus= everywhere too.
From Peter's description I believe this could be the root cause of
Rob's reversed -net /dev/ethX devices as well? That supposedly broke
with 0.14. So for setups earlier than 0.14 reversing would be a
bugfix, but if people adapted to 0.14 behavior changing it back would
break things. Difficult call.
Andreas