def set_disklimit(self, block_limit):
# block_limit is in kB
+ if block_limit == 0:
+ vserverimpl.unsetdlimit(self.dir, self.ctx)
+ return
+
if self.vm_running:
block_usage = vserverimpl.DLIMIT_KEEP
inode_usage = vserverimpl.DLIMIT_KEEP
blocksused, blocktotal, inodesused, inodestotal, reserved = \
vserverimpl.getdlimit(self.dir, self.ctx)
except OSError, ex:
- if ex.errno == errno.ESRCH:
- # get here if no vserver disk limit has been set for xid
- blocktotal = -1
+ if ex.errno != errno.ESRCH:
+ raise
+ # get here if no vserver disk limit has been set for xid
+ blocktotal = -1
return blocktotal
ret = vserverimpl.getrlimit(self.ctx,6)
return ret
- def set_bwlimit(self, share, minrate, maxrate = None, dev = "eth0"):
+ def set_bwlimit(self, share, minrate = 1, maxrate = None, dev = "eth0"):
- if False:
- bwlimit.off(self.ctx, dev)
- else:
+ if share:
bwlimit.on(self.ctx, dev, share, minrate, maxrate)
+ else:
+ bwlimit.off(self.ctx, dev)
def get_bwlimit(self, eth):
# not implemented yet
%define name util-vserver
%define version 0.30.208
-%define release 5.planetlab%{?date:.%{date}}
+%define release 6.planetlab%{?date:.%{date}}
%define _without_dietlibc 1
%define _without_xalan 1
%changelog
+* Wed Nov 9 2005 Steve Muir <smuir@cs.princeton.edu>
+- add support for removing resource limits e.g., when a slice is deleted
+
* Mon Nov 7 2005 Steve Muir <smuir@cs.princeton.edu>
- fix file descriptor leak in vduimpl
- clean up handling of network parameters