From owner-freebsd-bugs Wed Nov 8 2:10: 6 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 6BF1A37B4CF for ; Wed, 8 Nov 2000 02:10:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id CAA93292; Wed, 8 Nov 2000 02:10:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 8943337B479; Wed, 8 Nov 2000 02:07:19 -0800 (PST) Message-Id: <20001108100719.8943337B479@hub.freebsd.org> Date: Wed, 8 Nov 2000 02:07:19 -0800 (PST) From: hide@koie.org To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: bin/22685: Repairing a directory hard link. Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 22685 >Category: bin >Synopsis: Repairing a directory hard link. >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Nov 08 02:10:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: KOIE Hide >Release: FreeBSD-3.3 >Organization: SURIGIKEN CO.,LTD. >Environment: FreeBSD skipjack.koie.org 3.3-RELEASE FreeBSD 3.3-RELEASE #2: Sun Jun 4 01:33:12 JST 2000 root@:/usr/src/sys/compile/TP i386 >Description: When fsck finds a hard link, it displays " IS AN EXTRANEOUS HARD LINK TO DIRECTORY ". is a path to a directory which is without an entry name. should be what is removed, then it shoud be directory+entry. At least, operator wants to know what will be removed. >How-To-Repeat: 1. fsdb /dev/RAWDEV 2. ls 3. ln INUM NEW_ENTRY 4. quit 5. fsck /dev/RAWDEV 6. fsck displays and questions: IS AN EXTRANEOUS HARD LINK TO DIRECTORY REMOVE? [yn] >Fix: FreeBSD: src/sbin/fsck/pass2.c,v 1.9.2.1 1999/08/29 15:13:07 peter Exp --- pass2.c.org Wed Nov 8 18:14:31 2000 +++ pass2.c Wed Nov 8 18:17:59 2000 @@ -435,7 +435,7 @@ again: getpathname(pathbuf, idesc->id_number, idesc->id_number); getpathname(namebuf, dirp->d_ino, dirp->d_ino); - pwarn("%s %s %s\n", pathbuf, + pwarn("%s%s%s %s %s\n", pathbuf, (strcmp(pathbuf, "/")==0?"":"/"), dirp->d_name, "IS AN EXTRANEOUS HARD LINK TO DIRECTORY", namebuf); if (preen) { begin 644 diff M+2TM('!ARelease-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message