Support for renameat2?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust
- Ambito
- operating-systems
Direzione di ricerca
Inizia con Dir::rename di cap-std e rustix::fs::renameat_with, quindi confronta come le operazioni sul filesystem sono esposte sulle piattaforme supportate. Leggi l’implementazione della scrittura atomica di cap-std-ext per comprendere il caso d’uso di RENAME_NOREPLACE. Il lavoro è completato quando i flag in stile renameat2 sono supportati dove disponibili e la creazione atomica può evitare di sovrascrivere un file esistente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
On Linux, cap-std implements Dir::rename via rustix::fs::renameat, which is the renameat function.
Since Linux 3.15, there is another version of this call, renameat2, which supports an additional flags argument. rustix already supports this function as rustix::fs::renameat_with.
Could cap-std add support for this function as well?
Additional Context
The external cap-std-ext crate implements atomic writes by writing a temporary file and renaming it in place. However, it is not possible to atomically create a file in this way.
renameat2 supports the RENAME_NOREPLACE flag, which ensures that no existing file is overwritten by the rename. As such, an atomic_create could be implemented based on this change.
- Lingua principale
- Rust
- Stelle
- 821
- Fork
- 59
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bytecodealliance/cap-std
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
bytecodealliance/cap-std#427 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
bytecodealliance/cap-std#416 · 2 commenti ·
-
Archiving cap-std Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
bytecodealliance/cap-std#426 · 2 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
bytecodealliance/cap-std#423 · 5 commenti ·
-
Replace cap-async-std Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
bytecodealliance/cap-std#408 · 4 commenti · 2 reazioni ·
Tutte le issue di bytecodealliance/cap-std
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
state:needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
zed-industries/zed#64680 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
RustPython/RustPython#8802 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
TheLarkInn/aipm#2390 ·