Page MenuHomeFreeBSD

tarfs: Correctly track link count.
ClosedPublic

Authored by des on Mar 10 2023, 5:50 PM.
Tags
None
Referenced Files
F138350785: D39019.diff
Mon, Dec 1, 6:57 AM
Unknown Object (File)
Sun, Nov 23, 4:24 AM
Unknown Object (File)
Thu, Nov 20, 2:02 AM
Unknown Object (File)
Thu, Nov 20, 2:02 AM
Unknown Object (File)
Thu, Nov 20, 2:01 AM
Unknown Object (File)
Thu, Nov 20, 2:01 AM
Unknown Object (File)
Thu, Nov 20, 1:52 AM
Unknown Object (File)
Mon, Nov 10, 1:06 AM
Subscribers

Details

Summary

Sponsored by: Juniper Networks, Inc.
Sponsored by: Klara, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 50283
Build 47175: arc lint + arc unit

Event Timeline

des requested review of this revision.Mar 10 2023, 5:50 PM

buggy, will resubmit

sys/fs/tarfs/tarfs_vfsops.c
745

What protects other->nlink during the increment? Could two calls to tarfs_alloc_one() executed in parallel, targeting the same dst node?

Or even, what protects other itself? For instance, could unmount occur in parallel with the tarfs_alloc_one()?

sys/fs/tarfs/tarfs_vfsops.c
745

tarfs_alloc_one() is called sequentially during mount, and tarfs_free_node() is called sequentially during unmount or while cleaning up after a failed mount.

This revision is now accepted and ready to land.Mar 13 2023, 5:56 PM
This revision was automatically updated to reflect the committed changes.