Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Oct 1995 15:49:34 -0700
From:      Poul-Henning Kamp <phk@freefall.freebsd.org>
To:        terry@lambert.org
Cc:        current@freebsd.org
Subject:   fs layering pathces doesn't work.
Message-ID:  <15680.814315774@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
Hi Terry,

I have tried your fs_layering stuff again, and they still doesn't work
for me.

Here's what I did:

I checked out a -current /sys.
applied the two files from freefall:~terry
config -g'ed this file:
(Notice: No NFS (and not as a LKM either :-), No DIAGNOSTICS, as I have 
already told you several times, though you don't seem to want to listen :-)

	machine		"i386"
	cpu		"I386_CPU"
	cpu		"I486_CPU"
	cpu		"I586_CPU"
	ident		FEMMER
	maxusers	10

	options		DDB
	options		INET			#InterNETworking
	options		FFS			#Berkeley Fast Filesystem
	options		PROCFS			#Process filesystem
	options		"COMPAT_43"		#Compatible with BSD 4.3
	options		UCONSOLE		#Allow users to grab the console

	config		kernel	root on wd0 

	controller	isa0
	controller	pci0
	controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
	disk		fd0	at fdc0 drive 0
	disk		fd1	at fdc0 drive 1
	controller	ahc0
	controller	scbus0
	device		sd0
	device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
	device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr
	device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
	device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
	options "COM_MULTIPORT"
	device sio4 at isa? port 0x2a0 tty flags 0x705
	device sio5 at isa? port 0x2a8 tty flags 0x705
	device sio6 at isa? port 0x2b0 tty flags 0x705
	device sio7 at isa? port 0x2b8 tty flags 0x705 irq 15 vector siointr
	device		lpt0	at isa? port? tty irq 7 vector lptintr
	device de0
	pseudo-device	loop
	pseudo-device	ether
	pseudo-device	log
	pseudo-device	vn
	pseudo-device	pty	16
	pseudo-device	gzip		# Exec gzipped a.out's

and rebooted.

The mount problem seems gone...

I logged in as root
	cd /usr/src
	cvs update -P -d -q
	(4 lines of output or so)
	panic: free: multiple frees
	db> trace
	_Debugger(bla bla bla)
	_panic(bla bla bla)
	_free(bla bla bla)
	_nameifree(bla bla bla)
	mkdir(bla bla bla) at _mkdir_0x19c
	_syscall(bla bla bla)

<reboot>

cd /a/fs_layer/sys
find . -name '*.[ch]' -type f -print | xargs grep -i 'free.*cn_pnbuf'

./kern/vfs_lookup.c:		free(cnp->cn_pnbuf, M_NAMEI);
./kern/vfs_lookup.c:			FREE(cnp->cn_pnbuf, M_NAMEI);
./kern/vfs_lookup.c:				FREE(cnp->cn_pnbuf, M_NAMEI);
./kern/vfs_lookup.c:			FREE(cnp->cn_pnbuf, M_NAMEI);
./kern/vfs_lookup.c:	FREE(cnp->cn_pnbuf, M_NAMEI);
./kern/vfs_lookup.c:		FREE(cnp->cn_pnbuf, M_NAMEI);
./miscfs/devfs/devfs_vnops.c:		FREE(ap->a_cnp->cn_pnbuf, M_NAMEI);
./miscfs/union/union_subr.c:	free(cn.cn_pnbuf, M_NAMEI);
./miscfs/union/union_subr.c:	free(cn.cn_pnbuf, M_NAMEI);
./nfs/nfs_subs.c:	FREE(cnp->cn_pnbuf, M_NAMEI);
./nfs/nfs_subs.c:		FREE(cnp->cn_pnbuf, M_NAMEI);
./ufs/ufs/ufs_vnops.c:	FREE(cnp->cn_pnbuf, M_NAMEI);
./ufs/ufs/ufs_vnops.c:		free(cnp->cn_pnbuf, M_NAMEI);
./ufs/ufs/ufs_vnops.c:	FREE(cnp->cn_pnbuf, M_NAMEI);

Hope you can find it from this.

I don't give you too high ratings for the regression testing you
claim to have done though... :-)

Poul-Henning



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