2.5.42: build nfsd as module broken

2.5.42: build nfsd as module broken

Post by Olaf Dietsch » Sun, 13 Oct 2002 20:30:05



# make modules_install
gives the following error:

[...]
if [ -r System.map ]; then /sbin/depmod -ae -F System.map  2.5.42; fi
depmod: *** Unresolved symbols in /lib/modules/2.5.42/kernel/fs/nfsd/nfsd.o
depmod:         auth_domain_find
depmod:         cache_fresh
depmod:         unix_domain_find
depmod:         auth_domain_put
depmod:         cache_flush
depmod:         cache_unregister
depmod:         add_hex
depmod:         cache_check
depmod:         svcauth_unix_purge
depmod:         get_word
depmod:         cache_clean
depmod:         cache_register
depmod:         auth_unix_lookup
depmod:         auth_unix_add_addr
depmod:         cache_init
depmod:         auth_unix_forget_old
depmod:         add_word

This patch adds several EXPORT_SYMBOL() to net/sunrpc/*.c. The kernel
builds and boots. I haven't tested nfsd yet.

Regards, Olaf.

diff -urN a/net/sunrpc/Makefile b/net/sunrpc/Makefile
--- a/net/sunrpc/Makefile       Sat Oct 12 14:24:21 2002

 obj-$(CONFIG_SUNRPC) += sunrpc.o

-export-objs := sunrpc_syms.o
+export-objs := sunrpc_syms.o svcauth.o svcauth_unix.o cache.o

 sunrpc-y := clnt.o xprt.o sched.o \
            auth.o auth_null.o auth_unix.o \
diff -urN a/net/sunrpc/cache.c b/net/sunrpc/cache.c
--- a/net/sunrpc/cache.c        Sat Oct 12 14:24:21 2002

                return len;
        return -1;
 }
+
+EXPORT_SYMBOL(cache_fresh);
+EXPORT_SYMBOL(cache_flush);
+EXPORT_SYMBOL(cache_unregister);
+EXPORT_SYMBOL(cache_check);
+EXPORT_SYMBOL(cache_clean);
+EXPORT_SYMBOL(cache_register);
+EXPORT_SYMBOL(cache_init);
+EXPORT_SYMBOL(add_word);
+EXPORT_SYMBOL(add_hex);
+EXPORT_SYMBOL(get_word);
diff -urN a/net/sunrpc/svcauth.c b/net/sunrpc/svcauth.c
--- a/net/sunrpc/svcauth.c      Sat Oct 12 14:24:21 2002

 #include <linux/sunrpc/svcsock.h>
 #include <linux/sunrpc/svcauth.h>
 #include <linux/err.h>
+#include <linux/module.h>

 #define RPCDBG_FACILITY        RPCDBG_AUTH

        rv = auth_domain_lookup(&ad, 0);
        return rv;
 }
+
+EXPORT_SYMBOL(auth_domain_find);
+EXPORT_SYMBOL(auth_domain_put);
diff -urN a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
--- a/net/sunrpc/svcauth_unix.c Sat Oct 12 14:24:21 2002

 #include <linux/sunrpc/svcsock.h>
 #include <linux/sunrpc/svcauth.h>
 #include <linux/err.h>
+#include <linux/module.h>

 #define RPCDBG_FACILITY        RPCDBG_AUTH

        .release        = svcauth_unix_release,
 };

+EXPORT_SYMBOL(unix_domain_find);
+EXPORT_SYMBOL(auth_unix_lookup);
+EXPORT_SYMBOL(auth_unix_add_addr);
+EXPORT_SYMBOL(auth_unix_forget_old);
+EXPORT_SYMBOL(svcauth_unix_purge);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

2.5.42: build nfsd as module broken

Post by Alexander Vir » Sun, 13 Oct 2002 20:30:11



> +EXPORT_SYMBOL(cache_fresh);
> +EXPORT_SYMBOL(cache_flush);
> +EXPORT_SYMBOL(cache_unregister);
> +EXPORT_SYMBOL(cache_check);
> +EXPORT_SYMBOL(cache_clean);
> +EXPORT_SYMBOL(cache_register);
> +EXPORT_SYMBOL(cache_init);
> +EXPORT_SYMBOL(add_word);
> +EXPORT_SYMBOL(add_hex);
> +EXPORT_SYMBOL(get_word);

Ahem.  Non-static objects called add_word and get_word?  Even the cache_...()
stuff is a namespace pollution (which kind of cache?), but that...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

2.5.42: build nfsd as module broken

Post by Neil Brow » Mon, 14 Oct 2002 02:00:14




> > +EXPORT_SYMBOL(cache_fresh);
> > +EXPORT_SYMBOL(cache_flush);
> > +EXPORT_SYMBOL(cache_unregister);
> > +EXPORT_SYMBOL(cache_check);
> > +EXPORT_SYMBOL(cache_clean);
> > +EXPORT_SYMBOL(cache_register);
> > +EXPORT_SYMBOL(cache_init);
> > +EXPORT_SYMBOL(add_word);
> > +EXPORT_SYMBOL(add_hex);
> > +EXPORT_SYMBOL(get_word);

> Ahem.  Non-static objects called add_word and get_word?  Even the cache_...()
> stuff is a namespace pollution (which kind of cache?), but that...

Fair comment.

The words are actually 'quoted words', so maybe:

 qword_add
 qword_addhex
 qword_parse  (or qword_get)

 would be better.

The caches are for caching user-space-sourced information (IP ->
hostname, export options, uid->username etc) so maybe

  ucache_*
though that is a bit bland....

  uss_cache_*

(for the trekkies)???

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/