From: neilbrown Date: Thu, 3 Jul 2003 02:09:15 +0000 (+0000) Subject: allow compilation against 2.5 headers X-Git-Tag: nfs-utils-1-1-0-pre10^0 X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=commitdiff_plain;h=05250b116ba3d9e488e52dfeeddbaab929fbd751 allow compilation against 2.5 headers --- diff --git a/ChangeLog b/ChangeLog index 5ea42f9..6287766 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-07-03 NeilBrown + + * 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 * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists, 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 +#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; };