cvs commit: src/sys/fs/fdescfs fdesc_vfsops.c src/sys/fs/pseudofs pseudofs.c pseudofs.h src/sys/kern vfs_mount.c

Kelly Yancey kbyanc at FreeBSD.org
Mon May 15 12:42:25 PDT 2006


kbyanc      2006-05-15 19:42:10 UTC

  FreeBSD src repository

  Modified files:
    sys/fs/fdescfs       fdesc_vfsops.c 
    sys/fs/pseudofs      pseudofs.c pseudofs.h 
    sys/kern             vfs_mount.c 
  Log:
  Restore the ability to mount procfs and fdescfs filesystems via the
  mount(2) system call:
  
    * Add cmount hook to fdescfs and pseudofs (and, by extension, procfs and
      linprocfs).  This (mostly) restores the ability to mount these
      filesystems using the old mount(2) system call (see below for the
      rest of the fix).
  
    * Remove not-NULL check for the data argument from the mount(2) entry
      point.  Per the mount(2) man page, it is up to the individual
      filesystem being mounted to verify data.  Or, in the case of procfs,
      etc. the filesystem is free to ignore the data parameter if it does
      not use it.  Enforcing data to be not-NULL in the mount(2) system call
      entry point prevented passing NULL to filesystems which ignored the
      data pointer value.  Apparently, passing NULL was common practice
      in such cases, as even our own mount_std(8) used to do it in the
      pre-nmount(2) world.
  
  All userland programs in the tree were converted to nmount(2) long ago,
  but I've found at least one external program which broke due to this
  (presumably unintentional) mount(2) API change.  One could argue that
  external programs should also be converted to nmount(2), but then there
  isn't much point in keeping the mount(2) interface for backward
  compatibility if it isn't backward compatible.
  
  Revision  Changes    Path
  1.55      +11 -0     src/sys/fs/fdescfs/fdesc_vfsops.c
  1.27      +9 -0      src/sys/fs/pseudofs/pseudofs.c
  1.31      +4 -0      src/sys/fs/pseudofs/pseudofs.h
  1.223     +0 -3      src/sys/kern/vfs_mount.c


More information about the cvs-src mailing list