diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2025-06-02 07:26:35 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2025-07-04 15:23:42 +0000 |
commit | 2f60984053e5a91e2cfb45e424129297859fb11d (patch) | |
tree | 5267ee4ac936b922b35bcef491342dd5f02d2ecd /usr.sbin/makefs/(public-mirror) | |
parent | 2ffee9aef7c272d631dc072f7cfdd978c01c7dc8 (diff) |
For each visited dvp vnode, take the shared lock on mp->mnt_renamelock
for the lowest stacked filesystem.
This keeps the hierarchy walked by O_RELATIVE_BENEATH lookups stable.
As a consequence, we no longer need to track the dvps visited, it is
enough to remember the mount points only, and even this is needed only
to properly unlock them afterward.
Taking the lowest mp using VOP_GETWRITEMOUNT() ensures that renames on
lower fs are not allowed to break the guarantees of the
O_RELATIVE_BENEATH.
Reviewed by: markj, olce
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D50648
Diffstat (limited to 'usr.sbin/makefs/(public-mirror)')
0 files changed, 0 insertions, 0 deletions