In softdep_prealloc(), return early not only for snapshots, but for
the quota files as well. Reported and tested by: pho Reviewed by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
This commit is contained in:
parent
ccb19123e5
commit
60f1c000f3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=305594
@ -2997,10 +2997,13 @@ softdep_prealloc(vp, waitok)
|
||||
("softdep_prealloc called on non-softdep filesystem"));
|
||||
/*
|
||||
* Nothing to do if we are not running journaled soft updates.
|
||||
* If we currently hold the snapshot lock, we must avoid handling
|
||||
* other resources that could cause deadlock.
|
||||
* If we currently hold the snapshot lock, we must avoid
|
||||
* handling other resources that could cause deadlock. Do not
|
||||
* touch quotas vnode since it is typically recursed with
|
||||
* other vnode locks held.
|
||||
*/
|
||||
if (DOINGSUJ(vp) == 0 || IS_SNAPSHOT(VTOI(vp)))
|
||||
if (DOINGSUJ(vp) == 0 || IS_SNAPSHOT(VTOI(vp)) ||
|
||||
(vp->v_vflag & VV_SYSTEM) != 0)
|
||||
return (0);
|
||||
ump = VFSTOUFS(vp->v_mount);
|
||||
ACQUIRE_LOCK(ump);
|
||||
|
Loading…
Reference in New Issue
Block a user