Revert 2d4422e799
, Eliminate lock order reversal in UFS ffs_unmount().
After discussion with Chuck Silvers (chs@) we have decided that there is a better way to resolve this lock order reversal which will be committed separately. Sponsored by: Netflix
This commit is contained in:
parent
e948d980f7
commit
a63eae65ff
@ -1547,14 +1547,7 @@ ffs_unmount(mp, mntflags)
|
||||
BO_UNLOCK(&ump->um_odevvp->v_bufobj);
|
||||
atomic_store_rel_ptr((uintptr_t *)&ump->um_dev->si_mountpt, 0);
|
||||
mntfs_freevp(ump->um_devvp);
|
||||
/* Avoid LOR in vrele by passing in locked vnode and using vput */
|
||||
if (vn_lock(ump->um_odevvp, LK_EXCLUSIVE | LK_NOWAIT) == 0) {
|
||||
vput(ump->um_odevvp);
|
||||
} else {
|
||||
/* This should never happen, see commit message for details */
|
||||
printf("ffs_unmount: Unexpected LK_NOWAIT failure\n");
|
||||
vrele(ump->um_odevvp);
|
||||
}
|
||||
vrele(ump->um_odevvp);
|
||||
dev_rel(ump->um_dev);
|
||||
mtx_destroy(UFS_MTX(ump));
|
||||
if (mp->mnt_gjprovider != NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user