Commit Graph

72 Commits

Author SHA1 Message Date
green
fea15770ed quoting << Martin_Blapp
-	Completly changed the internals of umount(8). We do three
	checks now to see if 'argv' is in the mounttable. It they
	all fail, we return to main and print a warning.

-	fixed the umount mount-order. The checks are rather complex
	to do this. Cause umount(8) should also be able to unmount
	several devices at once ('umount -a', 'umount -A',
	'umount /mnt /mnt2'), the mount-order get's important.
	I added checks to mark and unmark already unmounted devices.

- 	Various fixes with nfs-unmounts (no rpc-calls were done,
	or they were done although there was an existing mount).
	Since we allow overlay-mounts, we should also handle them
	properly.

-	Translate the deprecated nfs-syntax with '@' to ':' like
	mount_nfs does. The ':' syntax has now precedence, but '@'
	still works.

-	'umount -v' is now fixed for all cases and doesn't print
	garbage like two times the mountpoint etc.

-	removed non documented and useless umount '-F'.

-	hanged nfsmounts can now unmounted 'without' any problems.
	I've removed stat() and realpath() checks on the mountpoint.
	Instead we just do a realpath() on the basedir of the
	mountpath and add the dirname again.
	Implemented this as an idea from phk. But there are still
	vfs-restrictions if the nfs_mount is busy. If there are
	unwritten metadata on a hanged nfs-mount, and we modify
	nfs_vfsops.c to not return EBUSY, we get a deadlock :(
	The problem has now moved from userland to kernel.

-	removed the BUGS part from the umount(8) manpage.

-	Converted it to ANSI C (more than 60% of the code have
	changed).

Martin_Blapp

Fixed PR's
----------

o [1999/02/03] bin/9893                 NFS umount of regular file impossible

s [1995/11/27] bin/841			stale nfs mounts cannot be umounted

o [1999/08/01] bin/12911	alfred  NFS umounts are not properly done
					if just the mountpoint gets umounted

Only partially solved:
----------------------

The problem is now in kernel:

o [1999/04/07] bin/11005		`umount -f' does not work if the
					NFS-server is down.

PR:		bin/9893 bin/841 bin/12911 bin/11005
Submitted by:	Martin Blapp <mb@imp.ch>
1999-10-17 16:26:58 +00:00
n_hibma
bbafe9908d Fix -Wall warnings
Submitted-By:  Martin Blapp <mblapp@kassiopeja.lan.attic.ch>
1999-10-08 19:56:45 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
charnier
4d4ca48c85 Use errx() instead of err() for malloc failures. -Wall. Do not dot
terminate errx() string. Remove unused #includes. Use .Tn for NFS.
1998-08-03 06:44:46 +00:00
peter
f2c6244512 Fix PR 1607, hopefully without breaking the PR 5208 fixes.
umount() was trying to stat() the mountpoint, this would fail if the
mountpoint was a NFS mountpoint, and the fallback code would try and pass
a hostname:/dir path as the mountpoint to unmount(2), which would fail.

This whole stat() of the name supplied on the command line business is
trouble as it'll wedge on a hung NFS mount.

I'm not entirely sure why we are not simply looking up both arguments
in the mount table and doing the right thing without accessing the
filesystem.  It seems that we're going to a lot of trouble to allow
mountpoints on symlinks and other wierd things.

PR: 1607
1998-05-11 07:38:42 +00:00
bde
1e193f2600 Fixed the previous fix. The original path was annulled when it
was a directory, so the error message for attempting to unmount
an unmounted-on directory was more broken than before.
1998-02-03 17:23:26 +00:00
bde
d53ef8ee6e Removed definition of _NEW_VFSCONF. The new vfsconf interface is now
the default.
1998-01-20 10:40:18 +00:00
bde
e8eec81f3f mount(8) only uses realpath() for the mountpoint, so don't look up the
real path here for the mount device (or path).  This fixes difficulties
unmounting devices that are actually symlinks to real devices.

Also, print the original path instead of the real path in early error
messages.  nfs path handling and later error messages may still be wrong,
probably only in silly cases where the original path is both a symlink
and a remote path.

PR:		5208
1998-01-19 18:48:36 +00:00
imp
ec6e7a3cf8 style(9) corrections
Submitted by:	bde
1997-12-26 23:28:17 +00:00
imp
e1ae752d33 Be extra paranoid about trusting the length of the data returned by
gethostbyaddr.
Submitted by:	Julian Assange
1997-12-24 01:00:24 +00:00
steve
293e77181e Fix a typo and while here cleanup the use of the .Nm macro.
PR:		docs/4339
Submitted by:	Matthew Hunt <mph@pobox.com>
1997-08-20 11:40:13 +00:00
charnier
8e9b467863 Sync usage string according to man page. 1997-06-19 14:44:24 +00:00
bde
f96e3b64ac Merge from Lite2.
- use new getvfsbyname() interface.
- new -A option, like -a except only mounted file systems are unmounted.

All non-cosmetic FreeBSD changes in umount.c, except ignoring of
realpath() failures, went away because they are done better in Lite2.
realpath() failures must be ignored so that non-pathnames like
"<above>:/foo" and "host:/bar" get as far as mount(2).

Reviewed by:	dfr
1997-06-16 11:20:05 +00:00
dfr
573a396aa7 Generalise the previous change so that only NFS hostnames are looked up.
PR:		bin/3588
Suggested by:	Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
1997-05-16 10:27:02 +00:00
dfr
39cc207873 Don't try to look up unionfs' <above>, <below> keywords as hostnames. 1997-04-29 09:10:11 +00:00
imp
167db52912 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 03:33:12 +00:00
rgrimes
f3a2b348da Remove trailing whitespace. 1995-05-30 06:12:45 +00:00
wollman
c8030d2b96 Fix initialization error that caused `mount -vat' to behave unexpectedly
in certain circumstances.  Fixes PR #182.

Submitted by:	Andrew Atrens <atreand@statcan.ca>
1995-04-10 18:57:08 +00:00
dg
f9ee10c7bb From njw@cs.city.ac.uk (Nick Williams):
/sbin/umount does not return the correct exit status due to incorrect
logic in its internals.

Further, because of the nature of the code, you *cannot* use it to
umount a directory from a union mountpoint. Well, you can sometimes,
it depends on if the directory is at the top of the union stack or not :)

Submitted by:	njw@cs.city.ac.uk (Nick Williams)
1994-11-04 17:51:37 +00:00
wollman
a006c507c4 Delete obsolete references to librpc.a. 1994-08-08 00:09:22 +00:00
wollman
57ea13e98c Convert to our man installation style. Also fixed long-standing bug
in `fastboot'/`fasthalt' in which the interpreter would hang around
after `reboot' or `halt' is run, causing an irritating ``Killed'' message.
1994-08-05 02:42:42 +00:00
rgrimes
d038e02fd6 BSD 4.4 Lite sbin Sources
Note:  XNSrouted and routed NOT imported here, they shall be imported with
usr.sbin.
1994-05-26 06:35:07 +00:00