From d5afe365cd38bd2e7b58099eafabfdadd1a6eb9f Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Fri, 13 Nov 2015 17:28:24 +0000
Subject: [PATCH] recursively fix directory permissions

---
 .../dm/ds_web_service/service/impl/experimentManager.py       | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/python/dm/ds_web_service/service/impl/experimentManager.py b/src/python/dm/ds_web_service/service/impl/experimentManager.py
index 2fc3d0af..c44acf93 100755
--- a/src/python/dm/ds_web_service/service/impl/experimentManager.py
+++ b/src/python/dm/ds_web_service/service/impl/experimentManager.py
@@ -140,10 +140,12 @@ class ExperimentManager(Singleton):
                 OsUtility.chmodPath(filePath, fileMode=self.FILE_PERMISSIONS_MODE)
                 self.logger.debug('Changing group owner for %s to %s' % (filePath, experimentName))
                 self.platformUtility.changePathGroupOwner(filePath, experimentName)
+                # Recursively modify subdirectory permissions
                 dirPath = os.path.dirname(filePath)
-                if dirPath != storageDirectory:
+                while (os.path.abspath(dirPath) != os.path.abspath(storageDirectory)):
                     self.logger.debug('Changing group owner for experiment subdirectory %s to %s' % (dirPath, experimentName))
                     self.platformUtility.changePathGroupOwner(dirPath, experimentName)
+                    dirPath = os.path.dirname(dirPath)
 
                 self.logger.debug('Processing file %s' % filePath)
                 self.fileProcessingManager.processFile(fileInfo)
-- 
GitLab