setup.sh: cleanup any leftover DPDK files
SPDK deletes those files automatically for single-process applications and the multi-process' ones can now be freed with `./setup.sh cleanup`. The script clears so called DPDK runtime directories, which are defined as follows (for DPDK 18.05+): * If DPDK is running as root, /var/run/dpdk/<per-pid-prefix>/ * If DPDK is not running as root: * If $XDG_RUNTIME_DIR is set, ${XDG_RUNTIME_DIR}/dpdk/<per-pid-prefix>/ * Otherwise, /tmp/dpdk/<per-pid-prefix>/ Since DPDK 18.08, even the shared config file is placed in the runtime dir, making it the only dir we have to clear. Change-Id: I13f58a98f6a07e609b888b4e816dd45eac10f49c Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/422485 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
parent
8f186a81c5
commit
1469679f09
@ -238,7 +238,20 @@ function configure_linux_pci {
|
||||
}
|
||||
|
||||
function cleanup_linux {
|
||||
files_to_clean="$(echo /dev/shm/* | egrep '(spdk_tgt|iscsi|vhost|nvmf|rocksdb|bdevtest)_trace|spdk_iscsi_conns' || true)"
|
||||
shopt -s extglob nullglob
|
||||
dirs_to_clean=""
|
||||
dirs_to_clean="$(echo {/var/run,/tmp}/dpdk/spdk{,_pid}+([0-9])) "
|
||||
if [[ -d $XDG_RUNTIME_DIR && $XDG_RUNTIME_DIR != *" "* ]]; then
|
||||
dirs_to_clean+="$(readlink -e assert_not_empty $XDG_RUNTIME_DIR/dpdk/spdk{,_pid}+([0-9]) || true) "
|
||||
fi
|
||||
|
||||
files_to_clean=""
|
||||
for dir in $dirs_to_clean; do
|
||||
files_to_clean+="$(echo $dir/*) "
|
||||
done
|
||||
shopt -u extglob nullglob
|
||||
|
||||
files_to_clean+="$(echo /dev/shm/* | egrep '(spdk_tgt|iscsi|vhost|nvmf|rocksdb|bdevtest)_trace|spdk_iscsi_conns' || true) "
|
||||
files_to_clean="$(readlink -e assert_not_empty $files_to_clean || true)"
|
||||
if [[ -z "$files_to_clean" ]]; then
|
||||
echo "Clean"
|
||||
@ -265,9 +278,18 @@ function cleanup_linux {
|
||||
echo "Still open: $f"
|
||||
fi
|
||||
done
|
||||
|
||||
for dir in $dirs_to_clean; do
|
||||
if ! echo "$opened_files" | egrep -q "^$dir\$"; then
|
||||
echo "Removing: $dir"
|
||||
rmdir $dir
|
||||
else
|
||||
echo "Still open: $dir"
|
||||
fi
|
||||
done
|
||||
echo "Clean"
|
||||
|
||||
unset files_to_clean opened_files
|
||||
unset dirs_to_clean files_to_clean opened_files
|
||||
}
|
||||
|
||||
function configure_linux {
|
||||
|
Loading…
x
Reference in New Issue
Block a user