uutils/coreutils

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

已關閉

#7,011 建立於 2024年12月28日

 (2 則留言) (0 個反應) (0 位負責人)Rust (1,981 個分叉)batch import
U - rmgood first issue

倉庫指標

星標
 (23,893 顆星)
PR 合併指標
 (平均合併 5天 23小時) (30 天內合併 239 個 PR)

描述

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

貢獻者指南