Lightning Talk – How Bazel Handles Symlinks
summary
Bazel implements a custom realpath via lstat function and a pair of co‑recursive resolvers that detect symlink cycles and two kinds of infinite expansion (ancestor->descendant and descendant->ancestor). It records the logical resolution chain as both a linked list + BST chain so membership and ancestor/descendant checks are O(log n). It uses the kernel’s symlink follow limit for pathological self-cycles and delivers incremental correctness and fast incremental builds while emitting clear error messages for bad symlink layouts.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:27Speaker intro
- 2:09What are symlinks
- 4:16Why symlinks matter
- 6:46Symlink challenges
- 8:10Symlink cycles and expansions
- 9:56Bazel’s symlink resolution
- 10:59Summary
related talks
16mHermetic builds with Bazel
01h 02mHow symbols work and why we need them
27mBPF LSM - Updates and What next?
52mLSM Maintainers Panel
27mLSM BPF Change Everything
07mLightning Talk: Armoring Cloud Native Workloads with BPF LSM
01h 04mThe Bits Between the Bits: How We Get to main()
15mSubsystem Update: LSM Stacking - What You Can Do Now and What's Next
