aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/makefs/(public-mirror)
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2025-06-02 07:26:35 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2025-07-04 15:23:42 +0000
commit2f60984053e5a91e2cfb45e424129297859fb11d (patch)
tree5267ee4ac936b922b35bcef491342dd5f02d2ecd /usr.sbin/makefs/(public-mirror)
parent2ffee9aef7c272d631dc072f7cfdd978c01c7dc8 (diff)
namei dotdot tracker: take mnt_renamelock shared to prevent parallel renamesHEADmain
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