Disc Spindown und "video directory scanner thread"

  • Hallo an alle,


    ich habe mein System (LinVDR 0.7 mit vdr 1.3.37cody) auf einer CF-Karte installiert damit ich die Festplatten zwecks Geräuschminimierung und Stromersparnis ausschalten kann.
    Die Festplatte ist lediglich für die Videos zuständig.


    Um übermäßig viele Star-Stop Zyklen zu vermeiden habe ich den Timeout auf 60min gesetzt. Sie schaltet sich aber damit gar nicht mehr ab.
    Das liegt an "video directory scanner thread started".
    Dieser Thread läuft bei mir genau alle 60min.

    Code
    Dec 20 14:45:41 mvdr user.debug vdr[2049]: video directory scanner thread started (pid=2049, tid=68621)
    Dec 20 15:46:12 mvdr user.debug vdr[2218]: video directory scanner thread started (pid=2218, tid=76813)
    Dec 20 16:46:13 mvdr user.debug vdr[2447]: video directory scanner thread started (pid=2447, tid=89101)


    Nun meine Frage:
    Wie kann ich verhindern, dass der "video directory scanner thread" alle 60min gestartet wird?




    Gruß
    Riscool

  • In den Sourcen von 1.3.37, genauer gesagt in der Datei recording.c, steht an Zeile 60:


    Code
    #define DELETEDLIFETIME     1 // hours after which a deleted recording will be actually removed
    #define REMOVECHECKDELTA 3600 // seconds between checks for removing deleted files
    #define DISKCHECKDELTA    100 // seconds between checks for free disk space
    #define REMOVELATENCY      10 // seconds to wait until next check after removing a file


    Da sollte sicherlich was dabei sein. Allerdings setzt die Änderung voraus, dass Du selber kompilieren kannst oder jemanden findest, der es für Dich macht...

    Hardware: AMD Duron 900 MHz, 256 MB Ram, 1 x 400 GB und 2 x 200 GB Maxtor, 1 x 500 GB USB 2.0, Nec DVD-RW ND-3500AG, 1 x TT 1.6 FF DVB-S, 1 x Twinhan Budget DVB-T
    Software: VDR 1.4.1, BigPatch, DMH-DVD-Archive-Patch, Kernel 2.6.12
    ---
    "Hörma, wie heißt nomma dat Instrument mit den 3 Knöppen oben drauf...? - Ja richtig, Flöte!"

  • Mit dem selbstconpilieren ist es im Moment so eine Sache.
    Mein Dev-System existiert im gerade nicht...



    Aber was passiert wohl, wenn man die Werte der ersten beiden Zeilen auf "0" setzt?


    Am Besten wäre es glaube ich, wenn man nach Timerablauf checken würde, ob die Disc im Spindown ist.
    Nur wenn sie sowieso läuft, würde der Thread gestartet...



    Gruß
    Riscool

  • Ich habe mir gerade noch mal die recording.c angeschaut und versucht die eigentliche Funktion für den "directory scanner" zu finden. Im Moment leider noch ohne Erfolg. Vielleicht kann mir da mal jemand helfen?


    Ich würde dann sowas drumrumschreiben wie z.B.

    Code
    system(hdparm -C /dev/hdc |grep standby);
    if ($?) {
      ...
      Alles was so für den ScannerThread hier drinsteht.
      ...
    }


    Ideal wäre natürlich, wenn man das/die Device/s über das OSD konfigurieren könnte. Aber dafür sind meine C Kenntnisse zu rudimentär...



    Gruß
    Riscool

  • Nase! ;)


    Ich bin mir nicht sicher, ob das nicht irgendwelche unschönen Auswirkungen hat...


    Eine kosmetische bestimmt. Es werden wohl nur noch Aufnahmen gelöscht, wenn die Platte voll ist.
    Dann weiß man nicht auf anhieb, ob noch alles draufpasst.


    Klar kann man die Aufnahmen auch mittels Undelete-Plugin von Hand löschen, aber ich mag mich nicht um mehr kümmern als unbedingt nötig... ;D

  • Zitat

    Original von Riscool
    .... Es werden wohl nur noch Aufnahmen gelöscht, wenn die Platte voll ist.
    Dann weiß man nicht auf anhieb, ob noch alles draufpasst.


    Es gab mal einen Patch damit vdr die zu löschenden Filme beim Runterfahren löscht...
    ...war das ein Patch? Weiß nicht mehr, was aber sicher geht, ist ein Mini-Skriptchen in den Shutdown einzuklinken, das alle Verzeichnisse aus /video löscht, die mit .del enden...

  • Stimmt...


    Man könnte das auch als cronjob in Verbindung mit dem Check ob die Platten laufen einrichten.
    Gibt es eine Möglichkeit den VDR manuell zu einer sofortigen Aktualisierung zu bewegen ohne ihn neu zu starten?
    Da mein VDR 7*24 läuft, wäre ein Neustart eher lästig...



    Gruß
    Riscool

  • Zitat

    Original von Riscool
    Gibt es eine Möglichkeit den VDR manuell zu einer sofortigen Aktualisierung zu bewegen ohne ihn neu zu starten?


    Sollte doch mit touch /video/.update klappen, oder war das anders rum?

  • Das hatte ich auch mal gedacht.


    Bei mir bleibt die Datei aber immer im Verzeichnis. Nach einem Update müsste er sie ja eigentlich gleich löschen. :rolleyes:
    Selbst wenn der Mechanismus funktioniert, bekommt er es ja erst nach einem "video directory scan" mit. Diesen will ich unterbinden, womit sich die Katze wieder mal in den Schwanz beißt.


    Ein Script, welches die gelöschten Aufnahmen nach einem check, ob die Platte läuft, endgültig entfernt habe ich schon mal fertig.
    In vdrVersion 1.3.11 gab es mal eine Funktion "Recordings.TriggerUpdate()". Die gibt es mitlerweile anscheinend nicht mehr. Oder sie heißt anders.
    Ich hatte mir nämlich überlegt das SVDRP entsprechend anzupassen. Das würde ich glaube ich mit meinen "C" Kenntnissen noch hinbekommen... :]



    Gruß
    Riscool

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!