Re: [PATCH] VMware balloon: force compiling as a module

From: Andrew Morton
Date: Thu Jul 01 2010 - 18:44:40 EST


On Thu, 1 Jul 2010 15:31:50 -0700
Dmitry Torokhov <dtor@xxxxxxxxxx> wrote:

> On Thursday, July 01, 2010 03:18:35 pm Andrew Morton wrote:
> > On Tue, 29 Jun 2010 09:40:38 -0700
> >
> > Dmitry Torokhov <dtor@xxxxxxxxxx> wrote:
> > > On Tuesday, June 29, 2010 09:28:59 am Bruno Pr__mont wrote:
> > > > On Tue, 29 June 2010 Alexander Clouter <alex@xxxxxxxxxxxxx> wrote:
> > > > > Dmitry Torokhov <dtor@xxxxxxxxxx> wrote:
> > > > > > VMware Tools installer requires the upstream driver to be compiled
> > > > > > as a module in order to detect its presence and avoid installing
> > > > > > our own version on top of it. To avoid surprises with 2 versions
> > > > > > of the driver being installed and fighting with each other, let's
> > > > > > force the driver to be compiled as a module unless user selects
> > > > > > CONFIG_EMBEDDED.
> > > > >
> > > > > *barf*
> > > > >
> > > > > This surely is a problem in the installer and not the kernel? Can
> > > > > you not nosey around in /sys/class/misc or where-ever your driver
> > > > > appears? If it does not, then I would probably suggest a patch to
> > > > > your balloon driver that dumps some details in there, including
> > > > > module version information.
> > > > >
> > > > > Eugh.
> > > >
> > > > In addition, the installer may check under /sys/module/ for it (as for
> > > > any/most code that can be built as a module), even for built-in code.
> > > > (if balloon driver does not show up there when built-in it would be
> > > > better to get it to show up there)
> > >
> > > When driver is built-in the only thing exported in /sys/module/XXX are
> > > module parameters.
> > >
> > > We also need to handle scenario when module is not loaded into the
> > > kernel.
> >
> > - check for the /sys/module directory.
>
> Empty.

But the presence of the empty /sys/module/vmware_balloon tells you that
the driver is loaded?

Confused.

> >
> > - if that failed, modprobe the driver
> >
>
> Succeeds since the driver name changed (we renamed it to vmware_balloon
> before submitting into mainline to avoid confusion based on our experience
> with pvscsi; the existing one in the wild is called vmmemctl).
>
> Now we have 2 drivers fighting. There is no backing device and so driver
> core will not save us by refusing to bind to already claimed device.

If vmware_balloon is present in /sys/modules or is loaded, don't load
vmmemctl. And vice versa.

I dunno - it's silly for me to sit here proposing solutions. it's
better that you do it!


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/