about summary refs log tree commit diff
path: root/src/libstore/local-store.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-10-03T14·38-0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-10-03T14·38-0400
commita3f205b24954c7f0983a937b0b9b3d64c22a2fa7 (patch)
tree245d2daa9ac4816507105bffb588fac38ad31fc3 /src/libstore/local-store.hh
parent2001895f3d2668549feb60a182aa624a7b6292eb (diff)
When repairing a derivation, check and repair the entire output closure
If we find a corrupted path in the output closure, we rebuild the
derivation that produced that particular path.
Diffstat (limited to 'src/libstore/local-store.hh')
-rw-r--r--src/libstore/local-store.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libstore/local-store.hh b/src/libstore/local-store.hh
index 00356bf9d7bf..b2f06d8118ca 100644
--- a/src/libstore/local-store.hh
+++ b/src/libstore/local-store.hh
@@ -206,6 +206,8 @@ public:
        contents. */
     bool pathContentsGood(const Path & path);
 
+    void markContentsGood(const Path & path);
+
 private:
 
     Path schemaPath;
@@ -233,6 +235,9 @@ private:
     SQLiteStmt stmtQueryDerivationOutputs;
     SQLiteStmt stmtQueryPathFromHashPart;
 
+    /* Cache for pathContentsGood(). */
+    std::map<Path, bool> pathContentsGoodCache;
+
     int getSchema();
 
     void openDB(bool create);