Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 May 1997 00:00:02 -0700 (PDT)
From:      j@uriah.heep.sax.de (J Wunsch)
To:        freebsd-bugs
Subject:   Re: bin/3588: Memory Filesystem unmounting problem
Message-ID:  <199705160700.AAA12850@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/3588; it has been noted by GNATS.

From: j@uriah.heep.sax.de (J Wunsch)
To: yugawa@orleans.rim.or.jp
Cc: FreeBSD-gnats-submit@freebsd.org, dfr@freebsd.org
Subject: Re: bin/3588: Memory Filesystem unmounting problem
Date: Fri, 16 May 1997 08:30:30 +0200

 As Takahiro Yugawa wrote:
 
 > *** umount.c.orig	Tue May 13 23:31:17 1997
 > --- umount.c	Tue May 13 23:31:40 1997
 > ***************
 > *** 219,225 ****
 >   	if (!selected(type))
 >   		return (0);
 >   
 > ! 	if ((delimp = strchr(name, '@')) != NULL) {
 >   		hostp = delimp + 1;
 >   		*delimp = '\0';
 >   		hp = gethostbyname(hostp);
 > --- 219,227 ----
 >   	if (!selected(type))
 >   		return (0);
 >   
 > ! 	if (strstr( name, "mfs:" ) == name && isdigit(*(name+4))) {
 > ! 		hp = NULL;
 > ! 	} else if ((delimp = strchr(name, '@')) != NULL) {
 >   		hostp = delimp + 1;
 >   		*delimp = '\0';
 >   		hp = gethostbyname(hostp);
 
 That's the wrong fix, IMHO.  Umounting other mount points that use the
 same syntax will still yield the same problem (e.g., amd writes a
 similar entry to mfs).
 
 Doug recently fixed some problem like:
 
 Index: /usr/src/sbin/umount/umount.c
 ===================================================================
 RCS file: /home/cvs/src/sbin/umount/umount.c,v
 retrieving revision 1.5
 retrieving revision 1.6
 diff -u -u -r1.5 -r1.6
 --- umount.c	1997/03/29 03:33:12	1.5
 +++ umount.c	1997/04/29 09:10:11	1.6
 @@ -219,12 +219,12 @@
  	if (!selected(type))
  		return (0);
  
 -	if ((delimp = strchr(name, '@')) != NULL) {
 +	if ((delimp = strchr(name, '@')) != NULL && type != MOUNT_UNION) {
  		hostp = delimp + 1;
  		*delimp = '\0';
  		hp = gethostbyname(hostp);
  		*delimp = '@';
 -	} else if ((delimp = strchr(name, ':')) != NULL) {
 +	} else if ((delimp = strchr(name, ':')) != NULL && type != MOUNT_UNION) {
  		*delimp = '\0';
  		hostp = name;
  		hp = gethostbyname(hostp);
 
 I think the logic should be reversed: only if the type is MOUNT_NFS,
 there should be a hostname lookup.  Everything else is local.
 
 -- 
 cheers, J"org
 
 joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
 Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705160700.AAA12850>