git: kernel - Remove improper EBUSY error on mount

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Feb 27 16:44:57 PST 2013


commit 1c8efd4dbe45498adb44773d2b82f5f123d5f4db
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Feb 27 16:42:04 2013 -0800

    kernel - Remove improper EBUSY error on mount
    
    * Remove the old VMOUNT vnode flag.  This flag is no longer applicable
      to anything we do.
    
    * Simultanious mounts onto the same target at different points in the
      topology could cause races against the VMOUNT flag due to the vnode
      being shared, resulting in an EBUSY error for a perfectly good mount
      request.
    
      For example, if you mount_null A to X, A to Y, and A to Z, then
      you simultaniously try to mount devfs onto X/dev, Y/dev, and Z/dev,
      some of those dev mount attempts could fail.  This was due to the
      VMOUNT flag set on the vnode.  X/dev, Y/dev, and Z/dev share the
      same physical vnode.
    
    * Fixes poudriere weirdness when many jails are in use.

Summary of changes:
 sys/kern/vfs_conf.c     | 3 ---
 sys/kern/vfs_syscalls.c | 9 ++-------
 sys/sys/vnode.h         | 2 +-
 3 files changed, 3 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1c8efd4dbe45498adb44773d2b82f5f123d5f4db


-- 
DragonFly BSD source repository



More information about the Commits mailing list