Re: /var/lock jako jakis tmpfs

Bartłomiej Zimoń uzi18 w o2.pl
Sob, 26 Cze 2010, 23:05:31 CEST


Dnia 25 czerwca 2010 20:59 Bartłomiej Zimoń <uzi18 w o2.pl> napisał(a):
> Dnia 20 czerwca 2010 22:09 Jacek Konieczny <jajcus w jajcus.net> napisał(a):
> > On Sun, Jun 20, 2010 at 05:12:51PM +0200, Bartłomiej Zimoń wrote:
> > > Dnia 20 czerwca 2010 13:43 Pawel Kwiatkowski <qwiat w o2.pl> napisał(a):
> > > > Dnia 2010-06-18, pią o godzinie 09:05 +0200, Bartłomiej Zimoń pisze:
> > > > > Witam!
> > > > > Mala propozycja: /var/lock jako tmpfs lub podobny
> > > > > Pozdrawiam
> > > > 
> > > > Zgaduję, że dotyczy to pozostawiania śmieci po przemontowaniu systemu
> > > > plików w RO lub po nagłym padzie systemu. Ten sam problem mamy
> > > > z /var/run i plikami z PID-ami. Tyle że tam też są rzeczy należące do
> > > > pakietów.
> > > > 
> > > Tez ale glownie chodzi o mozliwosc startu serwisu zanim / filesystem bedzie mial dostep rw
> > > Co znaczaco przyspiesza uruchamianie systemu zwlaszcza w systemd.
> > 
> > I potem będzie debugowanie tysiąca problemów wynikłych z tego, że w imię
> > najszybszego uruchomienia serwisy są startowane zanim mają to czego
> > potrzebują (u niektórych oczywiście będzie działać u innych nie)… 
> >
> > No i czy z nowoczesnym initem (a zakładam, że takim systemd jest), który
> > wie co w systemie uruchomił, wciąż potrzeba tego /var/lock/subsys/cośtam?
> > 
> 
> Cos spłodziłem w wolnej chwili, a wynik poniżej
> (fragment z systemd wrzuce oddzielnie do svn)
> Co o tym sadzicie, moge wrzucac?

Chyba jednak lepiej /var/run uproscic - jednen mount tmpfs
gdzies a pozniej tylko mount --bind do /var/run
oszczedzamy jedno niepotrzebne kopiowanie.

Co sadzicie o /dev/shm/run jako miejscu dla kopii /var/run ?

> 
> Pozdrawiam
> Bartłomiej Zimoń
> 
> http://starowa.one.pl/~uzi/pld/rc-scripts-tmpfs.patch
> 
> Index: rc.sysinit
> ===================================================================
> --- rc.sysinit  (wersja 11564)
> +++ rc.sysinit  (kopia robocza)
> @@ -117,10 +117,22 @@
>  if ! is_yes "$VSERVER" ; then
>         # we need /proc mounted before everything
>         is_fsmounted proc /proc || mount -n -o gid=17 -t proc /proc /proc
> +
> +       if is_yes "$SUBSYS_AS_TMPFS" ; then
> +               mount -n -o mode=755,nosuid,nodev,noexec -t tmpfs none /var/lock/subsys
> +       fi
> 
> +       if is_yes "$VAR_RUN_AS_TMPFS" ; then
> +               mkdir /tmp/.copy_of_run
> +               cp -aRf /var/run/* /tmp/.copy_of_run
> +               mount -n -o mode=755,nosuid,nodev,noexec -t tmpfs none /var/run
> +               cp -aRf /tmp/.copy_of_run/* /var/run
> +               rm -rf /tmp/.copy_of_run
> +       fi
> +
>         # Only read this once.
>         cmdline=$(cat /proc/cmdline)
> -       if strstr "$cmdline" "pld.no-upstart" ; then
> +       if strstr "$cmdline" "pld.no-upstart" || grep -q systemd /proc/1/cmdline 2>/dev/null ; then
>                 USE_UPSTART="no"
>         fi
> 
> Index: rc.shutdown
> ===================================================================
> --- rc.shutdown (wersja 11565)
> +++ rc.shutdown (kopia robocza)
> @@ -110,6 +110,14 @@
>                 force="-f"
>         done
> 
> +       if is_yes "$VAR_RUN_AS_TMPFS" ; then
> +               mkdir /tmp/.copy_of_run
> +               cp -aRf /var/run/* /tmp/.copy_of_run
> +               umount /var/run
> +               cp -aRf /tmp/.copy_of_run/* /var/run
> +               rm -rf /tmp/.copy_of_run
> +       fi
> +
>         run_cmd "Remounting root filesystem in ro mode" mount -n -o remount,ro /
> 
>         if [ -x /sbin/vgchange ]; then
> 
> _______________________________________________
> pld-devel-pl mailing list
> pld-devel-pl w lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
> 


Więcej informacji o liście dyskusyjnej pld-devel-pl