svn commit: r198768 - head/sbin/mknod

Dag-Erling Smørgrav des at des.no
Sun Nov 1 23:59:18 UTC 2009


Ed Schouten <ed at 80386.nl> writes:
> Dag-Erling Smørgrav <des at des.no> writes:
> > (device numbers are currently unsigned int; is there a reason not to
> > make them explicitly 32 bits wide, i.e. uint32_t?)
> I think it should explicitly use dev_t or something, right?

Ah, I was looking in the wrong header; it is indeed a uint32_t.  So:

b | c

  Type of device.  Historically, block devices were provided to allow
  byte-level access to hardware that required data to be read or written
  in fixed-sized blocks.  FreeBSD no longer has block devices, and all
  device nodes should be created as character devices.

  However, the distinction between block and character devices is still
  important when creating device nodes on a filesystem intended for use
  by older systems.

(it's been so long since we dropped block devices that I actually had to
look up the details in an old copy of D&I)

major, minor

  Historically, a device number consisted of two parts: the major
  number, which identified a device driver, and the minor number, which
  identified an individual device handled by that driver.  FreeBSD no
  longer makes that distinction.  Instead, every device in the system
  has a unique 32-bit device number.  For compatibility with software
  that still expects separate major and minor numbers, this 32-bit
  device number is split into a 24-bit major number and an 8-bit minor
  number.

  However, the distinction between major and minor numbers is still
  important when creating device nodes on a filesystem intended for use
  by older systems.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the svn-src-head mailing list