--- nfs-utils-1.0.10/utils/mount/nfs_mount.h.orig 2007-05-15 09:54:09.293871000 -0400 +++ nfs-utils-1.0.10/utils/mount/nfs_mount.h 2007-05-15 09:55:02.842057000 -0400 @@ -63,6 +63,7 @@ struct nfs_mount_data { #define NFS_MOUNT_BROKEN_SUID 0x0400 /* 4 */ #define NFS_MOUNT_NOACL 0x0800 /* 4 */ #define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 */ +#define NFS_MOUNT_NORDIRPLUS 0x4000 /* 5 */ /* security pseudoflavors */ --- nfs-utils-1.0.10/utils/mount/nfsmount.c.orig 2007-05-15 09:54:09.331833000 -0400 +++ nfs-utils-1.0.10/utils/mount/nfsmount.c 2007-05-15 09:55:02.852057000 -0400 @@ -762,6 +762,10 @@ parse_options(char *old_opts, struct nfs data->flags &= ~NFS_MOUNT_NOACL; if (!val) data->flags |= NFS_MOUNT_NOACL; + } else if (!strcmp(opt, "rdirplus")) { + data->flags &= ~NFS_MOUNT_NORDIRPLUS; + if (!val) + data->flags |= NFS_MOUNT_NORDIRPLUS; #endif } else { bad_option: @@ -947,6 +951,7 @@ nfsmount(const char *spec, const char *n #endif #if NFS_MOUNT_VERSION >= 5 printf("sec = %u ", data.pseudoflavor); + printf("readdirplus = %d ", (data.flags & NFS_MOUNT_NORDIRPLUS) != 0); #endif printf("\n"); #endif --- nfs-utils-1.0.10/utils/mount/nfs.man.orig 2007-05-15 09:54:09.210933000 -0400 +++ nfs-utils-1.0.10/utils/mount/nfs.man 2007-05-15 09:55:02.860057000 -0400 @@ -272,6 +272,11 @@ default UDP protocol. Many NFS servers .I udp Mount the NFS filesystem using the UDP protocol. This is the default. +.TP 1.5i +.I nordirplus +Disables NFSv3 READDIRPLUS RPCs. Use this options when +mounting servers that don't support or have broken +READDIRPLUS implementations. .P All of the non-value options have corresponding nooption forms. For example, nointr means don't allow file operations to be