kern/157365: commit references a PR
Jeremy Chadwick
freebsd at jdc.parodius.com
Sun May 29 21:44:59 UTC 2011
On Sun, May 29, 2011 at 09:20:10PM +0000, dfilter service wrote:
> The following reply was made to PR kern/157365; it has been noted by GNATS.
>
> From: dfilter at FreeBSD.ORG (dfilter service)
> To: bug-followup at FreeBSD.org
> Cc:
> Subject: Re: kern/157365: commit references a PR
> Date: Sun, 29 May 2011 21:14:07 +0000 (UTC)
>
> Author: rmacklem
> Date: Sun May 29 21:13:53 2011
> New Revision: 222466
> URL: http://svn.freebsd.org/changeset/base/222466
>
> Log:
> Modify the umount(8) command so that it doesn't do
> a sync(2) syscall before unmount(2) for the "-f" case.
> This avoids a forced dismount from getting stuck for
> an NFS mountpoint in sync() when the server is not
> responsive. With this commit, forced dismounts should
> normally work for the NFS clients, but can take up to
> about 1minute to complete.
>
> PR: kern/157365
> Reviewed by: kib
> MFC after: 2 weeks
>
> Modified:
> head/sbin/umount/umount.c
>
> Modified: head/sbin/umount/umount.c
> ==============================================================================
> --- head/sbin/umount/umount.c Sun May 29 21:03:40 2011 (r222465)
> +++ head/sbin/umount/umount.c Sun May 29 21:13:53 2011 (r222466)
> @@ -90,9 +90,6 @@ main(int argc, char *argv[])
> struct statfs *mntbuf, *sfs;
> struct addrinfo hints;
>
> - /* Start disks transferring immediately. */
> - sync();
> -
> all = errs = 0;
> while ((ch = getopt(argc, argv, "AaF:fh:t:v")) != -1)
> switch (ch) {
> @@ -127,6 +124,10 @@ main(int argc, char *argv[])
> argc -= optind;
> argv += optind;
>
> + /* Start disks transferring immediately. */
> + if ((fflag & MNT_FORCE) == 0)
> + sync();
> +
> if ((argc == 0 && !all) || (argc != 0 && all))
> usage();
IMHO: the "60-second" behaviour needs to be documented in umount(8).
Administrators who are issuing "umount -f" will (understandably) expect
the unmount to happen immediately. If umount(8) blocks for 60 seconds
while an unmount of an NFS mount happens, that may be more reasonable,
but I imagine most administrators are going to Ctrl-C the umount citing
"it wasn't doing anything".
Since printing a message during "umount -f" is not ideal (the
implications may break system scripts, etc.), the behaviour should
really be documented in the man page.
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP 4BD6C0CB |
More information about the freebsd-fs
mailing list