Menu

#2750 cmpi-fsvol: Mounted file systems shown as disabled #2

Function
open
nobody
None
providers
5
2015-08-25
2015-08-25
No

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:

  1. 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

  2. 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.

1 Attachments

Discussion


Log in to post a comment.

MongoDB Logo MongoDB