[OpenAFS] fedora 9 has kernel 2.6.26, openafs trouble compiling

Mike Polek mike@pictage.com
Fri, 26 Sep 2008 20:35:15 -0700


Hi, Paul,

They changed the way that the proc_root_fs thing works. It's not
used anymore. Instead of defining proc_root_fs to point to
/proc/fs and then mkdir'ing openfs, you mkdir "fs/openafs"
with the pointer that was proc_root_fs set to NULL.

(This patch is just to illustrate. A proper patch would
  redefine PROC_FSDIRNAME, which is currently "openafs")

--- openafs-1.4.7/src/afs/LINUX/osi_module.c.orig       2008-09-26 
18:56:43.000000000 -0700
+++ openafs-1.4.7/src/afs/LINUX/osi_module.c    2008-09-26 
18:57:57.000000000 -0700
@@ -238,7 +238,7 @@
      struct proc_dir_entry *entry1;
      struct proc_dir_entry *entry2;

-    openafs_procfs = proc_mkdir(PROC_FSDIRNAME, proc_root_fs);
+    openafs_procfs = proc_mkdir("fs/openafs", NULL);
      entry1 = create_proc_entry(PROC_SYSCALL_NAME, 0666, openafs_procfs);

      entry1->proc_fops = &afs_syscall_fops;
@@ -265,7 +265,7 @@
  {
      remove_proc_entry(PROC_CELLSERVDB_NAME, openafs_procfs);
      remove_proc_entry(PROC_SYSCALL_NAME, openafs_procfs);
-    remove_proc_entry(PROC_FSDIRNAME, proc_root_fs);
+    remove_proc_entry("fs/openafs", NULL);
  #if defined(NEED_IOCTL32) && !defined(HAVE_COMPAT_IOCTL)
      if (ioctl32_done)
             unregister_ioctl32_conversion(VIOC_SYSCALL32);


-----------------------------------------------------------------------

However, once my kernel module compiles, there's an issue with
init_pid_ns begin a GPL-only symbol:

   Building modules, stage 2.
   MODPOST 1 modules
FATAL: modpost: GPL-incompatible module openafs.ko uses GPL-only symbol 
'init_pid_ns'


I am pretty sure the symbol was GPL-only in 2.6.25.11-97,
which built ok. So I'm not exactly sure what changed to
make the build balk. But I'm sure the folks who understand
the licensing issues are hard at work fixing it... right?
Anybody know if it's just a change in enforcement, or an
actual change in the way the symbol is exported?

Can I
#define EXPORT_SYMBOL_GPL EXPORT_SYMBOL
if I'm rolling my own kernel anyway? ;-)


Regards,
Mike






Paul Johnson wrote:
> On a new F9 updated system, the kernel is 2.6.26.3-29.
> 
> While trying to build openafs 1.4.7, I end with the following error.
> Can anybody advise me (except to say 'get a different linux
> distribution, a point with which i would probably agree, but it is not
> feasible').
> 
> [...]
> In function 'afsproc_exit':
> /home/pauljohn/LinuxDownloads/redhat/BUILD/openafs-1.4.7/src/libafs/MODLOAD-2.6.26.3-29.fc9.i686-SP/osi_module.c:268:
> error: 'proc_root_fs' undeclared (first use in this function)
> make[6]: *** [/home/pauljohn/LinuxDownloads/redhat/BUILD/openafs-1.4.7/src/libafs/MODLOAD-2.6.26.3-29.fc9.i686-SP/osi_module.o]
> Error 1
> 
> 
> 

-- 
Michael Polek
Director of System Operations
1580 Francisco Street, Suite 101
Torrance, CA 90501
Phone: (310) 525-1600 ext. 628
Email: mike@pictage.com
http://www.pictage.com