This patch addresses the missing device alias assignment for filesystem and network interface devices in LXC domains. Before this patch, virsh dumpxml showed filesystem and network devices without aliases: <filesystem type='mount' accessmode='passthrough'> <source dir='/shared6'/> <target dir='/shared6'/> </filesystem> <interface type='bridge'> <mac address='b8:3f:d2:c9:e8:bd'/> <source bridge='br0'/> <target dev='vnet8'/> <model type='virtio'/> </interface> After this patch, filesystem devices have auto-generated aliases: <filesystem type='mount' accessmode='passthrough'> <source dir='/shared6'/> <target dir='/shared6'/> <alias name='fs1'/> <!-- Now assigned --> </filesystem> <interface type='bridge'> <mac address='b8:3f:d2:c9:e8:bd'/> <source bridge='br0'/> <target dev='vnet8'/> <model type='virtio'/> <alias name='net4'/> <!-- Now assigned --> </interface> Changes in v3: - Implemented new index allocation algorithm, scans existing aliases before new index allocation - Added hotplug support in lxcDomainAttachDeviceNetLive() - Handles gaps in numbering after device detach/attach - Follows QEMU's qemuAssignDeviceNetAlias() pattern - Tested hotplug scenario The implementation follows the same pattern used by QEMU's qemuAssignDeviceNetAlias() and qemuAssignDeviceFSAlias(). This is needed as a prerequisite for fixing bug #63 (loop device path length limitation), where device aliases will be used to compose synthetic lo_file_name references in the format "libvirt-$UUID-$DEVALIAS".