cvs commit: src/sys/vfs/ufs quota.h ufs_quota.c
    Cédric Berger 
    cedric at berger.to
       
    Wed Nov  7 06:55:50 PST 2007
    
    
  
Matthew Dillon wrote:
dillon      2007/11/06 09:11:38 PST
DragonFly src repository
  Modified files:
    sys/vfs/ufs          quota.h ufs_quota.c 
  Log:
  When the quotacheck has not been run the quota code may have to
  allocate blocks in the userquota file itself.  This will deadlock the
  quota system.
  
  Disallow adjustments of quotas related to operations on the userquota file
  itself, and generate a warning to the console.
  
  Reported-by: David W <dpwalters at carolina.rr.com>
  
  Revision  Changes    Path
  1.9       +1 -1      src/sys/vfs/ufs/quota.h
  1.25      +42 -0     src/sys/vfs/ufs/ufs_quota.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/quota.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_quota.c.diff?r1=1.24&r2=1.25&f=u
I was just giving a quick look at the above file, and the following
code looks suspect:
+ufs_quotawarn(struct ufs_dquot *dq)
+{
+	static int dqticks;
+	if (dqticks / hz != ticks / hz) {
+		dqticks = ticks / hz;
are you sure is not more like:
+	if (dqticks != ticks / hz) {
+		dqticks = ticks / hz;
Cedric
    
    
More information about the Commits
mailing list