From owner-cvs-src-old@FreeBSD.ORG Mon Jan 11 19:53:01 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 990CD106568B for ; Mon, 11 Jan 2010 19:53:01 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 873088FC25 for ; Mon, 11 Jan 2010 19:53:01 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BJr1HM012742 for ; Mon, 11 Jan 2010 19:53:01 GMT (envelope-from mckusick@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o0BJr1K1012741 for cvs-src-old@freebsd.org; Mon, 11 Jan 2010 19:53:01 GMT (envelope-from mckusick@repoman.freebsd.org) Message-Id: <201001111953.o0BJr1K1012741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to mckusick@repoman.freebsd.org using -f From: Kirk McKusick Date: Mon, 11 Jan 2010 19:52:40 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sbin/fsck_ffs pass2.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 19:53:01 -0000 mckusick 2010-01-11 19:52:40 UTC FreeBSD src repository Modified files: sbin/fsck_ffs pass2.c Log: SVN rev 202107 on 2010-01-11 19:52:40Z by mckusick When renaming a directory it passes through several intermediate states. First its new name will be created causing it to have two names (from possibly different parents). Next, if it has different parents, its value of ".." will be changed from pointing to the old parent to pointing to the new parent. Concurrently, its old name will be removed bringing it back into a consistent state. When fsck encounters an extra name for a directory, it offers to remove the "extraneous hard link"; when it finds that the names have been changed but the update to ".." has not happened, it offers to rewrite ".." to point at the correct parent. Both of these changes were considered unexpected so would cause fsck in preen mode or fsck in background mode to fail with the need to run fsck manually to fix these problems. This update changes these errors to be expected so that in preen mode fsck will simply fix these transitional errors. For now, background fsck will note these errors, but will need additional kernel support to fix them, so will simply ignore them rather than fail. A future update will allow background fsck to fix these problems. Reported by: jeff Revision Changes Path 1.28 +109 -21 src/sbin/fsck_ffs/pass2.c