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

贡献者指南