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

Reply via email to