]> git.e2factory.org Git - e2factory.git/commitdiff
cache: provide api for enabling/disabling cache
authorGordon Hecker <gh@emlix.com>
Mon, 6 Dec 2010 08:32:13 +0000 (09:32 +0100)
committerGordon Hecker <gh@emlix.com>
Mon, 6 Dec 2010 09:28:00 +0000 (10:28 +0100)
Signed-off-by: Gordon Hecker <gh@emlix.com>
generic/cache.lua

index 8afd5f3332a0c71610b08c192157d6600cf5864b..0d54a5dd848e775a663a2b2ff425a195200c8437 100644 (file)
@@ -493,3 +493,28 @@ function file_path(cache, server, location, flags)
        end
        return path, nil
 end
+
+--- enable/disable writeback for a server
+-- @param cache the cache data structure
+-- @param server the server where the file is located
+-- @param value boolean: the new setting
+-- @return boolean
+-- @return an error object on failure
+function set_writeback(cache, server, value)
+        e2lib.log(4, string.format("set_writeback(): %s %s %s",
+                                        cache.name, server, tostring(value)))
+       if type(value) ~= "boolean" then
+               return false, new_error(
+                               "cache.set_writeback(): value is not boolean")
+       end
+       local rc, re = cache:valid_server(server)
+       if not rc then
+               return false, re
+       end
+       local ce, re = cache:ce_by_server(server)
+       if not rc then
+               return false, re
+       end
+       ce.flags.writeback = value
+       return true, nil
+end