From 21fcad5f47ccb4d444265382a350da1ac719ca5a Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Wed, 8 May 2024 18:06:00 +0200 Subject: [PATCH] Reduce diff --- .../lib/sandbox/AbstractContainerizingSandboxedSpawn.java | 5 +++-- .../build/lib/sandbox/AbstractSandboxSpawnRunner.java | 2 +- .../build/lib/sandbox/LinuxSandboxedSpawnRunner.java | 5 ++--- .../com/google/devtools/build/lib/worker/WorkerExecRoot.java | 1 - .../google/devtools/build/lib/worker/WorkerSpawnRunner.java | 4 ---- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/AbstractContainerizingSandboxedSpawn.java b/src/main/java/com/google/devtools/build/lib/sandbox/AbstractContainerizingSandboxedSpawn.java index e66b65d2db2179..3b2930118f43ca 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/AbstractContainerizingSandboxedSpawn.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/AbstractContainerizingSandboxedSpawn.java @@ -27,6 +27,7 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; +import com.google.devtools.build.lib.vfs.RootedPath; import java.io.IOException; import java.util.LinkedHashSet; import java.util.Set; @@ -162,9 +163,9 @@ void createInputs(Iterable inputsToCreate, SandboxInputs inputs) } Path key = sandboxExecRoot.getRelative(fragment); if (inputs.getFiles().containsKey(fragment)) { - Path fileDest = inputs.getFiles().get(fragment).asPath(); + RootedPath fileDest = inputs.getFiles().get(fragment); if (fileDest != null) { - copyFile(fileDest, key); + copyFile(fileDest.asPath(), key); } else { FileSystemUtils.createEmptyFile(key); } diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/AbstractSandboxSpawnRunner.java b/src/main/java/com/google/devtools/build/lib/sandbox/AbstractSandboxSpawnRunner.java index 9eb3915e27cc18..d72f9fbd648c13 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/AbstractSandboxSpawnRunner.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/AbstractSandboxSpawnRunner.java @@ -373,7 +373,7 @@ protected ImmutableSet getWritableDirs( // On Windows, sandboxExecRoot is actually the main execroot. We will specify // exactly which output path is writable. if (OS.getCurrent() != OS.WINDOWS) { - writablePaths.add(execRoot); + writablePaths.add(sandboxExecRoot); } String testTmpdir = env.get("TEST_TMPDIR"); diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java index 94be51da8d6244..933b99c5f0db29 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java @@ -126,6 +126,7 @@ private static boolean computeIsSupported(CommandEnvironment cmdEnv, Path linuxS } private final SandboxHelpers helpers; + private final FileSystem fileSystem; private final Path execRoot; private final boolean allowNetwork; private final Path linuxSandbox; @@ -136,7 +137,6 @@ private static boolean computeIsSupported(CommandEnvironment cmdEnv, Path linuxS private final Duration timeoutKillDelay; private final TreeDeleter treeDeleter; private final Reporter reporter; - private final FileSystem fileSystem; private final Path slashTmp; private final Path outputBase; private final LoadingCache> symlinkChainCache = @@ -163,6 +163,7 @@ private static boolean computeIsSupported(CommandEnvironment cmdEnv, Path linuxS TreeDeleter treeDeleter) { super(cmdEnv); this.helpers = helpers; + this.fileSystem = cmdEnv.getRuntime().getFileSystem(); this.execRoot = cmdEnv.getExecRoot(); this.allowNetwork = helpers.shouldAllowNetwork(cmdEnv.getOptions()); this.linuxSandbox = LinuxSandboxUtil.getLinuxSandbox(cmdEnv.getBlazeWorkspace()); @@ -173,7 +174,6 @@ private static boolean computeIsSupported(CommandEnvironment cmdEnv, Path linuxS this.localEnvProvider = new PosixLocalEnvProvider(cmdEnv.getClientEnv()); this.treeDeleter = treeDeleter; this.reporter = cmdEnv.getReporter(); - this.fileSystem = cmdEnv.getRuntime().getFileSystem(); this.slashTmp = cmdEnv.getRuntime().getFileSystem().getPath("/tmp"); this.outputBase = cmdEnv.getOutputBase(); } @@ -215,7 +215,6 @@ protected SandboxedSpawn prepareSpawn(Spawn spawn, SpawnExecutionContext context // so we have to prefix our name to turn it into a globally unique value. Path sandboxPath = sandboxBase.getRelative(getName()).getRelative(Integer.toString(context.getId())); - sandboxPath.createDirectoryAndParents(); // b/64689608: The execroot of the sandboxed process must end with the workspace name, just like // the normal execroot does. diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerExecRoot.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerExecRoot.java index 1cf31e8063d6b5..d8802d06f7b66b 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/WorkerExecRoot.java +++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerExecRoot.java @@ -23,7 +23,6 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.vfs.RootedPath; - import java.io.IOException; import java.util.LinkedHashSet; import java.util.List; diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java index cdf31cea836b3e..8ffb94168b5c86 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java +++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java @@ -61,11 +61,7 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; -import com.google.devtools.build.lib.vfs.Root; import com.google.devtools.build.lib.vfs.RootedPath; -import com.google.devtools.build.lib.vfs.Root; -import com.google.devtools.build.lib.vfs.XattrProvider; -import com.google.devtools.build.lib.vfs.XattrProvider; import com.google.devtools.build.lib.worker.WorkerProtocol.WorkRequest; import com.google.devtools.build.lib.worker.WorkerProtocol.WorkResponse; import com.google.protobuf.ByteString;