ltfs_ordered_copy: copying several files into a directory fails with 'Is a directory' since v2.4.9.0
I maintainer di solito rispondono entro 6 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia dallo script ltfs_ordered_copy in src/utils, da CopyItem.run() e dalla funzione di supporto _run_copy() che chiama, la quale apre la destinazione con open(self.dst, 'wb'). Riproduci il problema con i comandi mkdir e ltfs_ordered_copy della issue, usando due file semplici e una directory esistente come destinazione. È completato quando entrambi i file vengono copiati nella directory con il proprio nome, i casi --keep-tree e a sorgente singola continuano a comportarsi come prima e il percorso a sorgente singola resta invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Since v2.4.9.0, ltfs_ordered_copy fails every file when several files (or a -t list from stdin) are copied into a destination directory. This is the second and fourth example in the man page:
$ ltfs_ordered_copy /foo/aaa /foo/bbb /bar
$ find /foo/ddd -type f | ltfs_ordered_copy -t /bar
Output:
Failed to copy "src/a.txt" to "dst": [Errno 21] Is a directory: 'dst'
Failed to copy "src/b.txt" to "dst": [Errno 21] Is a directory: 'dst'
Copied 0 files, Failed 2 files.
To Reproduce
mkdir src dst && echo aaa > src/a.txt && echo bbb > src/b.txt
ltfs_ordered_copy src/a.txt src/b.txt dst
The same command with src/utils/ltfs_ordered_copy taken from earlier commits:
| Commit | Result |
|---|---|
| efc9e3a (Release/v2.4.9.0, #649) | Copied 0 files, Failed 2 files |
| efc9e3a~1 (2026-07-29) | Copied 2 files |
| fd41c66 (2023-11-27) | Copied 2 files |
| 303ca43 (2020-12-09) | Copied 2 files |
Cause
#649 replaced shutil.copy2() / shutil.copy() in CopyItem.run() with _run_copy(), which does open(self.dst, 'wb') so it can drive the progress bar. shutil.copy accepted a directory as the destination and appended the source file name. open() does not, so any plain-file source whose destination is a directory fails. With --keep-tree the destination is a full file path, so that case still works. The single-source case is handled separately with shutil.copy, so it is also unaffected.
Expected behavior
Files are copied into the directory under their own names, as before v2.4.9.0.
Environment
Python 3, current main (efc9e3a). Reproduced off-tape with a stub xattr module, so the non-LTFS destination path is exercised. The failure is in the copy step itself, which LTFS and non-LTFS destinations share.
- Lingua principale
- C
- Stelle
- 358
- Fork
- 111
- Merge medio
- 5g 1h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi 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 LinearTapeFileSystem/ltfs
-
2.4.9.1 mkltfs failedForse già presa @madjesc l’ha presa 3 giorni fa. ApertaInvestigating
LinearTapeFileSystem/ltfs#656 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 6 giorni
-
ltfs/mkltfs segfault when the drive INQUIRY vendor id is not IBM/HP/HPE/QUANTUM (NULL deref in _raw_open)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
LinearTapeFileSystem/ltfs#650 ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
LinearTapeFileSystem/ltfs#647 · 1 commento ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
LinearTapeFileSystem/ltfs#643 ·
I maintainer di solito rispondono entro 6 giorni
-
Format fails on HP LTO-6 6250 with Adaptec HBAForse di nuovo libera @madjesc l’ha presa 47 giorni fa e non c’è nessuna pull request aperta. ApertaH/W issue HBA Report Investigating
LinearTapeFileSystem/ltfs#640 · 10 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di LinearTapeFileSystem/ltfs
Issue simili
-
Weekly fuzz run failedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kubernetes-sigs/security-profiles-operator#3597 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
AFLplusplus/AFLplusplus#2903 ·
-
Clean up stale and inaccurate comments in the platform screen and input filesForse già presa @RichStephens l’ha presa oggi. Aperta
Difficoltà 2/5 Mezza giornata Idoneità per principianti 88/100
FujiNetWIFI/fujinet-config#289 ·
I maintainer di solito rispondono entro 1 giorno
-
[raylib] update to 6.2Apertacategory:port-update
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
nasa/cFS-GroundSystem#272 ·