@@ -21,7 +21,7 @@ test() {
local iterations=1000
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
local loop_dev
loop_dev="$(losetup -f)"
@@ -31,7 +31,7 @@ test() {
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-$i"
done
- _nvme_discover "loop" | _filter_discovery
+ _nvme_discover "${nvme_trtype}" | _filter_discovery
for ((i = iterations - 1; i >= 0; i--)); do
_remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-$i"
@@ -21,7 +21,7 @@ test() {
_setup_nvmet
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
local loop_dev
loop_dev="$(losetup -f)"
@@ -29,7 +29,7 @@ test() {
_create_nvmet_subsystem "blktests-subsystem-1" "${loop_dev}"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1"
- _nvme_connect_subsys "loop" "nqn.2014-08.org.nvmexpress.discovery"
+ _nvme_connect_subsys "${nvme_trtype}" "nqn.2014-08.org.nvmexpress.discovery"
# This is ugly but checking for the absence of error messages is ...
sleep 10
@@ -22,7 +22,7 @@ test() {
_setup_nvmet
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
truncate -s 1G "$TMPDIR/img"
@@ -33,10 +33,10 @@ test() {
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1"
- _nvme_connect_subsys "loop" "blktests-subsystem-1"
+ _nvme_connect_subsys ${nvme_trtype} "blktests-subsystem-1"
local nvmedev
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -22,7 +22,7 @@ test() {
_setup_nvmet
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
truncate -s 1G "$TMPDIR/img"
@@ -33,10 +33,10 @@ test() {
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1"
- _nvme_connect_subsys "loop" "blktests-subsystem-1"
+ _nvme_connect_subsys ${nvme_trtype} "blktests-subsystem-1"
local nvmedev
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
udevadm settle
@@ -29,7 +29,7 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
_remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
@@ -28,7 +28,7 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
_remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
@@ -31,12 +31,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -27,12 +27,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -31,12 +31,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -29,12 +29,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -35,12 +35,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -32,12 +32,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -31,12 +31,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -30,7 +30,7 @@ test() {
_create_nvmet_ns "${subsys_nqn}" "${i}" "${loop_dev}"
done
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "$port" "${subsys_nqn}"
_nvme_discover "loop" | _filter_discovery
@@ -33,7 +33,7 @@ test() {
_create_nvmet_ns "${subsys_name}" "${i}" "${file_path}"
done
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
_nvme_discover "loop" | _filter_discovery
@@ -29,12 +29,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -33,12 +33,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -29,12 +29,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -31,12 +31,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,12 +28,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -28,16 +28,16 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
- if ! nvme list-subsys 2>> "$FULL" | grep -q loop; then
+ if ! nvme list-subsys 2>> "$FULL" | grep -q ${nvme_trtype}; then
echo "ERROR: list-subsys"
fi
_nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
@@ -64,12 +64,12 @@ test() {
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys "loop" "${subsys_name}"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
@@ -37,7 +37,7 @@ test() {
_setup_nvmet
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
_create_nvmet_subsystem "${subsys}1" "$(losetup -f)"
_add_nvmet_subsys_to_port "${port}" "${subsys}1"
@@ -36,12 +36,12 @@ test() {
loop_dev="$(losetup -f --show "$TMPDIR/img")"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port ${nvme_trtype})"
for ((i = 0; i < iterations; i++)); do
_create_nvmet_subsystem "${subsys}$i" "${loop_dev}"
_add_nvmet_subsys_to_port "${port}" "${subsys}$i"
- _nvme_connect_subsys "loop" "${subsys}$i"
+ _nvme_connect_subsys ${nvme_trtype} "${subsys}$i"
_nvme_disconnect_subsys "${subsys}$i" >> "${FULL}" 2>&1
_remove_nvmet_subsystem_from_port "${port}" "${subsys}$i"
_remove_nvmet_subsystem "${subsys}$i"
@@ -65,8 +65,8 @@ _cleanup_nvmet() {
for dev in /sys/class/nvme/nvme*; do
dev="$(basename "$dev")"
transport="$(cat "/sys/class/nvme/${dev}/transport")"
- if [[ "$transport" == "loop" ]]; then
- echo "WARNING: Test did not clean up loop device: ${dev}"
+ if [[ "$transport" == "${nvme_trtype}" ]]; then
+ echo "WARNING: Test did not clean up ${nvme_trtype} device: ${dev}"
_nvme_disconnect_ctrl "${dev}"
fi
done
@@ -90,14 +90,20 @@ _cleanup_nvmet() {
shopt -u nullglob
trap SIGINT
- modprobe -r nvme-loop 2>/dev/null
+ modprobe -r nvme-${nvme_trtype} 2>/dev/null
+ if [[ "${nvme_trtype}" != "loop" ]]; then
+ modprobe -r nvmet-${nvme_trtype} 2>/dev/null
+ fi
modprobe -r nvmet 2>/dev/null
}
_setup_nvmet() {
_register_test_cleanup _cleanup_nvmet
modprobe nvmet
- modprobe nvme-loop
+ if [[ "${nvme_trtype}" != "loop" ]]; then
+ modprobe nvmet-${nvme_trtype}
+ fi
+ modprobe nvme-${nvme_trtype}
}
_nvme_disconnect_ctrl() {
@@ -226,13 +232,13 @@ _remove_nvmet_subsystem_from_port() {
rm "${NVMET_CFS}/ports/${port}/subsystems/${nvmet_subsystem}"
}
-_find_nvme_loop_dev() {
+_find_nvme_dev() {
local dev
local transport
for dev in /sys/class/nvme/nvme*; do
dev="$(basename "$dev")"
transport="$(cat "/sys/class/nvme/${dev}/transport")"
- if [[ "$transport" == "loop" ]]; then
+ if [[ "$transport" == "${nvme_trtype}" ]]; then
echo "$dev"
for ((i = 0; i < 10; i++)); do
if [[ -e /sys/block/$dev/uuid &&
@@ -252,6 +258,6 @@ _filter_discovery() {
}
_discovery_genctr() {
- _nvme_discover "loop" |
+ _nvme_discover "${nvme_trtype}" |
sed -n -e 's/^.*Generation counter \([0-9]\+\).*$/\1/p'
}
Pass in nvme_trtype to common routines that can support multiple transport types. Signed-off-by: Sagi Grimberg <sagi@grimberg.me> --- tests/nvme/002 | 4 ++-- tests/nvme/003 | 4 ++-- tests/nvme/004 | 6 +++--- tests/nvme/005 | 6 +++--- tests/nvme/006 | 2 +- tests/nvme/007 | 2 +- tests/nvme/008 | 6 +++--- tests/nvme/009 | 6 +++--- tests/nvme/010 | 6 +++--- tests/nvme/011 | 6 +++--- tests/nvme/012 | 6 +++--- tests/nvme/013 | 6 +++--- tests/nvme/014 | 6 +++--- tests/nvme/015 | 6 +++--- tests/nvme/016 | 2 +- tests/nvme/017 | 2 +- tests/nvme/018 | 6 +++--- tests/nvme/019 | 6 +++--- tests/nvme/020 | 6 +++--- tests/nvme/021 | 6 +++--- tests/nvme/022 | 6 +++--- tests/nvme/023 | 6 +++--- tests/nvme/024 | 6 +++--- tests/nvme/025 | 6 +++--- tests/nvme/026 | 6 +++--- tests/nvme/027 | 6 +++--- tests/nvme/028 | 8 ++++---- tests/nvme/029 | 6 +++--- tests/nvme/030 | 2 +- tests/nvme/031 | 4 ++-- tests/nvme/rc | 20 +++++++++++++------- 31 files changed, 91 insertions(+), 85 deletions(-)