From: Gordon Hecker Date: Mon, 6 Dec 2010 08:32:13 +0000 (+0100) Subject: cache: provide api for enabling/disabling cache X-Git-Tag: e2factory-2.3.9pre1~3 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=8b8ebbbe039b0ceb36118ee920e4518b45033d83;p=e2factory.git cache: provide api for enabling/disabling cache Signed-off-by: Gordon Hecker --- diff --git a/generic/cache.lua b/generic/cache.lua index 8afd5f3..0d54a5d 100644 --- a/generic/cache.lua +++ b/generic/cache.lua @@ -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