mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 09:41:03 -04:00
When removing or renaming snaphost, do not delve into request_cleanup().
The later may need blocks from the underlying device that belongs to normal files, that should not be locked while snap lock is held. Reported and tested by: pho MFC after: 1 month
This commit is contained in:
parent
8933fa13b6
commit
bc364c4e99
1 changed files with 1 additions and 1 deletions
|
|
@ -3309,7 +3309,7 @@ newdirrem(bp, dp, ip, isrmdir, prevdirremp)
|
|||
* the number of freefile and freeblks structures.
|
||||
*/
|
||||
ACQUIRE_LOCK(&lk);
|
||||
if (num_dirrem > max_softdeps / 2)
|
||||
if (!(ip->i_flags & SF_SNAPSHOT) && num_dirrem > max_softdeps / 2)
|
||||
(void) request_cleanup(ITOV(dp)->v_mount, FLUSH_REMOVE);
|
||||
num_dirrem += 1;
|
||||
FREE_LOCK(&lk);
|
||||
|
|
|
|||
Loading…
Reference in a new issue