On 10/15/2015 01:55 PM, Ansis Atteka wrote:
On Wed, Oct 14, 2015 at 5:33 PM, Saurabh Mohan
<saur...@cplanenetworks.com> wrote:
On 10/14/2015 04:58 PM, Ansis Atteka wrote:

On Wed, Oct 14, 2015 at 4:08 PM, Ben Pfaff <b...@nicira.com> wrote:

On Wed, Oct 14, 2015 at 03:28:24PM -0700, Joe Stringer wrote:

On 14 October 2015 at 15:21, Ben Pfaff <b...@nicira.com> wrote:

On Tue, Oct 06, 2015 at 04:35:32PM -0700, Saurabh Mohan wrote:

On Ubuntu depmod's search priority is configured in /etc/depmod to be
updates and then the kernel built-in directory.
$ cat /etc/depmod.d/ubuntu.conf
search updates ubuntu built-in

Thus change the placement of openvswitch.ko under updates/ not
kernel/updates.

Signed-off-by: Saurabh Mohan <saur...@cplanenetworks.com>


This appears to be correct, but I'm confused about how this could have
not been noticed for years.  Did something change recently?


We recently changed it from kernel/ to kernel/updates (prior to v2.4
release), and the commit message suggests it was previously
nondeterministic:

commit b519432205c36bda5c7331f77a49eaaa919967ad
Author: Ansis Atteka <aatt...@nicira.com>
Date:   Tue May 26 16:49:49 2015 -0700

      debian: install openvswitch kernel module under "updates" directory

      This patch fixes a bug where "modprobe openvswitch" command on
Ubuntu
      distribution would have sometimes tried to load OVS kernel module
that
      shipped together with Linux Kernel, even though one had also
installed
      OVS datapath debian package created with module-assistant.  Because
of
      this issue force-reload-kmod command occasionally malfunctioned and
      failed to load the right kernel module.

      This bug happened *occasionally* because the default Ubuntu depmod
      configuration in /etc/depmod.d/ubuntu.conf is set to look for
kernel
      modules first in "updates" directory, then in "ubuntu" directory
and
      then in other directories.  If there were two openvswitch.ko
modules
      in "other directories", then modprobe would have loaded kernel
      module that was nondeterministically listed first by file system.


OK, I understand why it was nondeterministic before, but where does
kernel/updates come in then, since it seems to be different from and not
as high-priority as "updates"?  Does anyone know?


I am still trying to find the answer in my email history why I ended
up using "kernel/updates" over "updates".

Saurabh, did you encounter an issue where the wrong kernel module was
loaded or is this to achieve conformance?


Anis, we tried using this  patch but still noticed that the wrong kernel
module was getting selected. The only way to fix it was
to put the module outside kernel/ directory.


Can you give me locations of all ovs kernel modules (dkms,
module-assistant and the one that came with linux) present in
/lib/modules/<linux_version>/ on your system that was having trouble?

root@test01-1:/lib/modules# find . -name openvswitch.ko -print
./3.13.0-32-generic/kernel/net/openvswitch/openvswitch.ko
./3.13.0-32-generic/updates/openvswitch.ko

I am just wondering why my patch prioritized module-assistant created
kernel module (in kernel/updates) over the one that comes with linux
kernel itself. I guess this is the problem you are seeing here again,
right?
yes, we were seeing the same problem.
my observation was that if we put the module under directory <kernel>/updates then depmod would still select <kernel>/net/openvswitch/openvswitch.ko



_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to