Samba 2.2.12

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Samba 2.2.12

Beitrag von dbluelle »

Gibt es eigentlich irgendeinen Grund, warum wir Samba 2.2 benötigen?
Die wichtigste Sache (Dateien größer 4GB) funktioniert auch mit Samba 2.0,
aber die Binaries sind doch um einiges kleiner:

Code: Alles auswählen

389780 nmbd
756536 smbd
Den entsprechenden Patch, um Samba 2.0.10 zu verwenden, habe ich mal hochgeladen:
http://www.blau-weissoedingen.de/dreambox/samba20.diff
Damit funktioniert das Lesen und Schreiben von Dateien > 4GB von meiner Linux-Maschine aus einwandfrei.
Ich habe aber keinen Windows-PC zur Verfügung, deshalb müsste mal jemand testen, ob das damit auch klappt.

dbluelle
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Samba 2.2.12

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:Gibt es eigentlich irgendeinen Grund, warum wir Samba 2.2 benötigen?
Wegen des Changelogs:
http://www.tuxbox-cvs.sourceforge.net/f ... 54#p375654

Ob es wirklich nötig ist, kann ich mangels IDE-Interface nicht testen.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Samba 2.2.12

Beitrag von dbluelle »

Okay, ich weiß nicht, was es mit den "kernel oplocks" auf sich hat, aber die 2GB-Grenze ist definitiv in 2.0 kein Problem.

In der "WHATSNEW.txt" von 2.0 steht:

Code: Alles auswählen

Samba now supports the Windows NT specific SMB requests.  This
means that on platforms that are capable Samba now presents a
64 bit view of the filesystem to Windows NT clients and is
capable of handling very large files.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Samba 2.2.12

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:Den entsprechenden Patch, um Samba 2.0.10 zu verwenden
... habe ich noch etwas angepasst, damit smbmount auch kompiliert:
samba20.diff
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Samba 2.2.12

Beitrag von dbluelle »

Ich habe noch einen Patch bei openwrt.org gefunden: https://dev.openwrt.org/browser/package ... amba.patch.
Größtenteils machen die da dasselbe wie wir (Unterstützung fürs Drucken rausbauen),
aber zusätzlich nehmen sie alle Debugmeldungen außer Level-0 Meldungen raus.
Das macht die Binaries nochmal kleiner (nmbd um ca. 70KB, smbd um ca. 150KB):

Code: Alles auswählen

320760 nmbd
607628 smbd
Damit sind wir so langsam in der Größenordnung von Samba 1.9 angekommen 8) :up: .
Der entsprechende Patch: http://www.blau-weissoedingen.de/dreamb ... 08_22.diff

dbluelle
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Samba 2.2.12

Beitrag von rhabarber1848 »

Kompiliert für Dbox2@Kernel 2.4, KDE Dolphin auf Debian Squeeze
kann /var auf der Dbox2 per CIFS anzeigen.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Samba 2.2.12

Beitrag von dbluelle »

Ich habe den Patch nochmal etwas angepasst, sodass überhaupt keine Debugmeldungen mehr ausgegeben werden.
Ergebnis:

Code: Alles auswählen

275632 nmbd
525756 smbd
Der entsprechende Patch: http://www.blau-weissoedingen.de/dreamb ... 08_27.diff.
Der einzige Nachteil ist, das man so bei Problemen keine Logausgaben mehr bekommt
und keinen Ansatzpunkt zur Fehlersuche hat.
Deshalb weiß Ich nicht, ob das so ins CVS soll :gruebel:

dbluelle
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Samba 2.2.12

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:Der einzige Nachteil ist, das man so bei Problemen keine Logausgaben mehr bekommt und keinen Ansatzpunkt zur Fehlersuche hat.
Wenn ich das richtig sehe, ist dieser Patch neu:

Code: Alles auswählen

--- samba-2.0.10/source/include/smb.h   2010-08-28 11:07:27.000000000 +0200
+++ samba-2.0.10/source/include/smb.h      2010-08-28 11:09:29.000000000 +0200
@@ -119,16 +119,16 @@
 #if 1
 
 #define DEBUGLVL( level ) \
-  ( (0 == (level)) \
+  ( (-1 == (level)) \
    && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) )
 
 #define DEBUG( level, body ) \
-  (void)( (0 == (level)) \
+  (void)( (-1 == (level)) \
        && (dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) )) \
        && (dbgtext body) )
 
 #define DEBUGADD( level, body )        \
-  (void)( (0 == (level)) && (dbgtext body) )
+  (void)( (-1 == (level)) && (dbgtext body) )
 
 #else
 #define DEBUGLVL( level ) \
Wie wäre es, diesen Patch in einer eigenen Datei cdk/Patches/samba_ppc_nodebug.diff
abzulegen und ihn nur dann anzuwenden, wenn bei cdk/configure die Option --enable-debug
nicht gesetzt wurde?

Code: Alles auswählen

--- cdk/make/sambaserver.mk 2010-08-28 11:02:48.000000000 +0200
+++ cdk/make/sambaserver.mk   2010-08-28 11:06:46.000000000 +0200
@@ -1,5 +1,8 @@
 $(DEPDIR)/sambaserver: bootstrap @DEPENDS_samba@
        @PREPARE_samba@
+if !ENABLE_DEBUG
+       cd @DIR_samba@ && patch -p1 -E -i ../Patches/samba_ppc_nodebug.diff
+endif
        cd @DIR_samba@ && \
                cd source && \
                autoconf configure.in > configure && \
Das ganze ist noch ungetestet, sollte aber funktionieren.
Evtl. könnte ein sed-Befehl den o.g. Patch ersetzen.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Samba 2.2.12

Beitrag von dbluelle »

Ich denke es wäre dann besser, den gesamten nodebug-Teil aus dem Hauptpatch auszulagern:

Code: Alles auswählen

--- samba-2.0.10.orig/source/include/smb.h	2001-06-23 10:52:20.000000000 +0200
+++ samba-2.0.10/source/include/smb.h	2006-03-06 22:21:12.000000000 +0100
@@ -115,6 +115,22 @@
  *               Usage:
  *                 DEBUGADD( 2, ("Some additional text.\n") );
  */
+ 
+#if 1
+
+#define DEBUGLVL( level ) \
+  ( (-1 == (level)) \
+   && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) )
+
+#define DEBUG( level, body ) \
+  (void)( (-1 == (level)) \
+       && (dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) )) \
+       && (dbgtext body) )
+
+#define DEBUGADD( level, body )	\
+  (void)( (-1 == (level)) && (dbgtext body) )
+
+#else
 #define DEBUGLVL( level ) \
   ( (DEBUGLEVEL >= (level)) \
    && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) )
@@ -140,7 +156,7 @@
   (void)( (DEBUGLEVEL >= (level)) && (dbgtext body) )
 
 #endif
-
+#endif
 /* End Debugging code section.
  * -------------------------------------------------------------------------- **
  */
Damit funktioniert bei --enable-debug das normale Logging in Samba.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Samba 2.2.12

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:Ich denke es wäre dann besser, den gesamten nodebug-Teil aus dem Hauptpatch auszulagern
Auch eine gute Idee. Hat irgendjemand Samba 2.0.10 schon hinsichtlich Dateien > 4GB positiv getestet?
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Samba 2.2.12

Beitrag von dbluelle »