From 898c113f93a05a18f47f2dd6a94f7cf56c858185 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Fri, 11 Oct 2019 14:58:08 +0200 Subject: [PATCH] qa: add script to test udev event reaping Signed-off-by: Ilya Dryomov --- .../tasks/krbd_udev_netlink_enobufs.yaml | 10 ++++++++ qa/workunits/rbd/krbd_udev_netlink_enobufs.sh | 24 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 qa/suites/krbd/rbd-nomount/tasks/krbd_udev_netlink_enobufs.yaml create mode 100755 qa/workunits/rbd/krbd_udev_netlink_enobufs.sh diff --git a/qa/suites/krbd/rbd-nomount/tasks/krbd_udev_netlink_enobufs.yaml b/qa/suites/krbd/rbd-nomount/tasks/krbd_udev_netlink_enobufs.yaml new file mode 100644 index 0000000000000..b0530d52c90f2 --- /dev/null +++ b/qa/suites/krbd/rbd-nomount/tasks/krbd_udev_netlink_enobufs.yaml @@ -0,0 +1,10 @@ +overrides: + ceph: + log-whitelist: + - pauserd,pausewr flag\(s\) set + +tasks: +- workunit: + clients: + all: + - rbd/krbd_udev_netlink_enobufs.sh diff --git a/qa/workunits/rbd/krbd_udev_netlink_enobufs.sh b/qa/workunits/rbd/krbd_udev_netlink_enobufs.sh new file mode 100755 index 0000000000000..7c9c53a2f922f --- /dev/null +++ b/qa/workunits/rbd/krbd_udev_netlink_enobufs.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# This is a test for https://tracker.ceph.com/issues/41404, verifying that udev +# events are properly reaped while the image is being (un)mapped in the kernel. +# UDEV_BUF_SIZE is 1M (giving us a 2M socket receive buffer), but modprobe + +# modprobe -r generate ~28M worth of "block" events. + +set -ex + +rbd create --size 1 img + +ceph osd pause +sudo rbd map img & +PID=$! +sudo modprobe scsi_debug max_luns=16 add_host=16 num_parts=1 num_tgts=16 +sudo udevadm settle +sudo modprobe -r scsi_debug +[[ $(rbd showmapped | wc -l) -eq 0 ]] +ceph osd unpause +wait $PID +[[ $(rbd showmapped | wc -l) -eq 2 ]] +sudo rbd unmap img + +echo OK -- 2.47.3