uutils/coreutils

rm --one-file-system should fail wih `rm: skipping 'a/b', since it's on a different device`

Chiusa

#7011 aperta il 28 dic 2024

 (2 commenti) (0 reazioni) (0 assegnatari)Rust (1981 fork)batch import
U - rmgood first issue

Metriche repository

Star
 (23.893 stelle)
Metriche merge PR
 (Merge medio 5g 23h) (239 PR mergiate in 30 g)

Descrizione

t=/tmp/a2323
mkdir -p a/b $t/y
sudo mount --bind $t a/b
../gnu/src/rm --one-file-system -rf a
./target/debug/coreutils rm --one-file-system -rf a
sudo umount a/b /tmp/a2323

currently returns: rm: cannot remove 'a': Device or resource busy (os error 16)

when it should return: rm: skipping 'a/b', since it's on a different device

it will probably requires a new function to investigate all files/directories to be removed. (fortunately, will be only called with --one-file-system)

Note that it should not regress:

mkdir -p a42/b
./target/debug/coreutils rm --one-file-system -rf a42 || fail=1
echo $fail

tested by upstream: bash util/run-gnu-test.sh tests/rm/one-file-system.sh tests/rm/one-file-system2

Guida contributor