From: Steve Muir Date: Fri, 7 Oct 2005 21:34:40 +0000 (+0000) Subject: Allow caller to indicate that disk usage values have already been set X-Git-Tag: after-util-vserver-0_30_208-revert~85 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=ee7c992dff78b6c3bc037e0687f2bbb586ee96da;p=util-vserver.git Allow caller to indicate that disk usage values have already been set --- diff --git a/python/vserver.py b/python/vserver.py index 7774ceb..8ecf488 100644 --- a/python/vserver.py +++ b/python/vserver.py @@ -40,7 +40,7 @@ class VServer: INITSCRIPTS = [('/etc/rc.vinit', 'start'), ('/etc/rc.d/rc', '%(runlevel)d')] - def __init__(self, name): + def __init__(self, name, disk_usage_set = False): self.name = name self.config_file = "/etc/vservers/%s.conf" % name @@ -58,6 +58,7 @@ class VServer: self.flags |= FLAGS_NPROC self.remove_caps = ~vserverimpl.CAP_SAFE; self.ctx = int(self.config["S_CONTEXT"]) + self.disk_usage_set = disk_usage_set config_var_re = re.compile(r"^ *([A-Z_]+)=(.*)\n?$", re.MULTILINE) @@ -116,11 +117,12 @@ class VServer: def set_disklimit(self, block_limit): - # block_limit is in kB, get_disk_usage() must have been called + # block_limit is in kB if self.disk_usage_set: block_usage = vserverimpl.DLIMIT_KEEP inode_usage = vserverimpl.DLIMIT_KEEP else: + # init_disk_info() must have been called to get usage values block_usage = self.disk_blocks inode_usage = self.disk_inodes if block_limit < block_usage: @@ -424,6 +426,5 @@ class VServer: def init_disk_info(self): (self.disk_inodes, self.disk_blocks, size) = vduimpl.vdu(self.dir) - self.disk_usage_set = False return size