uutils/coreutils

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

Open

#7,011 opened on Dec 28, 2024

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Rust (23,246 stars) (1,852 forks)batch import
U - rmgood first issue

Description

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

Contributor guide