Have a good night!
And the reproduction log is :
First I create a new image and map it (to be alone from Incus) :
root@ceph02-r2b-fl1:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 53.12473 root default
...
-5 3.63879 host ceph02-r2b-fl1
6 hdd 0.90970 osd.6 up 1.00000 1.00000
9 hdd 0.90970 osd.9 up 1.00000 1.00000
2 nvme 0.90970 osd.2 up 1.00000 1.00000
4 nvme 0.90970 osd.4 up 1.00000 1.00000
...
root@ceph02-r2b-fl1:~# rbd create image1 --size 1024 --pool customers-clouds.ix-mrs2.fr.eho
root@ceph02-r2b-fl1:~# RBD_DEVICE=$(rbd map customers-clouds.ix-mrs2.fr.eho/image1)
root@ceph02-r2b-fl1:~# mkfs.ext4 ${RBD_DEVICE}
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: c97362e1-11db-4ff3-ba62-ede6d58884b9
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
root@ceph02-r2b-fl1:~# mount ${RBD_DEVICE} /media/test
Let's list current mapped devices.
root@ceph02-r2b-fl1:~# mount | grep rbd
/dev/rbd4 on /var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd5 on /var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd2 on /var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd1 on /var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd3 on /var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd0 on /var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd6 on /media/test type ext4 (rw,relatime,stripe=16)
============================================================================================
===============> Adding the new OSD (an old small disk to be faster...) <===================
=========================== (via service task in dashboard) ================================
============================================================================================
root@ceph02-r2b-fl1.ep-ws.fr.eholab.admin:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 53.25822 root default
...
-5 3.77229 host ceph02-r2b-fl1
6 hdd 0.90970 osd.6 up 1.00000 1.00000
9 hdd 0.90970 osd.9 up 1.00000 1.00000
26 hdd 0.13350 osd.26 up 1.00000 1.00000 <=== Here's the brand new OSD
2 nvme 0.90970 osd.2 up 1.00000 1.00000
4 nvme 0.90970 osd.4 up 1.00000 1.00000
....
============ Let's check what is NS contains ... =======================
root@ceph02-r2b-fl1:~# podman ps
CONTAINER
ID IMAGE
COMMAND
CREATED STATUS PORTS NAMES
.....
6dbd4fd4e4f3 cephpodregistry:5000/ceph@sha256:e205163225ec8ce460d6581df66ba4866585e3a4817866910f85bedcdcff7935 -n osd.26 -f --se... 2 minutes ago Up 2 minutes ago ceph-c3f59906-c43d-11ee-a2d6-3a82cb8036b6-osd-26
root@ceph02-r2b-fl1.ep-ws.fr.eholab.admin:~# podman exec 6dbd4fd4e4f3 mount | grep rbd
/dev/rbd4 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd5 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd2 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd1 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd3 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd0 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-xx type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd6 on /rootfs/media/test type ext4 (rw,relatime,stripe=16)
======= of course these mountpoints are not needed by the newly created OSD ... and this full copy is problematic ============
And then :
root@ceph02-r2b-fl1:~# umount /dev/rbd6 -I can unmount the rbd device ... no reference is host NS-
root@ceph02-r2b-fl1:~# rbd unmap /dev/rbd6
rbd: sysfs write failed
rbd: unmap failed: (16) Device or resource busy
root@ceph02-r2b-fl1:~# podman exec 6dbd4fd4e4f3 mount | grep rbd
/dev/rbd4 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-06c995c3 type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd5 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-0bc99da2 type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd2 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-62cc652e type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd1 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-5dcc5d4f type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd3 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-efd3feea type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd0 on /rootfs/var/lib/incus/storage-pools/default/containers/ec-59cc5703 type ext4 (rw,relatime,discard,stripe=16)
/dev/rbd6 on /rootfs/media/test type ext4 (rw,relatime,stripe=16)
... Because OSD's Namespace still had the mount (as all rbd mapped...)
Hope someone could create a ticket for this bug in ceph bug tracker. I didn't find how to create a ticket without being "a member".