summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-01-08 23:06:53 +0000
committerkib <kib@FreeBSD.org>2012-01-08 23:06:53 +0000
commit5ccad4b353ca1fd0386d62755bc00f146cdddec5 (patch)
tree628b27022e4f620628af64c85c5a17f7aaee3d3d /tools
parent12b863c4bef4df9c3de3099bb3a4cef60d5443da (diff)
downloadFreeBSD-src-5ccad4b353ca1fd0386d62755bc00f146cdddec5.zip
FreeBSD-src-5ccad4b353ca1fd0386d62755bc00f146cdddec5.tar.gz
Avoid LOR between vfs_busy() lock and covered vnode lock on quotaon().
The vfs_busy() is after covered vnode lock in the global lock order, but since quotaon() does recursive VFS call to open quota file, we usually end up locking covered vnode after mp is busied in sys_quotactl(). Change the interface of VFS_QUOTACTL(), requiring that mp was unbusied by fs code, and do not try to pick up vfs_busy() reference in ufs quotaon, esp. if vfs_busy cannot succeed due to unmount being performed. Reported and tested by: pho MFC after: 1 week
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud