Re: Linux 2.4.20-pre2-ac1

Greg Louis (glouis@dynamicro.on.ca)
Wed, 14 Aug 2002 16:29:24 -0400


On 14 Aug 2002 11:42:11 -0600,
Steven Cole <elenstev@mesatop.com> wrote:

> On Wed, 2002-08-14 at 10:34, Alan Cox wrote:
>
> >
> > Linux 2.4.20-pre2-ac1
>
> With CONFIG_NFSD=y I got this:
>
> fs/fs.o: In function `nfsd':
> fs/fs.o(.text+0x43fb1): undefined reference to `exp_readunlock'
> fs/fs.o: In function `sys_nfsservctl':
> fs/fs.o(.text+0x445e8): undefined reference to `exp_readunlock'
> fs/fs.o(.text+0x44692): undefined reference to `exp_readunlock'
> fs/fs.o(.data+0x261c): undefined reference to `exp_readunlock'
> make: *** [vmlinux] Error 1
>
This looks as though it ought to work (though I'm not at all familiar
with the code), and seems to be working for me on one box where I've
run it:

--- linux-2.4.20pre2/include/linux/nfsd/export.h.orig 2002-08-14 15:44:55.000000000 -0400
+++ linux-2.4.20pre2/include/linux/nfsd/export.h 2002-08-14 15:44:55.000000000 -0400
@@ -91,7 +91,7 @@
void nfsd_export_init(void);
void nfsd_export_shutdown(void);
void exp_readlock(void);
-void exp_readunlock(void);
+void exp_unlock(void);
struct svc_client * exp_getclient(struct sockaddr_in *sin);
void exp_putclient(struct svc_client *clp);
struct svc_export * exp_get(struct svc_client *clp, kdev_t dev, ino_t ino);
--- linux-2.4.20pre2/fs/nfsd/lockd.c.orig 2002-08-14 15:45:50.000000000 -0400
+++ linux-2.4.20pre2/fs/nfsd/lockd.c 2002-08-14 15:45:50.000000000 -0400
@@ -62,7 +62,7 @@

struct nlmsvc_binding nfsd_nlm_ops = {
exp_readlock, /* lock export table for reading */
- exp_readunlock, /* unlock export table */
+ exp_unlock, /* unlock export table */
exp_getclient, /* look up NFS client */
nlm_fopen, /* open file for locking */
nlm_fclose, /* close file */
--- linux-2.4.20pre2/fs/nfsd/nfsctl.c.orig 2002-08-14 15:46:13.000000000 -0400
+++ linux-2.4.20pre2/fs/nfsd/nfsctl.c 2002-08-14 15:46:13.000000000 -0400
@@ -123,7 +123,7 @@
err = -EPERM;
else
err = exp_rootfh(clp, 0, 0, data->gd_path, res, data->gd_maxlen);
- exp_readunlock();
+ exp_unlock();
return err;
}

@@ -146,7 +146,7 @@
err = -EPERM;
else
err = exp_rootfh(clp, 0, 0, data->gd_path, &fh, NFS_FHSIZE);
- exp_readunlock();
+ exp_unlock();

if (err == 0) {
if (fh.fh_size > NFS_FHSIZE)
@@ -179,7 +179,7 @@
err = -EPERM;
else
err = exp_rootfh(clp, to_kdev_t(data->gf_dev), data->gf_ino, NULL, &fh, NFS_FHSIZE);
- exp_readunlock();
+ exp_unlock();

if (err == 0) {
if (fh.fh_size > NFS_FHSIZE)
--- linux-2.4.20pre2/fs/nfsd/nfssvc.c.orig 2002-08-14 15:46:35.000000000 -0400
+++ linux-2.4.20pre2/fs/nfsd/nfssvc.c 2002-08-14 15:46:35.000000000 -0400
@@ -218,7 +218,7 @@
svc_process(serv, rqstp);

/* Unlock export hash tables */
- exp_readunlock();
+ exp_unlock();
update_thread_usage(atomic_read(&nfsd_busy));
atomic_dec(&nfsd_busy);
}

-- 
| G r e g  L o u i s          | gpg public key:      |
|   http://www.bgl.nu/~glouis |   finger greg@bgl.nu |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/