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