Poul-Henning Kamp wrote:
>
> So, where do the programs that call this syscall have the udev_t from ?
Most likely from stat, lstat and fstat.
> Do they know it to be a mountpoint ?
That is implied by the way they get the dev_t.
> Do the know it to be a bmajor
> or cmajor style udev_t ?
AFAICT, filesystems are always on block-devices in Linux.
> Being Linux they only know one kind, right ?
Linux has the distinction between block and character devices. I don't
see any evidence that block devices can be accessed as character devices
as well (ie: there's /dev/fd0, but no /dev/rfd0).
> In that case, makebdev() has been wrong ever since we changed to
> mount cdevs in FreeBSD.
In the sense that we would never find the vnode and thus always return
zero stats, right?
> You should simply change the makebdev() to makedev() and VBLK to VCHR
> in the vfinddev() right after.
Right-o :-)
> It's still mightily bogus though...
Yes. A more dynamic solution needs to be used that creates mappings (and
dev_t values) on the fly.
--
Marcel Moolenaar
mail: [EMAIL PROTECTED] / [EMAIL PROTECTED]
tel: (408) 447-4222
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message