MP-Safe quotas for RELENG_6

Kostik Belousov kostikbel at gmail.com
Mon Jun 25 15:35:44 UTC 2007


Hello,
I backported the MP-Safe quotas patch for RELENG_6. Besides what the title
said, it includes several fixes for quotas operation. I would commit the
patch based on the users feedback, assuming the re@ would not object.

Please, test it.
http://people.freebsd.org/~kib/quotagiant/quotas-RELENG_6-20070623-1455.patch

Draft version of commit message:

MFC:

part of rev. 1.412 of sys/kern/vfs_syscalls.c:
  Remove explicit calls to lock and unlock Giant and replace them with
  VFS_LOCK_GIANT/VFS_UNLOCK_GIANT calls. MFC this for quotactl only.
rev. 1.433 of sys/kern/vfs_syscalls.c:
  Busy filesystem around call of VFS_QUOTACTL() vfs op.

rev. 1.289 of sys/ufs/ufs/ufs_vnops.c:
  Remove unneeded getinoquota() call in the ufs_access().

rev. 1.83 of sys/ufs/ufs/ufs_lookup.c:
  Call getinoquota() before allocating new block for the directory to properly
  account for block allocation.

rev. 1.30 of sys/ufs/ufs/quota.h
rev. 1.327 of sys/ufs/ffs/ffs_vfsops.c
rev. 1.93 of sys/ufs/ufs/ufs_quota.c:
  Implement fine-grained locking for UFS quotas.

rev. 1.205 of sys/ufs/ffs/ffs_softdep.c
rev. 1.328 of sys/ufs/ffs/ffs_vfsops.c:
  Mark UFS as being MP-Safe in "options QUOTA" case too. Remove no more
  neccessary Giant acquisions in softdepend processing code.

rev. 1.206 of sys/ufs/ffs/ffs_softdep.c:
  Revert rev. 1.205. Replace unconditional acquision of Giant when QUOTAS are
  defined with VFS_LOCK_GIANT(NULL) call.

rev. 1.211 of sys/ufs/ffs/ffs_softdep.c
rev. 1.69 of sys/ufs/ufs/ufs_inode.c:
  Fix livelock that could occur when snapshoting UFS with quotas, where
  some quota limit was exceeded.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20070625/4bd5889b/attachment.pgp


More information about the freebsd-stable mailing list