Okay das wäre natürlich auch ein Weg, aber vermutlich keiner, der bei mir erste Wahl wäre. ZFS das zugrundeliegendes Filesystem zu nutzen, wäre schon eine einfache und pragmatische Lösung, wirft dann aber andere Hürden auf die ich persönlich nicht nehmen möchte. ZFS bedingt FreeBSD. Gibts als NAS schon sogar zum "zusammenklicken", schließt aber den VDR aus. Demzufolge brauchst du ein NAS und entweder einen weiteren Server-VDR oder die VDRs als full-Device.
Von den vielen Geräten wollte ich eigentlich weg, ohne den Komfort der lokalen VDRs einzubüßen. Ein extra NAS wäre eine weitere ausgewachsene Maschine.
Auch behandelt das auch nur die Symptome und nicht die Ursache.
Richtig ist: Die Angabe der Kopiergeschwindigkeit hat wenig mit der Leseleistung der Aufnahmeverzeichnisse zu tun. Da hilft tatsächlich ein großer Cache fürs Filesystem. Aber die Kopiergeschwindigkeit zeigt, daß es eine normale 1000BaseT-Verbindung ist, die ihren heimüblichen Nettodurchsatz schafft, hier also nicht das Nadelöhr ist.
Wenn aber von den Clients gar kein DirectoryScan notwendig ist, sondern, wie M-Reiner beschrieb, ein Serverdienst (ich lege mich mal nicht auf den VDR selbst fest) diese Liste hält, und den Clients seitenweise vorgekaut gibt, ist der Arbeits- und Speicheraufwand auf der Clientseite fast gleich null. (Okay, Seitenabfrage per SQL o.ä. senden, Ergebnis anzeigen.. das sind schon ein paar Millisekunden). Und es ist skalierbar.
Beim Essen habe ich ein wenig darüber gegrübelt.
-recordings.c bekommt einen Umschalter, um zwischen herkömmlichen dirScan und Verzeichnisdienstabfrage umzukonfigurieren.
-der neue Codebereich bekommt eine Funktion zur Abfrage je Bildschirmseite. Dazu muß er wissen, wieviele Zeilen je OSD-Menuseite bei eingestellter Schriftgröße er darstellen kann. (daraus wird beim VDR-Start Schrittweite und Abfragelimit errechnet). Er braucht dann auch nur Speicher für diese eine Seite. (ggf drei für ein Prefetch in jede Richtung).
-Er bekommt per gesonderter Abfage Infos über Gesamtkapazität in MB und Minuten.
-Noch nicht ganz klar ist, wo überall Änderungen wg Dateioperationen notwendig werden (Umbenennen, Schneiden, Aufnahmeliste aktualisieren, weil ein anderer VDR Operationen durchführt etc). Hier sehe ich eine riesen Rattenschwanz an Kleinständerungen auf mich zukommen - von Änderungen in Plugins will ich noch nichtmal reden.
-Auf Serverseite könnte entweder der VDRserver das via SVDRP übermitteln und selbst verwalten (womit das Problem aber nur hierher verschoben wird) oder aber ein extra Dienst/Plugin schruppt über das Aufnahmeverzeichnis und legt alles in SQL oder LDAP ab. Damit wäre auch ein unabhängiger Zugriffsweg für Kodi und Konsorten offen.
Hab ich was übersehen?