--- nfs-utils-1.0.9/utils/mount/mount.c.orig 2008-10-07 09:03:37.498090000 -0400 +++ nfs-utils-1.0.9/utils/mount/mount.c 2008-10-07 09:29:54.218664000 -0400 @@ -556,26 +556,27 @@ &extra_opts, &mount_opts, fake, nomtab, FOREGROUND); if (mnt_err == EX_BG) { - printf("%s: backgrounding \"%s\"\n", progname, spec); - fflush(stdout); - + if (verbose) { + printf("%s: backgrounding \"%s\"\n", progname, spec); + fflush(stdout); + } /* * Parent exits immediately with success. */ - if (daemon(0, 0)) { + if (daemon(0, 0) < 0) { fprintf(stderr, "%s: failed to start " - "background process: %s\n", - progname, strerror(errno)); + "background process failed to start: error %d (%s)\n", + progname, errno, strerror(errno)); exit(EX_FAIL); } mnt_err = try_mount(spec, mount_point, &flags, nfs_mount_vers, &extra_opts, &mount_opts, fake, nomtab, BACKGROUND); if (verbose && mnt_err) - printf("%s: giving up \"%s\"\n", - progname, spec); + printf("%s: giving up on \"%s\" " + "due to %d mount error\n", progname, spec, mnt_err); } - return 0; + return mnt_err; }