I don't have time just now to attend this particular detail, which
manifests itself by swapinfo/pstat -p showing "/dev/(null)" for
device name.

The problem in short is that libkvm:kvm_getswapinfo.c has it's
fingers in the kernels memory and pulls out a dev_t without knowing
how to (and it shouldn't be taught this!) convert it to a udev_t.

The Right Way to solve this problem is to rewrite libkvm:kvm_getswapinfo.c
to pick up the information using some (for this purpose constructed)
sysctl variables (sysctlbyname(3) please!), and let the kernel convert
the dev_t to udev_t before passing it out to userland.

So for any aspiring kernel hackers out there: have at it.  Patches
accepted.

In general libkvm should not grovel around in a running kernel but
only use sysctlbyname(3).

--
Poul-Henning Kamp             FreeBSD coreteam member
p...@freebsd.org               "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to