From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Wed 24 Sep 2003 - 14:24:42 BST
On Wed, Sep 24, 2003 at 10:48:40AM +0200, Stephan Sachse wrote:
> Hi Herbert,
> 
> when i have run one vserver with quota all works fine
> same with two running vservers with quota
> 
> but whith three vserver (2 quota, 1 without) a "vserver vserverwithquota
> stop" hangs at the end auf the script.
but you don't have this issuues with 2 or three quota 
servers? sounds interesting to me ...
> i do a "vserver <name> exec quotaoff -avgu" in the post-stop section of
> the vserver.sh. "vps ax" shows a hanging "quotaoff -avgu" in the
> vserver.  /proc/mounts says
I know where it hangs, but I don't know why, guess
I have to review the quota code line by line again
> i dont understand the quotaoff problem in vserver.sh post-stop because
> doing this by hand works fine...
maybe there is a problem with this kind of
recursion, triggering some still present quota
issue ...
> here is the vservername.sh script that doing the job
> 
> > #!/bin/sh
> > 
> > REALBLOCKDEVICE=
> > S_CONTEXT=
> > 
> > if [ -f /etc/vservers/$2.conf ] ; then
> >     . /etc/vservers/$2.conf
> > fi
> > 
> > case $1 in
> > pre-start)
> >         if [ ! -z $S_CONTEXT ] ; then
> >               if [ ! -z $REALBLOCKDEVICE ] ; then
> >             		echo "turning quota on"
> >                 	vserver $2 exec quotaon -vagu
> >         	fi
> >         fi
> >     ;;
> > 
> > post-start)
> >     ;;
> > 
> > pre-stop)
> >     ;;
> > 
> > post-stop)
> >         if [ ! -z $S_CONTEXT ] ; then
> >                 if [ ! -z $REALBLOCKDEVICE ] ; then
> >             		echo "turning quota off"
> >                 	vserver $2 exec quotaoff -vagu
> >             		sleep 2
> >         	  fi
> >         fi
> >     ;;
> > 
> > *)
> >     echo "usage: $0 [pre-start|post-start|pre-stop|post-stop]"
> >     ;;
> > esac
> 
> 
> i have make 2 "showTasks" with SysRq
> 
> http://www.teg-clan.de/bilder/misc/ksymoops.vserver-hang.20030924
> http://www.teg-clan.de/bilder/misc/ksymoops.vserver-hang.20030924.1
> 
> since new patchset i notice some logmessages like this during stoping a
> vserver without quota
> 
> > DQUOT_DROP: inode without dqh!DQUOT_DROP: inode without dqh!
that is another thing which should not happen
in normal operation, I will investigate this ...
> and during stoping a vserver some times coms following messages
> 
> > Can't exec /usr/lib/vserver/vserverkillall (Permission denied)
hmm, that OTOH seems unrelated, check with 
lsctx (patched e2fsprogs) if this has changed 
context (it should be context zero) ... 
the following should be noted:
it is advantageous (guess even necessary) to
put the vserver data on a separate partition, because
the scripts currently in use, write to some files
(especially /var/run/vservers from within a context
and this leads to strange ctx tagging of those files
so having vservers on a separate partition, allows
with the tagctx option to _only_ select this partition
for context tagging ...
HTH,
Herbert
> ls -la /usr/lib/vserver/vserverkillall
> -rwxr-xr-x    1 root     root          948 Sep  8 16:49
> /usr/lib/vserver/vserverkillall
> 
> cya later
> /stephan
> 
> -- 
> "Signatur wurde wegen Faulheit entlassen"