From f2c17756578927dfdfa566aafd2efdef09243d5b Mon Sep 17 00:00:00 2001 From: Vishesh Date: Fri, 29 Sep 2023 18:51:53 +0530 Subject: [PATCH] fix: cleanup directory if empty after removal of snapshot (#8002) Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com> --- .../storage/resource/NfsSecondaryStorageResource.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index e16926e76dc..d8f7395c885 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -2050,6 +2050,13 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S s_logger.warn(details); return new Answer(cmd, false, details); } + + // delete the directory if it is empty + if (snapshotDir.isDirectory() && snapshotDir.list().length == 0 && !snapshotDir.delete()) { + details = String.format("Unable to delete directory [%s] at path [%s].", snapshotDir.getName(), snapshotPath); + s_logger.debug(details); + return new Answer(cmd, false, details); + } return new Answer(cmd, true, null); } else if (dstore instanceof S3TO) { final S3TO s3 = (S3TO)dstore;