os.writev() behaviour unpredictable when hitting file system full (28)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 36k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
os.writev() has an unpredictable behaviour when writing on a file system that becomes full:
For example:
try:
fd=os.open(file, os.O_WRONLY|os.O_CREAT|os.O_APPEND)
result = os.writev(fd,iovtable[0:MAXIOV])
except OSError as e:
...
# at this point result might return some bytes written (not necessarly corresponding to iov lengths, or even not be defined at all.
Your environment
centos 7.
Python 3.9 (but probably the same on 3.11)
This can easily be worked around by specifying in the documentation that os.writev() returns the actual number of bytes written in case of success, but the contents of the return value are unpredicatbale in case of errors.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Dokumentation zu os.writev() und prüfe, wie der Rückgabewert und das Verhalten bei OSError derzeit beschrieben werden. Vergleiche diese Formulierung mit dem gemeldeten Fall eines vollen Dateisystems; abgeschlossen ist die Aufgabe, wenn die Dokumentation klar angibt, worauf sich Aufrufer nach einem Erfolg und nach einem Fehler verlassen können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- documentation
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100