Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jul 2000 12:50:20 -0700 (PDT)
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sbin/fsck dir.c
Message-ID:  <200007241950.MAA93501@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
mckusick    2000/07/24 12:50:20 PDT

  Modified files:
    sbin/fsck            dir.c 
  Log:
  If the lost+found directory is created by fsck, it will do a cacheino()
  which sets the inoinfo's i_parent and i_dotdot to 0, but they never get
  set to ROOTINO. This means that propagate will never find lost+found and
  its descendents, subdirectories will remain DSTATE (instead of DFOUND)
  even though they *are* correctly linked in, and pass4.c will try to
  clear them unsuccessfully, thinking that there is no link count from the
  DSTATE directory's parent. The result is that you need to run fsck twice
  and get link count increasing errors (which are unexpected and fatal
  when running in preen mode). The fix is to set i_parent and i_dotdot to
  "parent" after the second cacheino() call in dir.c:allocdir().
  
  Obtained from:	"Ethan Solomita" <ethan@geocast.com> (of the NetBSD Project)
  
  Revision  Changes    Path
  1.17      +6 -2      src/sbin/fsck/dir.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007241950.MAA93501>