Fix mount interlock oversights from the previous change in r234386.
Reported by: dougb Submitted by: Mateusz Guzik <mjguzik at gmail com> Reviewed by: Kirk McKusick Tested by: pho
This commit is contained in:
parent
83c476cd09
commit
7d5f5d83f5
@ -830,7 +830,6 @@ ext2_sync(struct mount *mp, int waitfor)
|
||||
/*
|
||||
* Write back each (modified) inode.
|
||||
*/
|
||||
MNT_ILOCK(mp);
|
||||
loop:
|
||||
MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
|
||||
if (vp->v_type == VNON) {
|
||||
@ -847,7 +846,6 @@ ext2_sync(struct mount *mp, int waitfor)
|
||||
}
|
||||
error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td);
|
||||
if (error) {
|
||||
MNT_ILOCK(mp);
|
||||
if (error == ENOENT) {
|
||||
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
|
||||
goto loop;
|
||||
|
Loading…
Reference in New Issue
Block a user