aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@yahooinc.com>2023-04-28 15:29:42 +0200
committerHåkon Hallingstad <hakon@yahooinc.com>2023-04-28 15:29:42 +0200
commit631b2228210c23b2cd3bc97e1a4090547b5576a8 (patch)
treefea67dcd27093c208e8e2df6c15db7e75aa0a4ab /node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
parent75e261266c3629e4343f40f1aa26fc2dc02c9aa3 (diff)
Use Cgroup in CgroupLimitsTask, CgroupV2Task, MiscHostMetrics, Podman
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
index e6786b37b93..f3d0e5d0000 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/UnixPath.java
@@ -104,6 +104,18 @@ public class UnixPath {
return uncheck(() -> Files.readAllLines(path));
}
+ /** Create an empty file and return true, or false if the file already exists (the file may not be regular). */
+ public boolean touch() {
+ try {
+ Files.createFile(path);
+ return true;
+ } catch (FileAlreadyExistsException ignored) {
+ return false;
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+
public UnixPath writeUtf8File(String content, OpenOption... options) {
return writeBytes(content.getBytes(StandardCharsets.UTF_8), options);
}
@@ -214,15 +226,16 @@ public class UnixPath {
return this;
}
- /** Create directory with given permissions, unless it already exists, and return this. */
- public UnixPath createDirectory(String... permissions) {
+ /** Create directory with given permissions and return true, or false if it already exists. */
+ public boolean createDirectory(String... permissions) {
try {
Files.createDirectory(path, permissionsAsFileAttributes(permissions));
} catch (FileAlreadyExistsException ignore) {
+ return false;
} catch (IOException e) {
throw new UncheckedIOException(e);
}
- return this;
+ return true;
}
public UnixPath createDirectories(String... permissions) {