diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2021-10-15 11:49:11 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2021-10-15 11:49:11 +0200 |
commit | 03a710a40926a3ea80072cc8676f4edd18662f84 (patch) | |
tree | 965111b6c87c22e9c144b2564474439bddf148b4 /node-admin/src/main/java/com/yahoo | |
parent | fa2aa2c40a3028752d861592f4a9b37982b80797 (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.java | 7 |
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 |