Oops, don't limit slices to 4 processes
[util-vserver.git] / python / vserver.py
index d77abba..bc65a1b 100644 (file)
@@ -101,13 +101,18 @@ class VServer:
 
         # 'copy' original file, rename new to original
         backup = filename + ".old"
-        os.unlink(backup)
+        try:
+            os.unlink(backup)
+        except OSError, ex:
+            if ex.errno != errno.ENOENT:
+                raise
         os.link(filename, backup)
         os.rename(newfile, filename)
 
     def __do_chroot(self):
 
-        return os.chroot(self.dir)
+        os.chroot(self.dir)
+        os.chdir("/")
 
     def set_disklimit(self, block_limit):
 
@@ -128,7 +133,7 @@ class VServer:
                               block_usage,
                               block_limit,
                               inode_usage,
-                              -1,  # inode limit
+                              vserverimpl.DLIMIT_INF,  # inode limit
                               2)   # %age reserved for root
 
     def get_disklimit(self):
@@ -328,7 +333,7 @@ class VServer:
     def start(self, wait, runlevel = 3):
 
         # XXX - temporary hack
-        self.set_disklimit(self.config.get("DISKLIMIT", 5000000))
+        self.set_disklimit(int(self.config.get("DISKLIMIT", 5000000)))
 
         child_pid = os.fork()
         if child_pid == 0: