vhost: fix kernel module insertion
authorXiaobo Chi <xiaobo.chi@nokia.com>
Wed, 11 Nov 2015 06:57:23 +0000 (14:57 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 24 Nov 2015 20:34:11 +0000 (21:34 +0100)
commit7836894a641d3befe5c5c8e75f31f84ce4e9b4b2
treed7632b3543eeaa01e20cceb5938a3c25366ad813
parentcd81ee7cc28b11cd698b61a1db6b99a847bb33ea
vhost: fix kernel module insertion

Problem:if I firstly insert my kmod_test.ko, then insert eventfd_link.ko,
error will happen with hint "Device or resource busy". This is because
the default minor device number, 0, has been occupied by my kmod_test.ko .

root@distro:~/test$ lsmod
Module                  Size  Used by
kmod_test                927  0
vboxsf                 35930  4
vboxguest             222130  1 vboxsf
microcode              10315  0
autofs4                25051  0
root@distro:~/test$ insmod ./eventfd_link.ko
insmod: ERROR: could not insert module ./eventfd_link.ko: Device or
resource busy

Explanation: For miscdevices, the major device_no is same, so the minor
device_no should be set to ditinguish different misc devices;  if not set
the minor, it may fail while insmod due to the default minor value, 0, has
been used by other miscdevice. MISC_DYNAMIC_MINOR means to let Linux
kernel dynamically assign one minor devide number while loading.

Signed-off-by: Xiaobo Chi <xiaobo.chi@nokia.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
lib/librte_vhost/eventfd_link/eventfd_link.c