For Kernel 3.10-rc4, the vmnet patch works just fine - many thanks, @damoiselle_111
But.. vmblock fails to compile (gcc 4.8.0, Fedora 19):
...........................
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c: In function ‘SetupProcDevice’:
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c:211:4: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
^
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c:211:21: warning: assignment makes pointer from integer without a cast [enabled by default]
controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
^
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c:221:20: error: dereferencing pointer to incomplete type
controlProcEntry->proc_fops = &ControlFileOps;
^
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c: In function ‘ExecuteBlockOp’:
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c:285:9: warning: assignment from incompatible pointer type [enabled by default]
name = getname(buf);
^
/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c:296:4: warning: passing argument 1 of ‘putname’ from incompatible pointer type [enabled by default]
putname(name);
^
In file included from include/linux/proc_fs.h:8:0,
from /tmp/modconfig-CfpQ4q/vmblock-only/linux/control.c:28:
include/linux/fs.h:2042:13: note: expected ‘struct filename *’ but argument is of type ‘char *’
extern void putname(struct filename *name);
^
cc1: some warnings being treated as errors
make[2]: *** [/tmp/modconfig-CfpQ4q/vmblock-only/linux/control.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/tmp/modconfig-CfpQ4q/vmblock-only/linux/dentry.c:38:4: warning: initialization from incompatible pointer type [enabled by default]
.d_revalidate = DentryOpRevalidate,
^
/tmp/modconfig-CfpQ4q/vmblock-only/linux/dentry.c:38:4: warning: (near initialization for ‘LinkDentryOps.d_revalidate’) [enabled by default]
/tmp/modconfig-CfpQ4q/vmblock-only/linux/dentry.c: In function ‘DentryOpRevalidate’:
/tmp/modconfig-CfpQ4q/vmblock-only/linux/dentry.c:104:7: warning: passing argument 2 of ‘actualDentry->d_op->d_revalidate’ makes integer from pointer without a cast [enabled by default]
return actualDentry->d_op->d_revalidate(actualDentry, nd);
^
/tmp/modconfig-CfpQ4q/vmblock-only/linux/dentry.c:104:7: note: expected ‘unsigned int’ but argument is of type ‘struct nameidata *’
make[1]: *** [_module_/tmp/modconfig-CfpQ4q/vmblock-only] Error 2
make[1]: Leaving directory `/usr/src/linux-3.10-rc4'
make: *** [vmblock.ko] Error 2
make: Leaving directory `/tmp/modconfig-CfpQ4q/vmblock-only'
............................
Robert Gadsdon
rglinuxtech.com