---- nfs-utils-1.0.12/utils/mount/mount.c~ 2007-03-22 14:43:13.000000000 +0100
-+++ nfs-utils-1.0.12/utils/mount/mount.c 2007-03-22 14:45:06.000000000 +0100
-@@ -492,30 +492,31 @@
- }
+--- nfs-utils-1.1.0-rc1/utils/mount/mount.c~ 2007-03-29 05:55:33.000000000 +0200
++++ nfs-utils-1.1.0-rc1/utils/mount/mount.c 2007-04-05 18:58:38.000000000 +0200
+@@ -508,30 +508,30 @@
+ }
}
-- if (nfs_mount_vers == 4) {
-- mnt_err = nfs4mount(spec, mount_point, &flags,
-- &extra_opts, &mount_opts, 0);
-- }
+- if (nfs_mount_vers == 4)
+- mnt_err = nfs4mount(spec, mount_point, &flags, &extra_opts, &mount_opts, 0);
- else {
-- if (!strcmp(progname, "mount.nfs")) {
-- mnt_err = nfsmount(spec, mount_point, &flags,
-- &extra_opts, &mount_opts, 0);
+- int need_statd = 0;
+- mnt_err = nfsmount(spec, mount_point, &flags,
+- &extra_opts, &mount_opts,
+- 0, &need_statd);
+- if (!mnt_err && !fake && need_statd) {
+- if (!start_statd()) {
+- fprintf(stderr,
+- "%s: rpc.statd is not running but is "
+- "required for remote locking\n"
+- " Either use \"-o nolocks\" to keep "
+- "locks local, or start statd.\n",
+- progname);
+- exit(1);
+ if (!fake) {
-+ if (nfs_mount_vers == 4) {
-+ mnt_err = nfs4mount(spec, mount_point, &flags,
-+ &extra_opts, &mount_opts, 0);
-+ }
++ if (nfs_mount_vers == 4)
++ mnt_err = nfs4mount(spec, mount_point, &flags, &extra_opts, &mount_opts, 0);
+ else {
-+ if (!strcmp(progname, "mount.nfs")) {
-+ mnt_err = nfsmount(spec, mount_point, &flags,
-+ &extra_opts, &mount_opts, 0);
-+ }
-+ }
-+
-+ if (mnt_err)
-+ exit(EX_FAIL);
-+
-+ mnt_err = do_mount_syscall(spec, mount_point,
-+ nfs_mount_vers == 4 ? "nfs4" : "nfs", flags, mount_opts);
-+
-+ if(mnt_err) {
-+ mount_error(mount_point);
-+ exit(EX_FAIL);
++ int need_statd = 0;
++ mnt_err = nfsmount(spec, mount_point, &flags,
++ &extra_opts, &mount_opts,
++ 0, &need_statd);
++ if (!mnt_err && need_statd) {
++ if (!start_statd()) {
++ fprintf(stderr,
++ "%s: rpc.statd is not running but is "
++ "required for remote locking\n"
++ " Either use \"-o nolocks\" to keep "
++ "locks local, or start statd.\n",
++ progname);
++ exit(1);
++ }
+ }
}
- }
-- if (fake)
-- return 0;
+
- if (mnt_err)
- exit(EX_FAIL);
--
-- mnt_err = do_mount_syscall(spec, mount_point,
-- nfs_mount_vers == 4 ? "nfs4" : "nfs", flags, mount_opts);
--
-- if(mnt_err) {
-- mount_error(mount_point);
-- exit(EX_FAIL);
- }
++ if (mnt_err)
++ exit(EX_FAIL);
-- if(!nomtab) {
-+ if (!nomtab) {
- add_mtab(spec, mount_point, nfs_mount_vers == 4 ? "nfs4" : "nfs",
- flags, extra_opts, 0, 0);
- }
+- if (!fake) {
+ mnt_err = do_mount_syscall(spec, mount_point,
+ nfs_mount_vers == 4 ? "nfs4" : "nfs",
+ flags & ~(MS_USER|MS_USERS) ,