summaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2021-10-15 11:49:11 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2021-10-15 11:49:11 +0200
commit03a710a40926a3ea80072cc8676f4edd18662f84 (patch)
tree965111b6c87c22e9c144b2564474439bddf148b4 /node-admin/src/main/java/com/yahoo
parentfa2aa2c40a3028752d861592f4a9b37982b80797 (diff)
Do not chown to root if file already existed
Diffstat (limited to 'node-admin/src/main/java/com/yahoo')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerFileSystemProvider.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerFileSystemProvider.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerFileSystemProvider.java
index a85e4ee8699..cf1985eff58 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerFileSystemProvider.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerFileSystemProvider.java
@@ -10,6 +10,7 @@ import java.nio.file.DirectoryStream;
import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.FileSystemAlreadyExistsException;
+import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.OpenOption;
import java.nio.file.Path;
@@ -80,8 +81,9 @@ class ContainerFileSystemProvider extends FileSystemProvider {
@Override
public SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException {
Path pathOnHost = pathOnHost(path);
+ boolean existedBefore = Files.exists(pathOnHost);
SeekableByteChannel seekableByteChannel = provider(pathOnHost).newByteChannel(pathOnHost, options, attrs);
- fixOwnerToContainerRoot(toContainerPath(path));
+ if (!existedBefore) fixOwnerToContainerRoot(toContainerPath(path));
return seekableByteChannel;
}
@@ -94,8 +96,9 @@ class ContainerFileSystemProvider extends FileSystemProvider {
@Override
public void createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException {
Path pathOnHost = pathOnHost(dir);
+ boolean existedBefore = Files.exists(pathOnHost);
provider(pathOnHost).createDirectory(pathOnHost);
- fixOwnerToContainerRoot(toContainerPath(dir));
+ if (!existedBefore) fixOwnerToContainerRoot(toContainerPath(dir));
}
@Override