diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | support/include/nfs/nfs.h | 15 |
2 files changed, 20 insertions, 2 deletions
@@ -1,5 +1,12 @@ 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au> + * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is + used as the size was changed somewhere in 2.5.60-2.5.70. Without + this nfs-utils compiles against 2.6 headers will not work on a + 2.4 kernel. + +2003-07-03 NeilBrown <neilb@cse.unsw.edu.au> + * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists, set number of threads by writing to there. This means it will still work when the syscall interface goes away in 2.7. diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h index 937c1be..c7fc42c 100644 --- a/support/include/nfs/nfs.h +++ b/support/include/nfs/nfs.h @@ -58,11 +58,22 @@ struct nfsctl_client { unsigned char cl_fhkey[NFSCLNT_KEYMAX]; }; +/* IN 2.5.6? __kernel_dev_t changed size, and __kernel_old_dev_t was left + * with the old value. We need to make sure we use the right one. + * + */ +#include <linux/version.h> +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,70) +# define __nfsd_dev_t __kernel_old_dev_t +#else +# define __nfsd_dev_t __kernel_dev_t +#endif + /* EXPORT/UNEXPORT */ struct nfsctl_export { char ex_client[NFSCLNT_IDMAX+1]; char ex_path[NFS_MAXPATHLEN+1]; - __kernel_dev_t ex_dev; + __nfsd_dev_t ex_dev; __kernel_ino_t ex_ino; int ex_flags; __kernel_uid_t ex_anon_uid; @@ -83,7 +94,7 @@ struct nfsctl_uidmap { /* GETFH */ struct nfsctl_fhparm { struct sockaddr gf_addr; - __kernel_dev_t gf_dev; + __nfsd_dev_t gf_dev; __kernel_ino_t gf_ino; int gf_version; }; |