Subject: bin/9253 (Re: CVS commit: syssrc)
To: None <he@netbsd.org, source-changes@netbsd.org, gnats-bugs@netbsd.org>
From: John Darrow <John.P.Darrow@wheaton.edu>
List: source-changes
Date: 01/20/2000 15:37:45
Note that, with this pullup, fsck_lfs is now broken on both -current and
the netbsd-1-4 branch, due to a namespace collision resulting in
conflicting declarations of lfs_ifind in syssrc/sys/ufs/lfs/lfs_extern.h
and basesrc/sbin/fsck_lfs/fsck.h, with the breakage occuring during
compilation of basesrc/sbin/fsck_lfs/setup.c (which uses lfs_sb_cksum
from lfs_extern.h) and basesrc/sbin/fsck_lfs/pass0.c (which uses cksum
from lfs_extern.h).  (Both cksum functions are found in
syssrc/sys/ufs/lfs/lfs_cksum.c, which is pulled in via a .PATH directive)

Also note that basesrc/sbin/dump_lfs/lfs_inode.c also has a lfs_ifind
function with the same declaration as in fsck_lfs, but doesn't at this
time include lfs_extern.h.  Which means now it's an accident waiting to
happen.

Are there specific namespace guidelines regarding these *_extern.h include
files, other than "always test before committing" and all that...?

jdarrow

-- 
John Darrow - Senior Technical Specialist               Office: 630/752-5201
Computing Services, Wheaton College, Wheaton, IL 60187  Fax:    630/752-5968
Alphapage: 6303160707@alphapage.airtouch.com            Pager:  630/316-0707
Email:     John.P.Darrow@wheaton.edu


In article <200001202101.NAA23404@nb00.nas.nasa.gov>,
Havard Eidnes <he@netbsd.org> wrote:

>Module Name:	syssrc
>Committed By:	he
>Date:		Thu Jan 20 21:01:33 UTC 2000

>Modified Files:
>	syssrc/sys/ufs/lfs [netbsd-1-4]: lfs_extern.h

>Log Message:
>Pull up revision 1.16 (requested by perseant):
>  Files removed (through unlink, rmdir) are now really removed, though the
>  removal is postponed until the dirop is complete to ensure validity of
>  the filesystem through a crash.  Use a separate per-fs lock, instead of
>  ufs_hashlock, to protect the inode free list.  Change calling semantics
>  of lfs_ifind, to give better error reporting:  If fed a struct buf, it
>  can report the block number of the offending inode block as well as the
>  inode number.


>To generate a diff of this commit:
>cvs rdiff -r1.13.2.1 -r1.13.2.2 syssrc/sys/ufs/lfs/lfs_extern.h

>Please note that diffs are not public domain; they are subject to the
>copyright notices on the relevant files.