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());
     }