From owner-freebsd-current Sat Mar 22 09:49:10 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id JAA15793 for current-outgoing; Sat, 22 Mar 1997 09:49:10 -0800 (PST) Received: from helios.dnttm.ru (uutejb@dnttm.wave.ras.ru [194.85.104.197]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA15736 for ; Sat, 22 Mar 1997 09:48:46 -0800 (PST) Received: (from uutejb@localhost) by helios.dnttm.ru (8.8.5/8.8.5/IP-2) with UUCP id UAA22093 for freebsd-current@freebsd.org; Sat, 22 Mar 1997 20:49:06 +0300 Received: from localhost (dima@localhost) by tejblum.dnttm.rssi.ru (8.8.5/8.8.5) with SMTP id UAA01884 for ; Sat, 22 Mar 1997 20:43:29 +0300 (MSK) Date: Sat, 22 Mar 1997 20:43:27 +0300 (MSK) From: Dmitrij Tejblum To: freebsd-current@freebsd.org Subject: ufs is not a local filesystem in -current Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Today I got from /etc/weekly /usr/libexec/makewhatis.local: no local-mounted manual directories found: /usr/share/man /usr/X11R6/man /usr/local/man I tried to debug it, but with no luck. statfs always returns 0 in f_flags. Also, my mount command says: /dev/wd1a on / /dev/wd1s1f on /usr /dev/wd1s1e on /var procfs on /proc (local) /dev/wd0s1 on /c There is no (local) at /usr, ... But I found a bug in the find(1) command. Two values cannot be stored in only one variable. *** /usr/src/usr.bin/find/function.c Sat Mar 22 14:41:57 1997 --- function.c Sat Mar 22 14:41:48 1997 *************** *** 341,347 **** static dev_t curdev; /* need a guaranteed illegal dev value */ static int first = 1; struct statfs sb; ! static short val; char *p, save[2]; /* Only check when we cross mount point. */ --- 341,347 ---- static dev_t curdev; /* need a guaranteed illegal dev value */ static int first = 1; struct statfs sb; ! static int val_type, val_flags; char *p, save[2]; /* Only check when we cross mount point. */ *************** *** 380,393 **** * Further tests may need both of these values, so * always copy both of them. */ ! val = sb.f_flags; ! val = sb.f_type; } switch (plan->flags) { case F_MTFLAG: ! return (val & plan->mt_data); case F_MTTYPE: ! return (val == plan->mt_data); default: abort(); } --- 380,393 ---- * Further tests may need both of these values, so * always copy both of them. */ ! val_flags = sb.f_flags; ! val_type = sb.f_type; } switch (plan->flags) { case F_MTFLAG: ! return (val_flags & plan->mt_data) != 0; case F_MTTYPE: ! return (val_type == plan->mt_data); default: abort(); }