Date: Sat, 7 Apr 2001 19:18:15 -0700 (PDT) From: Greg Lehey <grog@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/vinum vinumvar.h Message-ID: <200104080218.f382IFx89400@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
grog 2001/04/07 19:18:14 PDT
Modified files: (Branch: RELENG_4)
sys/dev/vinum vinumvar.h
Log:
struct drive:
Workaround size mismatch in struct drive on alpha platform only.
This struct is shared between kernel and userland and contains a
dev_t, which now refers to a completely different structure in
userland and kernel: int the kernel, userland dev_t is called
udev_t, and dev_t is struct specinfo *. In practical terms, kernel
dev_t is a pointer and userland dev_t is an int, which on the alpha
are different sizes.
As stated, this is a workaround. The correct fix would be in two
parts:
1. Don't define structures in the kernel with the same name and a
different content as a userland structure. This is a
kernel-wide issue: kernel dev_t needs another name.
2. Don't export unnecessary kernel structures to userland. This
can be done within Vinum. It is currently on the tuit queue.
Sleuth work by: Normand Leclerc <nospam@ele.etsmtl.ca>
Tested by: Normand Leclerc <nospam@ele.etsmtl.ca>
Blanket approved by: jkh
Revision Changes Path
1.32.2.3 +6 -1 src/sys/dev/vinum/vinumvar.h
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?200104080218.f382IFx89400>
