From owner-freebsd-bugs Wed Mar 25 06:00:03 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA11942 for freebsd-bugs-outgoing; Wed, 25 Mar 1998 06:00:03 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: (from gnats@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA11935; Wed, 25 Mar 1998 06:00:01 -0800 (PST) (envelope-from gnats) Received: from osa.att.ne.jp (13.gate3.osaka.att.ne.jp [165.76.116.188]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id FAA10890 for ; Wed, 25 Mar 1998 05:52:16 -0800 (PST) (envelope-from matutaka@osa.att.ne.jp) Received: (from matutaka@localhost) by osa.att.ne.jp (8.8.7/3.5Wbeta) id WAA00750; Wed, 25 Mar 1998 22:51:24 +0900 (JST) Message-Id: <199803251351.WAA00750@osa.att.ne.jp> Date: Wed, 25 Mar 1998 22:51:24 +0900 (JST) From: matutaka@osa.att.ne.jp Reply-To: matutaka@osa.att.ne.jp To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: bin/6129: Fsck's disk recognization algorithm is out of date. Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 6129 >Category: bin >Synopsis: Fsck's disk recognization algorithm is out of date. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 25 06:00:01 PST 1998 >Last-Modified: >Originator: Yuichi MATSUTAKA >Organization: >Release: FreeBSD 2.2.5-RELEASE i386 >Environment: FreeBSD 2.2.5-RELEASE #0: Tue Oct 21 14:33:00 GMT 1997 jkh@time.cdrom.com:/usr/src/sys/compile/GENERIC >Description: When multiple FreeBSD slices exist on one disk drive, fsck recognizes each slice as separate disk drives. As a result, fsck -p checks each slice concurrently. In addition, this causes kernel panic reported as PR4265. >How-To-Repeat: Make multiple FreeBSD slices on one disk drive and describe these slices in /etc/fstab. >Fix: Following patch makes fsck's disk recognization algorithm properly. *** sbin/fsck/preen.c.orig Mon Oct 28 03:28:39 1996 --- sbin/fsck/preen.c Sat Mar 14 19:01:07 1998 *************** *** 206,217 **** register char *p; size_t len = 0; ! for (p = name + strlen(name) - 1; p >= name; --p) ! if (isdigit(*p)) { ! len = p - name + 1; ! break; ! } ! if (p < name) len = strlen(name); for (dk = disks, dkp = &disks; dk; dkp = &dk->next, dk = dk->next) { --- 206,216 ---- register char *p; size_t len = 0; ! if ((p = rindex(name, '/')) != 0) { ! while (*p && !isdigit(*p)) ! p++; ! len = p - name; ! } else len = strlen(name); for (dk = disks, dkp = &disks; dk; dkp = &dk->next, dk = dk->next) { >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message