Clean up FilesystemCalls: rename to SyscallCache, move to a top-level class, and get rid of AtomicReference wherever possible. Use a SyscallCache for any command-scoped classes, and Supplier<SyscallCache> for others. This change should have no runtime-observable effects (all underlying caches are the same).
Also clean up AtomicReference<TimestampGranularityMonitor> in the same way, since the parameters are passed together, and set it to non-null wherever possible.
PiperOrigin-RevId: 424687480
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
index dd63561..2683512 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
@@ -13,7 +13,6 @@
// limitations under the License.
package com.google.devtools.build.lib.skyframe;
-import static com.google.devtools.build.lib.vfs.UnixGlob.DEFAULT_SYSCALLS;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.common.annotations.VisibleForTesting;
@@ -54,6 +53,7 @@
import com.google.devtools.build.lib.vfs.Root;
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.lib.vfs.Symlinks;
+import com.google.devtools.build.lib.vfs.SyscallCache;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyKey;
@@ -339,7 +339,7 @@
// remove some of the filesystem operations we're doing here.
Path path = traversal.root.asRootedPath().asPath();
FileStateValue fileState =
- FileStateValue.create(traversal.root.asRootedPath(), DEFAULT_SYSCALLS, null);
+ FileStateValue.create(traversal.root.asRootedPath(), SyscallCache.NO_CACHE, null);
if (fileState.getType() == FileStateType.NONEXISTENT) {
throw new IOException("Missing file: " + path);
}