Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Mar 2008 07:47:08 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ffs ffs_snapshot.c
Message-ID:  <200803310747.m2V7l8pk078262@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jeff        2008-03-31 07:47:08 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_snapshot.c 
  Log:
   - Don't free snapdata structures when they are no longer in use.
     Keeping the lockmgr lock valid allows us to switch the v_lock pointer
     in snapshot vnodes between the embedded lockmgr lock and snapdata
     lock without needing the vnode interlock to protect against races
   - Keep unused snapdata structures in a list.
   - Add a function to lock the devvp and allocate a snapdata to it or
     acquire a new one without races.  The old function was safe from
     creation races because we set the mount flag when creating snapshots
     and thus serializing them.  However, it might have been subject to
     destroying races.
  
  Reviewed by:    tegge
  
  Revision  Changes    Path
  1.142     +109 -67   src/sys/ufs/ffs/ffs_snapshot.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803310747.m2V7l8pk078262>