Hallo Chris, On Mon, Dec 05, 2016 at 01:02:44PM +0100, Chris Leick wrote: > > #. See http://bugzilla.kernel.org/show_bug.cgi?id=7253 > > #. "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW" > > #. Reported 2006-10-03 > > #. type: Plain text > > msgid "" > > "I<pathname> refers to a regular file that is too large to be opened. The " > > "usual scenario here is that an application compiled on a 32-bit platform " > > "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds " > > "I<(1E<lt>E<lt>31)-1> bytes; see also B<O_LARGEFILE> above. This is the " > > "error specified by POSIX.1; in kernels before 2.6.24, Linux gave the error > > " > > "B<EFBIG> for this case." > > msgstr "" > > "I<pathname> bezieht sich auf eine normale Datei, die zu groß zum Öffnen > > ist. " "Das normale Szenario ist, dass eine auf einer 32-Bit-Plattform ohne > > I<-" "D_FILE_OFFSET_BITS=64> übersetzte Anwendung versuchte, eine Datei zu > > öffnen, " "deren Größe I<(1E<lt>E<lt>31)-1> byte überschritt; siehe auch > > B<O_LARGEFILE> " "weiter oben. Dies ist der durch POSIX.1 festgelegte > > Fehler; in Kerneln vor " "2.6.24 gab Linux in diesem Fall den Fehler > > B<EFBIG>." > > s/byte/Byte/
Nein, hier ist die Einheit gemeint, daher klein. > Hier verwendest Du Dateideskriptor und später Datei-Deskriptoren. Ich habe es jetzt global ohne Bindestriche geschrieben. > > #. type: Plain text > > msgid "" > > "Before Linux 2.6.33, Linux implemented only the B<O_SYNC> flag for " > > "B<open>(). However, when that flag was specified, most filesystems > > actually " "provided the equivalent of synchronized I/O I<data> integrity > > completion (i." "e., B<O_SYNC> was actually implemented as the equivalent > > of B<O_DSYNC>)." msgstr "" > > "Vor Linux 2.6.33 implementierte Linux nur den Schalter B<O_SYNC> für " > > "B<open>(). Als dieser Schalter spezifiziert wurde, stellten die meisten " > > "Dateisysteme das Äquivalent von synchronisierter E/A I<Daten>-" > > "Integritätsvervollständigung bereit (d.h. B<O_SYNC> war tatsächlich als " > > "Äquivalent von B<O_DSYNC> implementiert)." > > Bindestrich hinter I/O fehlt Ich denke, das Original ist korrekt, aber im deutschen habe ich jetzt einen hinter E/A eingefügt. > > #. type: Plain text > > msgid "" > > "Opening the read or write end of a FIFO blocks until the other end is also > > " > > "opened (by another process or thread). See B<fifo>(7) for further > > details." msgstr "" > > "Öffnen des Lese- oder Schreibenendes eines FIFOS blockiert, bis das andere > > " > > "Ende auch geöffnet wurde (durch einen anderen Prozess oder Thread). Siehe " > > "B<fifo>(7) für weitere Details." > > s/Schreibenendes/Schreib-Endes/ Ohne Bindestrich übernommen. > > #. type: Plain text > > msgid "" > > "The B<O_DIRECT> flag may impose alignment restrictions on the length and " > > "address of user-space buffers and the file offset of I/Os. In Linux " > > "alignment restrictions vary by filesystem and kernel version and might be " > > "absent entirely. However there is currently no filesystem-independent " > > "interface for an application to discover these restrictions for a given > > file " "or filesystem. Some filesystems provide their own interfaces for > > doing so, " "for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)." > > msgstr "" > > Der Schalter B<O_DIRECT> könnte Ausrichtungsbeschränkungen in der Länge und > Adresse der Puffer im Benutzerbereich und dem Dateiversatz von E/As > verhängen. > In Linux variieren die Ausrichtungsbeschränkungen je nach Dateisystem und > Kernelversion und können auch ganz fehlen. Es gibt jedoch derzeit keine > dateisystemunabhängige Schnittstelle für eine Anwendung, um diese > Beschränkungen für eine gegebene Datei oder ein Dateisystem aufzufinden. > Einige > Dateisysteme stellen zu diesem Zweck ihre eigenen Schnittstellen bereit, > beispielsweise die Transaktion B<XFS_IOC_DIOINFO> in B<xfsctl>(3). Sehr ähnlich übernommen, Dich als Übersetzer hinzugefügt. > > #. type: Plain text > > msgid "" > > "Under Linux 2.4, transfer sizes, and the alignment of the user buffer and " > > "the file offset must all be multiples of the logical block size of the " > > "filesystem. Since Linux 2.6.0, alignment to the logical block size of the > > " > > "underlying storage (typically 512 bytes) suffices. The logical block size > > " > > "can be determined using the B<ioctl>(2) B<BLKSSZGET> operation or from the > > " "shell using the command:" > > msgstr "" > > Unter Linux 2.4 müssen Übertragungsgrößen, die Ausrichtung des > Benutzerpuffers > und der Dateiversatz Vielfache der logischen Blockgröße des Dateisystems > sein. > Seit Linux 2.6.0 reicht ein Ausrichtung an der logischen Blockgröße des > darunterliegenden Speichers (normalerweise 512 Byte) aus. Die logische > Blockgröße kann mit der Transaktion B<BLKSSZGET> von B<ioctl>(2) festgelegt > werden oder mittels des Shell-Befehls: Sehr ähnlich übernommen. > > #. type: Plain text > > msgid "" > > "B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2) " > > "system call, if the memory buffer is a private mapping (i.e., any mapping " > > "created with the B<mmap>(2) B<MAP_PRIVATE> flag; this includes memory " > > "allocated on the heap and statically allocated buffers). Any such I/Os, " > > "whether submitted via an asynchronous I/O interface or from another thread > > " > > "in the process, should be completed before B<fork>(2) is called. Failure > > " > > "to do so can result in data corruption and undefined behavior in parent and > > " "child processes. This restriction does not apply when the memory buffer > > for " "the B<O_DIRECT> I/Os was created using B<shmat>(2) or B<mmap>(2) > > with the " "B<MAP_SHARED> flag. Nor does this restriction apply when the > > memory buffer " "has been advised as B<MADV_DONTFORK> with B<madvise>(2), > > ensuring that it " "will not be available to the child after B<fork>(2)." > > msgstr "" > > B<O_DIRECT>-E/As sollten niemals gleichzeitig mit dem Systemaufruf B<fork>(2) > ausgeführt werden, falls der Speicherpuffer eine private Abbildung ist (d.h. > eine Abbildung, die mit dem Schalter B<MAP_PRIVATE> von B<mmap>(2) erzeugt > wurde. Dies umfasst Speicher, der auf dem Heap reserviert wurde und statisch > reservierte Puffer). Aller derartigen E/As, die entweder über eine asynchrone > E/A-Schnittstelle oder von einem anderen Thread im Prozess übermittelt > wurden, > sollten abgeschlossen sein, ehe B<fork>(2) aufgerufen wird. Wird dies > dennoch > getan, können Fehlschläge zu beschädigten Daten oder unvorhersehbarem > Verhalten in Eltern- und Kindprozessen führen. Diese Beschränkung gilt nicht, > wenn der Speicherpuffer für die B<O_DIRECT>-E/As mittels B<shmat>(2) oder > B<mmap>(2) mit dem Schalter B<MAP_SHARED> erzeugt wurde. Sie gilt auch nicht, > wenn der Speicherpuffer als B<MADV_DONTFORK> mit B<madvise>(2) ausgewiesen > wurde, um sicherzustellen, dann er nicht im Kindprozess nach B<fork>(2) > verfügbar ist. Bevor ich den Absatz übernehme, sollten wir erst mal die Übersetzung von »mapping« (anderer Thread) klären. Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann deb...@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
signature.asc
Description: Digital signature