Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 May 2001 22:29:44 -0700
From:      "George W. Dinolt" <gdinolt@pacbell.net>
To:        freebsd-stable@freebsd.org
Cc:        jkh@freebsd.org
Subject:   Kernel Build Failure in kern/subr_disk.c
Message-ID:  <3B1090C8.B4FF2156@pacbell.net>

next in thread | raw e-mail | index | archive | help
sys/kern/subr_disk.c was updated May 26. The update seems to have
caused a problem. I get the following when trying to
compile this file as part of a buildkernel:

cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline
-Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I/usr/src/sys
-I/usr/src/sys/../include  -D_KERNEL -include opt_global.h -elf 
-mpreferred-stack-boundary=2  /usr/src/sys/kern/subr_disk.c
/usr/src/sys/kern/subr_disk.c: In function `disk_create':
/usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list'
/usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list'
/usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list'
/usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list'
/usr/src/sys/kern/subr_disk.c: In function `disk_destroy':
/usr/src/sys/kern/subr_disk.c:116: structure has no member named
`d_list'
/usr/src/sys/kern/subr_disk.c:116: structure has no member named
`d_list'
/usr/src/sys/kern/subr_disk.c:116: structure has no member named
`d_list'
/usr/src/sys/kern/subr_disk.c:116: structure has no member named
`d_list'
/usr/src/sys/kern/subr_disk.c:116: structure has no member named
`d_list'
/usr/src/sys/kern/subr_disk.c: In function `disk_enumerate':
/usr/src/sys/kern/subr_disk.c:129: structure has no member named
`d_list'
/usr/src/sys/kern/subr_disk.c:130: warning: control reaches end of
non-void function

After some investigation, it appears that subr_disk.c now uses a LIST.
The code for initializing and maintaining a "disklist" is now in this
routine, but there is no LIST_ENTRY in the disk structure in
sys/include/disk.h. Patching the file as follows (taken from -current)
seems to fix the
compilation problem and generates a kernel that at least works for me. I
am not sure what effects this change will have on userland.

--- disk.h.orig Sat May 26 21:38:19 2001
+++ disk.h      Sat May 26 21:39:48 2001
@@ -28,6 +28,7 @@
        dev_t                   d_dev;
        struct diskslices       *d_slice;
        struct disklabel        d_label;
+        LIST_ENTRY(disk)        d_list;
 };
 
 #define DISKFLAG_LOCK          0x1

This change may cause other problems, but someone much more
knowledgeable than I should look at this.

-- 
G. Dinolt

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




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