Only use the disk cache directory if we can write to it
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gerrit/server/GerritServer.java b/src/main/java/com/google/gerrit/server/GerritServer.java
index 05c9214..1fda2d3 100644
--- a/src/main/java/com/google/gerrit/server/GerritServer.java
+++ b/src/main/java/com/google/gerrit/server/GerritServer.java
@@ -262,11 +262,14 @@
final File loc = new File(getSitePath(), path);
if (loc.exists() || loc.mkdirs()) {
- final DiskStoreConfiguration c = new DiskStoreConfiguration();
- c.setPath(loc.getAbsolutePath());
- mgrCfg.addDiskStore(c);
- log.info("Enabling disk cache " + loc.getAbsolutePath());
-
+ if (loc.canWrite()) {
+ final DiskStoreConfiguration c = new DiskStoreConfiguration();
+ c.setPath(loc.getAbsolutePath());
+ mgrCfg.addDiskStore(c);
+ log.info("Enabling disk cache " + loc.getAbsolutePath());
+ } else {
+ log.warn("Can't write to disk cache: " + loc.getAbsolutePath());
+ }
} else {
log.warn("Can't create disk cache: " + loc.getAbsolutePath());
}