cvs commit: src/sys/ufs/ufs quota.h ufs_quota.c src/sys/ufs/ffs ffs_vfsops.c

Konstantin Belousov kib at FreeBSD.org
Wed Mar 14 08:54:08 UTC 2007


kib         2007-03-14 08:54:08 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ufs          quota.h ufs_quota.c 
    sys/ufs/ffs          ffs_vfsops.c 
  Log:
  Implement fine-grained locking for UFS quotas.
  
  Each struct dquot gets dq_lock mutex to protect dq_flags and to interlock
  with DQ_LOCK. qhash, dqfreelist and dq.dq_cnt are protected by global
  dqhlock mutex.
  
  i_dquot array for inode is protected by lockmgr' vnode lock, corresponding
  assert added to the dqget(). Access to struct ufsmount quota-related fields
  (um_quotas and um_qflags) is protected by um_lock.
  
  Tested by:      Peter Holm
  Reviewed by:    tegge
  Approved by:    re (kensmith)
  
  This work were not possible without enormous amount of help given by
  Tor Egge and Peter Holm. Tor reviewed each version of patch, pointed out
  numerous errors and provided invaluable suggestions. Peter did tireless
  testing of the patch as it was developed.
  
  Revision  Changes    Path
  1.327     +0 -2      src/sys/ufs/ffs/ffs_vfsops.c
  1.30      +24 -4     src/sys/ufs/ufs/quota.h
  1.93      +469 -136  src/sys/ufs/ufs/ufs_quota.c


More information about the cvs-src mailing list