Date: Mon, 11 Jan 2010 19:52:40 +0000 (UTC) From: Kirk McKusick <mckusick@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sbin/fsck_ffs pass2.c Message-ID: <201001111953.o0BJr1K1012741@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001111953.o0BJr1K1012741>