[gelöst] Samba (freetz-trunk) unter winXP: "Datenträger voll"

caldir65

Neuer User
Mitglied seit
26 Jun 2008
Beiträge
145
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich habe hier jetzt einen Samba-Server aus dem Freetz-Trunk erfolgreich installiert - leider nur teilweise ;)

Wenn ich via smb-Protokoll aus Linux heraus darauf zugreife, kann ich alle Dateioperationen (kopieren, erstellen, löschen) ohne probleme durchführen.

Das gleiche unter WinXP (prof SP3) geht nur zum Teil: eine Datei löschen ist kein Problem, aber eine Datei auf das Laufwerk kopieren ergibt nur die Meldung "Datenträger ist voll". Weiterhin zeigt der Totalcommander dabei auch keine Icons an für die Files (die gleichen Files auf einem Linux-PC mit Samba haben aber welche), und schließlich bekomme ich diese Meldungen im syslog während des Zugriffes:

Code:
Aug 21 14:39:41 fritz daemon.err smbd[8299]: [2010/08/21 14:39:41, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:41 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:41 fritz daemon.err smbd[8299]: [2010/08/21 14:39:41, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:41 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:41 fritz daemon.err smbd[8299]: [2010/08/21 14:39:41, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:41 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:41 fritz daemon.err smbd[8299]: [2010/08/21 14:39:41, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:41 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:41 fritz daemon.err smbd[8299]: [2010/08/21 14:39:41, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:41 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:41 fritz daemon.err smbd[8299]: [2010/08/21 14:39:41, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:41 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:49 fritz daemon.err smbd[8299]: [2010/08/21 14:39:49, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:49 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:49 fritz daemon.err smbd[8299]: [2010/08/21 14:39:49, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:49 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:49 fritz daemon.err smbd[8299]: [2010/08/21 14:39:49, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:49 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:49 fritz daemon.err smbd[8299]: [2010/08/21 14:39:49, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:49 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:50 fritz daemon.err smbd[8299]: [2010/08/21 14:39:50, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:50 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:50 fritz daemon.err smbd[8299]: [2010/08/21 14:39:50, 0] smbd/fileio.c:wcp_file_size_change(188)
Aug 21 14:39:50 fritz daemon.err smbd[8299]:   wcp_file_size_change (windows/grafik/scanner/addressbook.vcf): ftruncate of size 27450 error Success
Aug 21 14:39:55 fritz daemon.err smbd[8299]: [2010/08/21 14:39:55, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:55 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:55 fritz daemon.err smbd[8299]: [2010/08/21 14:39:55, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:55 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:55 fritz daemon.err smbd[8299]: [2010/08/21 14:39:55, 0] smbd/fileio.c:wcp_file_size_change(188)
Aug 21 14:39:55 fritz daemon.err smbd[8299]:   wcp_file_size_change (windows/grafik/scanner/addressbook.vcf): ftruncate of size 27450 error Success
Aug 21 14:39:58 fritz daemon.err smbd[8299]: [2010/08/21 14:39:58, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:58 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:58 fritz daemon.err smbd[8299]: [2010/08/21 14:39:58, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:58 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:58 fritz daemon.err smbd[8299]: [2010/08/21 14:39:58, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:58 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:58 fritz daemon.err smbd[8299]: [2010/08/21 14:39:58, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:58 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:58 fritz daemon.err smbd[8299]: [2010/08/21 14:39:58, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:58 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:58 fritz daemon.err smbd[8299]: [2010/08/21 14:39:58, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:58 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:39:59 fritz daemon.err smbd[8299]: [2010/08/21 14:39:59, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:39:59 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:04 fritz daemon.err smbd[8299]: [2010/08/21 14:40:04, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:04 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:04 fritz daemon.err smbd[8299]: [2010/08/21 14:40:04, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:04 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:04 fritz daemon.err smbd[8299]: [2010/08/21 14:40:04, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:04 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:04 fritz daemon.err smbd[8299]: [2010/08/21 14:40:04, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:04 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:04 fritz daemon.err smbd[8299]: [2010/08/21 14:40:04, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:04 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:04 fritz daemon.err smbd[8299]: [2010/08/21 14:40:04, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:04 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success
Aug 21 14:40:05 fritz daemon.err smbd[8299]: [2010/08/21 14:40:05, 0] smbd/dfree.c:sys_disk_free(128)
Aug 21 14:40:05 fritz daemon.err smbd[8299]:   disk_free: sys_fsusage() failed. Error was : Success

Die angehängte Festplatte ist als ext3 eingerichtet, eine primäre Partition.

Anhängend die zugehörige Samba-Config und Freetz-Config ...
Gruß, Christoph
 

Anhänge

  • config.5580.txt
    26.3 KB · Aufrufe: 5
  • smb.5580.conf.txt
    1.1 KB · Aufrufe: 0
Zuletzt bearbeitet:
Hallo,

die angehängte Festplatte ist als ext3 eingerichtet, eine primäre Partition. Ich muß mal heute abend schauen wg. dem strace ...

Btw. da ich selber wenig mit Programmierung etc. "am Hut" habe (einfache Shellscripte evtl., oder ein Prog aus dem Quelltext bauen, das bekomme ich wohl noch hin, ebenso wie ich auf der Konsole mich bewegen kann ;) ), wie muß das Kommando denn sinnvollerweise aussehen?

Gruß, Christoph
 
Zuletzt bearbeitet:
Hey,

ich habe mal nach dem Muster
Code:
strace -o log -f smbd
ein Logfile erstellt, mitgetracet ein Kopieren, und bei der entsprechenden Meldung von Windows "Disk Voll" einmal auf wiederholen geklickt, danach Überspringen, anschließend den smdb wieder beendet ...

Das Logfile im Anhang ...

Gruß, Christoph
 

Anhänge

  • smbd_log.txt
    156.8 KB · Aufrufe: 3
Kannst du den strace bitte nochmal machen und zusätzlich den Parameter "-s 100" benutzen?

MfG Oliver
 
Hey Oliver,

hier kommt die neue Datei ...

Gruß, Christoph
 

Anhänge

  • smbd_strace.txt.doc
    217.4 KB · Aufrufe: 8
Das einzige, was man aus der Datei erkennen kann, ist, daß statfs gar nicht aufgerufen wird.
Ansonsten enthält der Kernel anscheinend nicht den Systemaufruf statfs64, und die Emulation davon scheint auch nicht richtig zu laufen.

Ich habe bei der Gelegenheit im Trunk einen neuen Patch für strace erstellt, der bewirkt, daß bei stat64 die Parameter richtig angezeigt werden, statt in der Art "stat64(0x7f883d58, 0x7f883bb0)".
 
Hallo,

hier nochmal, jetzt aus trunk 5621 ...

Gruß, Christoph
 

Anhänge

  • strace_5621.txt.doc
    225.8 KB · Aufrufe: 6
Die Änderung am strace war eher allgemeiner Art, als daß ich mir für diesen konkreten Fall davon einen großen Nutzen versprochen hätte.

Du kannst mal dieses Programm lassen, das verschiedene Aufrufe ausprobiert und die Ergebnisse anzeigt.
Code:
#include <stdio.h>
#include <sys/vfs.h>
#include <sys/statvfs.h>
#include <sys/syscall.h>

#define SHOW_FLD(fsd, name)                     \
printf (#name ": %08x, ", fsd.f_##name);
#define SHOW(ret, fsd)                          \
printf ("ret: %d\n", ret);                      \
SHOW_FLD (fsd, bsize);                          \
SHOW_FLD (fsd, frsize);                         \
SHOW_FLD (fsd, blocks);                         \
SHOW_FLD (fsd, bfree);                          \
SHOW_FLD (fsd, files);                          \
SHOW_FLD (fsd, ffree);                          \
SHOW_FLD (fsd, fsid);                           \
printf ("\n");

int
main (int argc, char **argv)
{
  char const *path = argc > 1 ? argv[1] : ".";
  struct statfs64 fs64;
  struct statfs fs;
  struct statvfs64 vfs64;
  struct statvfs vfs;
  int ret;

  ret = statfs (path, &fs);
  SHOW (ret, fs);
  ret = statfs64 (path, &fs64);
  //ret = syscall (__NR_statfs64, path, &fs64);
  SHOW (ret, fs64);
  ret = statvfs (path, &vfs);
  SHOW (ret, vfs);
  ret = statvfs64 (path, &vfs64);
  SHOW (ret, vfs64);
}
Code:
mipsel-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o statvfs statvfs.c
Bei mir kommt damit wenigstens ein Aufruf von statfs:
Code:
statfs(".", {f_type=0x73717368, f_bsize=65536, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=256, f_fsid={0, 0}, f_namelen=0}) = 0
In Deinem strace sieht man nur einen Aufruf von stat64.
 
@Ralf
Ist das ein allgemeines Problem oder wird da beim configure von Samba eine Variable falsch gesetzt?

Gruß
Oliver

edit:
Code:
# ./statvfs /var/media/ftp/uStor01/swapfile
ret: 0
bsize: 00000400, frsize: 00000004, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000,
ret: 0
bsize: 00000400, frsize: 00000000, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000,
ret: 0
bsize: 00000400, frsize: 00000400, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000,
ret: 0
bsize: 00000400, frsize: 00000400, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000,
Was sagt mir das jetzt? :)
 
Zuletzt bearbeitet:
Kann es sein, dass durch diese Änderung im Trunk (Changeset 5621) auch "oplocks" beeinflusst wird?
Wie weiter oben beschrieben, hatte ich gleiches Verhalten bei WinXP, wenn oplocks aktiviert waren.
Habe mir nun grade eben eine neue Firmware gebaut, und siehe da, keine Probleme mehr, auch nicht mit aktivierten "oplocks" (WinXP meckert nicht, und Win7 stürzt nicht ab!).
 
Was sagt mir das jetzt?

Das sagt Dir, daß Deine Library sich genau so verhält wie meine.

Die Block-Größe (bsize) mit 0x400 oder 1024 ist vermutlich korrekt.
Die anderen Werte sind vermutlich Unsinn, es sein denn, Du hast ein Dateisystem mit genau 0xa oder 10 Blöcken. Bei mir kommt auch genau 10 heraus, aber mein Dateisystem hat mehr als 10 Blöcke.

Wie oben schon geschrieben, enthält zumindest der alte Kernel erst gar nicht den Systemaufruf statfs64, sondern nur statfs. Die C-Library setzt das um, aber anscheinend nicht korrekt.

Durch die gewählten Optionen beim Übersetzten wird auch der Aufruf von statfs in einen Aufruf von statfs64 umgesetzt, der auch nicht funktioniert.

Mit strace sieht man, daß statfs aufgerufen wird und vernünftige Werte liefert. Daher scheint es ein Problem der C-Library zu sein, obwohl diese Umsetzung nicht kompliziert sein sollte.

In der Ausgabe von strace von caldir65 sieht man, daß statfs gar nicht aufgerufen wird, sondern nur stat64. Vermutlich ist an seiner Library etwas anders.

Bei mir ruft Samba die Funktion statvfs64 auf. Diese verwendet intern statfs64, und ruft noch einige weitere Funktionen auf, die für das von Samba genutzte Ergebnis nicht benötigt werden und daher unnötig sind. Da aber schon statfs64 nicht richtig funktioniert, hilft das auch nicht weiter.
 
Hallo,

@Oliver also ein swapfile ist auf dieser FB definitiv nicht eingerichtet - sollte in der Richtnug etwas auf uStor01 existieren, so ist es ein Überbleibsel von früheren Experimenten auf einer FB2170, die aber außer ersten Erfahrungen mit Freetz nix gebracht haben ;)

@Ralf einmal eine Ausgabe von Deinem Programm, gestartet auf uStor11, der ext2-HDD:
Code:
/var/media/ftp/uStor11/christoph # ./statvfs
ret: 0
bsize: 00001000, frsize: 00000000, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000, 
ret: 0
bsize: 00001000, frsize: 00000008, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000, 
ret: 0
bsize: 00001000, frsize: 00001000, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000, 
ret: 0
bsize: 00001000, frsize: 00001000, blocks: 0000000a, bfree: 0000000a, files: 0000000a, ffree: 0000000a, fsid: 00000000, 
/var/media/ftp/uStor11/christoph #
Gruß, Christoph
 
Die Ergebnisse sehen schon mal sehr ähnlich aus. Allerdings wird beim Aufruf kein Fehler gemeldet (ret == 0).

Du könntest mit strace kontrollieren, ob statfs überhaupt aufgerufen wird.

Die Meldung oben besagt, daß der Aufruf von sys_fsusage einen Fehler gemeldet hat. Bei mir ruft aber sys_fsusage die Funktion statvfs64 auf, die zum Systemaufruf statfs führt. Das ist in Deinem strace nicht so. Die Frage ist also, ob das am Samba oder an der Library liegt.

Was kommt bei Dir hierbei heraus:
Code:
mipsel-linux-objdump -dr source/target-mipsel_uClibc-0.9.*/samba-3.0.*/source/lib/fsusage.o
 
Code:
~/Downloads$ ./freetz-trunk/toolchain/target/bin/mipsel-linux-objdump -dr source/target-mipsel_uClibc-0.9.*/samba-3.0.*/source/lib/fsusage.o
./freetz-trunk/toolchain/target/bin/mipsel-linux-objdump: 'source/target-mipsel_uClibc-0.9.*/samba-3.0.*/source/lib/fsusage.o': No such file
 
Hat das Ergebnis jetzt schon was mit der uClibc zu tun? (Download Toolchain)

Code:
$ toolchain/target/bin/mipsel-linux-objdump -dr source/target-mipsel_uClibc-0.9.*/samba-3.0.*/source/lib/fsusage.o

source/target-mipsel_uClibc-0.9.29/samba-3.0.37/source/lib/fsusage.o:     file format elf32-tradlittlemips

Disassembly of section .text:

00000000 <adjust_blocks>:
   0:   10a60011        beq     a1,a2,48 <adjust_blocks+0x48>
   4:   00000000        nop
   8:   00c5102b        sltu    v0,a2,a1
   c:   10400006        beqz    v0,28 <adjust_blocks+0x28>
  10:   00000000        nop
  14:   00a6001b        divu    zero,a1,a2
  18:   00c001f4        teq     a2,zero,0x7
  1c:   00001012        mflo    v0
  20:   10000009        b       48 <adjust_blocks+0x48>
  24:   70822002        mul     a0,a0,v0
  28:   00c5280a        movz    a1,a2,a1
  2c:   00c5001b        divu    zero,a2,a1
  30:   00a001f4        teq     a1,zero,0x7
  34:   24820001        addiu   v0,a0,1
  38:   00001812        mflo    v1
  3c:   0043001b        divu    zero,v0,v1
  40:   006001f4        teq     v1,zero,0x7
  44:   00002012        mflo    a0
  48:   03e00008        jr      ra
  4c:   00801021        move    v0,a0

00000050 <sys_fsusage>:
  50:   3c1c0000        lui     gp,0x0
                        50: R_MIPS_HI16 _gp_disp
  54:   279c0000        addiu   gp,gp,0
                        54: R_MIPS_LO16 _gp_disp
  58:   0399e021        addu    gp,gp,t9
  5c:   27bdff78        addiu   sp,sp,-136
  60:   afbf0084        sw      ra,132(sp)
  64:   afb20080        sw      s2,128(sp)
  68:   afb1007c        sw      s1,124(sp)
  6c:   afb00078        sw      s0,120(sp)
  70:   afbc0010        sw      gp,16(sp)
  74:   8f990000        lw      t9,0(gp)
                        74: R_MIPS_CALL16       statvfs64
  78:   00a09021        move    s2,a1
  7c:   27a50018        addiu   a1,sp,24
  80:   0320f809        jalr    t9
  84:   00c08821        move    s1,a2
  88:   04410003        bgez    v0,98 <sys_fsusage+0x48>
  8c:   8fbc0010        lw      gp,16(sp)
  90:   10000017        b       f0 <sys_fsusage+0xa0>
  94:   2402ffff        li      v0,-1
  98:   8fa5001c        lw      a1,28(sp)
  9c:   14a00002        bnez    a1,a8 <sys_fsusage+0x58>
  a0:   8fa20020        lw      v0,32(sp)
  a4:   8fa50018        lw      a1,24(sp)
  a8:   00402021        move    a0,v0
  ac:   8f820000        lw      v0,0(gp)
                        ac: R_MIPS_GOT16        .text
  b0:   24500000        addiu   s0,v0,0
                        b0: R_MIPS_LO16 .text
  b4:   0200c821        move    t9,s0
  b8:   0320f809        jalr    t9
  bc:   24060200        li      a2,512
  c0:   8fa5001c        lw      a1,28(sp)
  c4:   ae220000        sw      v0,0(s1)
  c8:   14a00002        bnez    a1,d4 <sys_fsusage+0x84>
  cc:   8fa20030        lw      v0,48(sp)
  d0:   8fa50018        lw      a1,24(sp)
  d4:   00402021        move    a0,v0
  d8:   0200c821        move    t9,s0
  dc:   0320f809        jalr    t9
  e0:   24060200        li      a2,512
  e4:   8fbc0010        lw      gp,16(sp)
  e8:   ae420000        sw      v0,0(s2)
  ec:   00001021        move    v0,zero
  f0:   8fbf0084        lw      ra,132(sp)
  f4:   8fb20080        lw      s2,128(sp)
  f8:   8fb1007c        lw      s1,124(sp)
  fc:   8fb00078        lw      s0,120(sp)
 100:   03e00008        jr      ra
 104:   27bd0088        addiu   sp,sp,136
        ...
MfG Oliver
 
So ähnlich sieht auch meine Datei aus. (Hast Du eine Box, die Fließkomma-Operationen unterstützt?)

Allerdings kommt bei mir keine Fehlermeldung wie in #1, und wenn ich mir den freien Platz anzeigen lasse, funktioniert das sogar, obwohl es mit meinem Test-Programm nicht funktioniert. Seltsam.
 
Hast Du eine Box, die Fließkomma-Operationen unterstützt?
Wir setzen folgendes in der uclibc:
Code:
UCLIBC_HAS_FLOATS=y
# UCLIBC_HAS_FPU is not set
UCLIBC_HAS_SOFT_FLOAT=y
libgcc hat auch soft-float, so dass der FPU Kernel EMU normalerweise nicht genutzt wird. Oder was meintest du jetzt?

Gruß
Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.