[gelöst] sync im umountfs script bittte wenigstens ins OE 2.0 machen !

  • Hi !


    Ich wollte erstens wieder mal daran erinnern das ich mal gefragt haben ob man das avahi startup script nicht ein bisschen anpassen könnte:


    avahi daemon -D option bei chroot


    Ausserdem wollte ich aus aktuellem Anlass noch darum bitten ob man ins umountfs script nach dem read only mount des root filesystems nicht noch ein sync reinmachen könnte:


    mount -o remount,ro /
    sync
    : exit 0


    Ja ich weis dass man wenn man das root filesystem read only mountet AUCH das syncen auslöst, aber wenn das root filesystem zufällig ein file in einem Filesystem ist (LowFAT macht das so damit das ganze image von FAT läuft) dann reicht das nicht aus um sicher zu gehen das wirklich alles geschrieben wurde. Im Moment patche ich mir das genauso wie beim avahi immer ins script rein, aber falls es bei einem Softwareupdate überschrieben wird kann es trotzdem schiefgehen, und deswegen wäre es nicht so schlecht es gleich im Standard script so zu haben.


    PS: Und wozu der : vor dem exit gut sein soll verschließt sich mir auch, aber ich lasse mich gerne erleuchten.


    LG
    gutemine

    2 Mal editiert, zuletzt von Lost in Translation ()

  • Ich muss wegen dem OE 2.0 den Request nochmals hochholen.


    BITTE macht wenigstens ins umount script im OE 2.0 ein sync vor dem exit rein


    Sobald man ein gestacktes root filesystem halt (und das ist jetzt auch ein mit Freeze erweitertes unionfs) funktioniert das mit dem reinen read only mount des root filesystems nicht sauber und die Filesysteme können beim rebooten zu leicht hops gehen.


    Das einzuchecken ist lächerlich wenig Aufwand erhöht aber die Stabilität dramatisch und ich mag das nicht immer mühsam reinpatchen in die Files damit mir sie dann der nächste Update wieder überschreibt.


    LG


    gutemine

  • Ich habe nachgesehen, das komische : exit 0 ist im OE 2.0 nicht mehr im umountfs drinnen,


    Ich würde einfach nach dem umount im /etc/init.d/umountfs noch ein sync brauchen bevor der shutdown weitergeht:


    mount -o remount,ro /
    sync


    Weil das remount von / triggert zwar ein sync, aber wenn da unterhalb des root mounts noch ein weiteres filesystem ist das durch eine chroot versteckt ist (beim Freeze im unionfs das zum Flash dazu gemountete ext4 bzw. beim LowFAT das FAT in dem das ext4 Filesystem als File abgelegt ist) dann wird das sync NICHT bis dorthin gemacht, und die umounts vorher die eigentlich alles bis auf / bereits losgeworden sein soltlen haben durch die chroot nicht gegriffen weil diese mounts noch busy waren.


    Damit wird dann aber bei jedem shutdown ein Teil des Root Filesystems unsauber zugemacht und das geht halt ab und an schief, und Filesystemcheck auf das root Filesystem ist halt nicht so ganz leicht für die Dreambox und für die Benutzer noch unverständlicher da es sogar bei normalem shutdown/restart ohne Griff zum Netzschalter schief gehen kann.


    Sobald man da das zusätzliche sync erzwingt das alle filesystem anhält rauszuschreiben geht das ziemlich problemos das filesystem unmittelbar nachher abzuwürgen, also bitte macht mir das rein, die Shutdown Zeit ist dadurch nur einen Sekundenbrichteil länger, also keine Angst. Und bei normalem Flash boot ist findet das zusätzliche sync eh nichts mehr zu syncen vom vorherigen read only mount, womit es überhaupt nicht stört und praktisch nur positive Effekte hat.


    LG


    gutemine

  • Möglicherweise/Wahrscheinlich.


    Bitte erstmals Freeze 0.6.3 verwenden, das patched sich das sync selbst in die umountfs rein, aber wie gesagt gescheiter wäre es dort gleich fix zu verbauen.

  • Hast du sonst noch was am USB hängen ?

  • Ohne dmesg output wenn das passiert und du nicht gleich in Panik rebootest kann dir aber keiner helfen, Normal schreibt der Kernel ins syslog was los ist und was ihn stört.

  • Ja ne Panik geht anders :winking_face:
    Ich hatte das Thema mit Crashlog hier gepostet. Aber keine Reaktion darauf hin bekommen. Deshalb bin ich auf das letzte funktionierende zurück.
    Es war dann so das die dreambox die Sticks nicht mehr erkannt hat. Erst nachdem ich sie am PC neu fromatiert hatte wurden sie an der Dream wieder ekannt.


    MfG Gerry

  • das enigma2 Crashlog hilft in dem Fall aber nichts, das ist nur die Auswirkung aber nicht der Verursacher des Problem.

  • Ich würde das sync etwas anders einbauen:


    sync; sync
    mount -o remount,ro /


    Das 1. sync leitet das Herausschreiben ein. sync kommt unmittelbar zurück ohne fertig zu sein.
    Das 2. sync wartet bis das 1. sync fertig ist, der Cache geschrieben wurde.


    Das remount würde ich erst nach dem 2. sync durchführen.


    Mfg klix

  • so viel ist da ja nicht zum schreiben und die gefahr beim 2. sync ist das aus irgendweinem Grund ein device nicht schreiben will, dann hängt es. Außerdem triggert auch das read only mounten ein erstes sync, weswegen ich meins eben nachher hinmache.


    Aber besser eines als keines.

  • Nachdem ubifs auf dem ubi läuft und das bei großem journal seine zeit braucht gehört das sync dort auch dringend rein und ja in dem fall sind jetzt 2 besser

    • Offizieller Beitrag

    Hi,


    das mag ich nicht glauben, dass ein normales umount da nicht reichen soll. So kaputt kann der Kernel nicht sein.


    Also ja klar könnte man die syncs da mal hinpacken. Aber ich denke nicht, dass es irgendwas ändern wird für ein "normal" gemountetes rootfs. Also sei es jffs2.. oder ubifs.


    Aber okay.. wir können das trotzdem einfach mal machen.


    cya

  • Es tut nicht weh wenn es drinnen ist und der fehler passiert damals und heute wenn man filesysteme stacked und das root dann synced aber das wo es hinschreibt das (noch) nicht tut.


    Die root ist ja nicht umountable, daher nur der read only mount an der stelle.


    Das Problem ist das der readable mount asynchron funktioniert, der ubi thread im kernel der dann schreiben muss aber das journal abarbeiten muss und wenn man zu dem zeitpunkt die box abdreht er eben evt noch nicht fertig ist.

  • habe den Thread jetzt auch auf [gelöst] gesetzt - Danke!