[dm-devel] multipath disk size

Christophe Varoqui christophe.varoqui at free.fr
Fri Apr 7 22:31:32 UTC 2006


URZ- AG a écrit :
> Hi,
>
> I'm posting my question again, i would really appreciate if someone 
> could give me a hint why this happen.
>
>
> I'm trying to setup a FC Storage (Adaptec SANBloc 2Gb) using multipath
> (Kernel 2.6.15 - multipath-tool-0.4.7 on Fedora Core 5 )
> Everything seem to run right, but the disk created by multipath does not
> reflect the physical one.
> I do have a physical volume that is about 67GB big, when multipath
> creates the dm device it is at least 1GB.
> Here is the output of multipath -v3:
> ----------------------------------------------------
> dm-0: blacklisted
> dm-1: blacklisted
> dm-2: blacklisted
> dm-4: blacklisted
> dm-5: blacklisted
> fd0: blacklisted
> hdd: blacklisted
> md0: blacklisted
> ram0: blacklisted
> ram10: blacklisted
> ram11: blacklisted
> ram12: blacklisted
> ram13: blacklisted
> ram14: blacklisted
> ram15: blacklisted
> ram1: blacklisted
> ram2: blacklisted
> ram3: blacklisted
> ram4: blacklisted
> ram5: blacklisted
> ram6: blacklisted
> ram7: blacklisted
> ram8: blacklisted
> ram9: blacklisted
> sda: not found in pathvec
> sda: mask = 0x1f
> sda: bus = 1
> sda: dev_t = 8:0
> sda: size = 71553024
> sda: vendor = LSILOGIC
> sda: product = 1030          IM
> sda: rev = 1000
> sda: h:b:t:l = 0:0:1:0
> sda: serial =
> sda: path checker = readsector0 (config file default)
> sda: state = 2
> sda: getprio = /bin/true (config file default)
> sda: prio = 0
> sda: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
> error calling out /sbin/scsi_id -g -u -s /block/sda
> sdb: not found in pathvec
> sdb: mask = 0x1f
> sdb: bus = 1
> sdb: dev_t = 8:16
> sdb: size = 142114816
> sdb: vendor = EUROLOGC
> sdb: product = FC2502
> sdb: rev = 7902
> sdb: h:b:t:l = 2:0:0:0
> sdb: tgt_node_name = 0x20000080e512dc77
> sdb: serial = 0000dc7720000080e512dc770000000000000000
> sdb: path checker = readsector0 (controler setting)
> sdb: state = 2
> sdb: getprio = /bin/true (config file default)
> sdb: prio = 0
> sdb: getuid = /sbin/scsi_id -g -u -p 0x80 -s /block/%n (controler 
> setting)
> sdb: uid = SEUROLOGCFC2502_0000dc7720000080e512dc770000000000000000
> (callout)
> sdc: not found in pathvec
> sdc: mask = 0x1f
> sdc: bus = 1
> sdc: dev_t = 8:32
> sdc: size = 142114816
> sdc: vendor = EUROLOGC
> sdc: product = FC2502
> sdc: rev = 7902
> sdc: h:b:t:l = 2:0:1:0
> sdc: tgt_node_name = 0x20000080e512dc77
> sdc: serial = 0000dc7720000080e512dc770000000000000000
> sdc: path checker = readsector0 (controler setting)
> sdc: state = 2
> sdc: getprio = /bin/true (config file default)
> sdc: prio = 0
> sdc: getuid = /sbin/scsi_id -g -u -p 0x80 -s /block/%n (controler 
> setting)
> sdc: uid = SEUROLOGCFC2502_0000dc7720000080e512dc770000000000000000
> (callout)
> ===== paths list =====
> uuid                                                     hcil    dev
> dev_t pri
>                                                         0:0:1:0 sda 
> 8:0   0
> SEUROLOGCFC2502_0000dc7720000080e512dc770000000000000000 2:0:0:0 sdb 
> 8:16  0
> SEUROLOGCFC2502_0000dc7720000080e512dc770000000000000000 2:0:1:0 sdc 
> 8:32  0
> 8:16 ownership set to hdmail
> sdb: not found in pathvec
> sdb: mask = 0xc
> sdb: state = 2
> sdb: prio = 0
> 8:32 ownership set to hdmail
> sdc: not found in pathvec
> sdc: mask = 0xc
> sdc: state = 2
> sdc: prio = 0
> hdmail: pgfailback = -2 (config file default)
> hdmail: pgpolicy = failover (controler setting)
> hdmail: selector = round-robin 0 (controler setting)
> hdmail: features = 0 (internal default)
> hdmail: hwhandler = 0 (internal default)
> hdmail: rr_weight = 2 (config file default)
> hdmail: minio = 100 (config file default)
> hdmail: no_path_retry = -1 (config file default)
> hdmail: set ACT_CREATE (map does not exist)
> hdmail: set ACT_CREATE (map does not exist)
> create: hdmail (SEUROLOGCFC2502_0000dc7720000080e512dc770000000000000000)
> [size=1 GB][features=0][hwhandler=0]
> \_ round-robin 0 [prio=0][undef]
> \_ 2:0:0:0 sdb 8:16  [undef][ready]
> \_ round-robin 0 [prio=0][undef]
> \_ 2:0:1:0 sdc 8:32  [undef][ready]
> ----------------------------------------------------
> When you look at the disk size, it return the correct value but when it
> creates the dm device it does it too small.
>
> When I do create the multipath device using dmsetup it creates it with 
> the right size, but as soon as I do runf multipath again it resize the 
> device.
>
> Thanks a lot for your work and your help
>
Thanks for this report.

I can't reproduce this here.

I'm afraid I'll have to ask you to try and refine your report though.
Use a debugger to track [m]pp->size changes, or try adding debugging 
output in the key code areas : add_map_with_path(), coalesce_paths(), ...

Regards,
cvaroqui




More information about the dm-devel mailing list