summaryrefslogtreecommitdiffstats
path: root/qa/workunits/rbd/krbd_udev_netlink_enobufs.sh
blob: 7c9c53a2f922f61caf5d555a806684c7256fc2d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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