Hello,
This is similar issue as in http://sourceforge.net/p/sblim/bugs/2549/ , but we noticed that this time pure Device Mapper devices are affected.
Steps to reproduce:
prepare some dm filesystem and mount it
mkdir -p /mnt/mount_dir
UUID=$(uuidgen)
dd if=/dev/zero of=./disk.raw bs=1M count=100
losetup /dev/loop0 ./disk.raw
echo "UUID=${UUID} /mnt/mount_dir ext3 defaults 0 0" >> /etc/fstab
pvcreate /dev/loop0
vgcreate volgroup01 /dev/loop0
lvcreate -L80M -ntest volgroup01
mkfs.ext3 -q /dev/mapper/volgroup01-test
tune2fs -U ${UUID} /dev/mapper/volgroup01-test
mount -a
check CIM_UnixLocalFileSystem class instances
...
EnabledState , uint16 , 3
...
Here's the debug trace from sblim-cmpi-fsvol for loop device with UUID=cd472460-e035-45b5-bec3-819605031a24 (created the same way as in reproducer):
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(297) : --- fs_mount_status() called for UUID=cd472460-e035-45b5-bec3-819605031a24
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(259) : --- fs_mount_status_internal() called for UUID=cd472460-e035-45b5-bec3-819605031a24
[4] [08/20/2015 04:44:01] --- OSBase_Common.c(344) : --- runcommand() : mount | grep UUID=cd472460-e035-45b5-bec3-819605031a24 >/tmp/SBLIMf8oLfl
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(274) : --- fs_mount_status_internal() exited : UUID=cd472460-e035-45b5-bec3-819605031a24 0
[4] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(306) : --- fs_mount_status() UUID=cd472460-e035-45b5-bec3-819605031a24 is /dev/disk/by-uuid/cd472460-e035-45b5-bec3-819605031a24
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(259) : --- fs_mount_status_internal() called for /dev/disk/by-uuid/cd472460-e035-45b5-bec3-819605031a24
[4] [08/20/2015 04:44:01] --- OSBase_Common.c(344) : --- runcommand() : mount | grep /dev/disk/by-uuid/cd472460-e035-45b5-bec3-819605031a24 >/tmp/SBLIMN6n0r7
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(274) : --- fs_mount_status_internal() exited : /dev/disk/by-uuid/cd472460-e035-45b5-bec3-819605031a24 0
[4] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(321) : --- fs_mount_status() /dev/disk/by-uuid/cd472460-e035-45b5-bec3-819605031a24 is really /dev/dm-3
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(259) : --- fs_mount_status_internal() called for /dev/dm-3
[4] [08/20/2015 04:44:01] --- OSBase_Common.c(344) : --- runcommand() : mount | grep /dev/dm-3 >/tmp/SBLIMBuHEET
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(274) : --- fs_mount_status_internal() exited : /dev/dm-3 0
[3] [08/20/2015 04:44:01] --- OSBase_CommonFsvol.c(332) : --- fs_mount_status() exited : UUID=cd472460-e035-45b5-bec3-819605031a24 0
fsvol translates UUID=cd472460-e035-45b5-bec3-819605031a24 to /dev/disk/by-uuid/cd472460-e035-45b5-bec3-819605031a24 and then /dev/disk/by-uuid/cd47... to dev/dm-3. Greps output of mount for /dev/dm-3 without success and thus marks the device as not mounted.
The last step of translation works fine for "real" devices (with /dev/sd...), but apparently not for pure device mapper stuff.
Proposed fix attached.