@@ -510,6 +510,17 @@ testout () {
510510 if [ $failed -gt 0 ]; then touch $FAILFILE ; fi
511511}
512512# ###############################################################################
513+ file_is_deleted () {
514+ local fxid=$1
515+ local output
516+ output=$( command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo " fxid:${fxid} " 2>&1 )
517+ local rc=$?
518+ if [ $rc -ne 0 ] || echo " $output " | grep -q " pending_deletion\|tombstone\|does not exist" ; then
519+ return 0
520+ fi
521+ return 1
522+ }
523+ # ###############################################################################
513524# Count total number of runtest calls in this script
514525if [ " $1 " != " list" ]; then
515526 echo " Counting total number of tests..."
@@ -1812,22 +1823,26 @@ rm_fxid=$(command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE}
18121823rm_fsid=$( command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE} | jq -r .locations[].fsid | head -n 1)
18131824runtest " ### Rm " unix SUCCESS " " eos rm -F ${RM_TEST_FILE}
18141825runtest " ### Dropdel " unix SUCCESS " " eos fs dropdeletion " ${rm_fsid} "
1815- runtest " ### Delay " unix SUCCESS " " delay 7
1816- runtest " ### Fileinfo " unix SUCCESS " " eos fileinfo " fxid:${rm_fxid} "
1817- runtest " ### Rm detached " unix SUCCESS " " eos rm " fxid:${rm_fxid} "
1818- runtest " ### Delay " unix SUCCESS " " delay 11
1819- runtest " ### Fileinfo " unix ERROR " " eos fileinfo " fxid:${rm_fxid} "
1826+ runtest " ### Delay " unix SUCCESS " " delay 2
1827+ if ! file_is_deleted " $rm_fxid " ; then
1828+ runtest " ### Fileinfo " unix SUCCESS " " eos fileinfo " fxid:${rm_fxid} "
1829+ runtest " ### Rm detached " unix SUCCESS " " eos rm " fxid:${rm_fxid} "
1830+ runtest " ### Delay " unix SUCCESS " " delay 2
1831+ fi
1832+ runtest " ### File Del " unix SUCCESS " " file_is_deleted " $rm_fxid "
18201833# Secondly test that rm -F on a detached file will clean up the namespace
18211834# without waiting for a confirmation from the diskservers
18221835runtest " ### Upload " unix SUCCESS " " eos cp /etc/passwd ${RM_TEST_FILE}
18231836rm_fxid=$( command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE} | jq -r .fxid)
18241837rm_fsid=$( command eos -j -b root://$EOS_TEST_REDIRECTOR fileinfo ${RM_TEST_FILE} | jq -r .locations[].fsid | head -n 1)
18251838runtest " ### Rm " unix SUCCESS " " eos rm -F ${RM_TEST_FILE}
18261839runtest " ### Dropdel " unix SUCCESS " " eos fs dropdeletion " ${rm_fsid} "
1827- runtest " ### Delay " unix SUCCESS " " delay 7
1828- runtest " ### Fileinfo " unix SUCCESS " " eos fileinfo " fxid:${rm_fxid} "
1829- runtest " ### Rm force " unix SUCCESS " " eos rm -F " fxid:${rm_fxid} "
1830- runtest " ### Fileinfo " unix ERROR " " eos fileinfo " fxid:${rm_fxid} "
1840+ runtest " ### Delay " unix SUCCESS " " delay 2
1841+ if ! file_is_deleted " $rm_fxid " ; then
1842+ runtest " ### Fileinfo " unix SUCCESS " " eos fileinfo " fxid:${rm_fxid} "
1843+ runtest " ### Rm force " unix SUCCESS " " eos rm -F " fxid:${rm_fxid} "
1844+ fi
1845+ runtest " ### File Del " unix SUCCESS " " file_is_deleted " $rm_fxid "
18311846# Create a directory with 10 files in it
18321847rmTestDir=" /eos/$EOS_TEST_INSTANCE /test/instancetest/rm_test"
18331848eos mkdir -p $rmTestDir
0 commit comments