--- vservers.rpmsave	2003-09-29 20:05:10.000000000 +0200
+++ vservers	2003-09-29 20:08:02.000000000 +0200
@@ -4,7 +4,8 @@
 #              the virtual servers.
 
 USR_SBIN=/usr/sbin
-
+SHAREDPARTS="hda3 hda4"
+XVPARTS="/etc/vservers/vpartitions"
 
 # Print the vserver name in priority/alpha order
 sortserver(){
@@ -20,6 +21,34 @@
 }
 
 startservers(){
+	echo "setting up vroots"
+	xvroot=0
+	echo -n "" > /etc/vservers/vpartitions
+	for parti in $SHAREDPARTS ; do
+		echo " $parti -> vrsetup /dev/vroot/$xvroot /dev/$parti"
+		echo "$parti:$xvroot" >> $XVPARTS
+		vrsetup /dev/vroot/$xvroot /dev/$parti
+		let xvroot++
+	done
+	
+	echo "activating context quota"
+	cd /etc/vservers
+	for name in `sortserver`
+	do
+		REALBLOCKDEVICE=
+		S_CONTEXT=
+		. $name.conf
+		if [ ! -z $S_CONTEXT ] ; then
+			if [ ! -z $REALBLOCKDEVICE ] ; then
+				myvroot=`grep $REALBLOCKDEVICE $XVPARTS | cut -d : -f 2`
+                        	cp -af /dev/vroot/$myvroot /vservers/$name/dev/hdv1 && \
+                        	echo "activating quota on $S_CONTEXT ($name::$myvroot)" && \
+				echo "cqhadd -v -x $S_CONTEXT /dev/vroot/$myvroot" && \
+                        	cqhadd -v -x $S_CONTEXT /dev/vroot/$myvroot
+			fi
+		fi
+	done
+
 	echo "Starting the virtual servers"
 	cd /etc/vservers
 	for name in `sortserver`
@@ -28,6 +57,7 @@
 		. $name.conf
 		if [ "$ONBOOT" = "yes" ] ; then
 			$USR_SBIN/vserver $name start
+			echo "+ + + + + + + + + + + + + + + + + + + + + + +"
 		else
 			echo virtual server $name not configured for on boot start
 		fi
@@ -56,7 +86,37 @@
 	for name in `sortserver -r`
 	do
 		$USR_SBIN/vserver $name stop
+		echo "+ + + + + + + + + + + + + + + + + + + + + + +"
 	done
+
+
+	echo "deactivating context quota"
+	cd /etc/vservers
+	for name in `sortserver`
+	do
+		REALBLOCKDEVICE=
+		S_CONTEXT=
+		. $name.conf
+		if [ ! -z $S_CONTEXT ] ; then
+			if [ ! -z $REALBLOCKDEVICE ] ; then
+				myvroot=`grep $REALBLOCKDEVICE $XVPARTS | cut -d : -f 2`
+                        	echo "deactivating quota on $S_CONTEXT ($name::$myvroot)" && \
+				echo "cqhrem -v -x $S_CONTEXT /dev/vroot/$myvroot" && \
+                        	cqhrem -v -x $S_CONTEXT /dev/vroot/$myvroot
+			fi
+		fi
+	done
+
+
+	xvroot=0
+	echo "removing vroots"
+	for i in `cat /etc/vservers/vpartitions` ; do 
+		myvroot=`echo $i | cut -d : -f 2`
+		myparti=`echo $i | cut -d : -f 1`
+		echo " > vrsetup -d /dev/vroot/$myvroot /dev/$myparti"
+		vrsetup -d /dev/vroot/$myvroot /dev/$myparti
+	done
+
 	rm -f /var/lock/subsys/vservers
 	;;
   restart)
@@ -83,7 +143,3 @@
 esac
 
 exit 0
-
-
-
-
