From: Jeremy Fitzhardinge There still seems to be a problem with large dev_t and nfs exports. I'm getting this in my /proc/fs/nfsd/exports: # Version 1.1 # Path Client(Flags) # IPs /usr/local fw.goop.org(rw,insecure,root_squash,all_squash,async,wdelay,uidmap,kerberos,sunsecure,nohide,crossmnt,no_subtree_check,insecure_locks,msnfs,fsid=2,anonuid=27772,anongid=2053) /usr/local dhcp-159.goop.org(rw,insecure,root_squash,all_squash,async,wdelay,uidmap,kerberos,sunsecure,nohide,crossmnt,no_subtree_check,insecure_locks,msnfs,fsid=2,anonuid=44164,anongid=2053) /usr/local iris.goop.org(rw,insecure,root_squash,all_squash,async,wdelay,uidmap,kerberos,sunsecure,nohide,crossmnt,no_subtree_check,insecure_locks,msnfs,fsid=2,anonuid=54692,anongid=2053) /usr/local ezr-eth.goop.org(rw,insecure,root_squash,all_squash,async,wdelay,uidmap,kerberos,sunsecure,nohide,crossmnt,no_subtree_check,insecure_locks,msnfs,fsid=2,anonuid=33636,anongid=2053) /home mc1.goop.org(rw,insecure,root_squash,all_squash,async,wdelay,uidmap,kerberos,sunsecure,nohide,crossmnt,no_subtree_check,insecure_locks,msnfs,fsid=2,anonuid=65356,anongid=2053) which looks nothing like my actual export options: / *(rw,no_root_squash,insecure,async) /usr/local *(rw,no_root_squash,insecure,async) /home *(rw,no_root_squash,insecure,async) It was working with Neil's patch on Mar 23rd, but it doesn't work with whatever got into Linus' tree. It looks like the difference is in nfsd/syscall.h:struct nfsctl_export's use of __kernel_dev_t vs u16 for ex_dev. The Mar 23rd patch changes it to u16, but Linus' tree still uses __kernel_dev_t. I noticed the comment in the changeset: The third variant that uses __kernel_* types, export, is not so easy to deal with, so it will be kept for later. It seems to me that this is the only case which I've actually encountered. What's the problem? If I make this change locally, it all seems to work OK, and the filesystems are exported properly. include/linux/nfsd/syscall.h | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN include/linux/nfsd/syscall.h~32bit-dev_t-nfs-export-fix include/linux/nfsd/syscall.h --- 25/include/linux/nfsd/syscall.h~32bit-dev_t-nfs-export-fix 2003-04-03 00:54:28.000000000 -0800 +++ 25-akpm/include/linux/nfsd/syscall.h 2003-04-03 00:54:28.000000000 -0800 @@ -59,7 +59,7 @@ struct nfsctl_client { struct nfsctl_export { char ex_client[NFSCLNT_IDMAX+1]; char ex_path[NFS_MAXPATHLEN+1]; - __kernel_dev_t ex_dev; + u16 ex_dev; __kernel_ino_t ex_ino; int ex_flags; __kernel_uid_t ex_anon_uid; _