OpenSolaris

Printable Version Enter a New Search
Bug ID 6468144
Synopsis metastat -s <setname> -c of replicated set shows Assertion failed: sp->setno == MD_MIN2SET
State 11-Closed:Verified (Closed)
Category:Subcategory kernel:svm
Keywords metaimport | rtiq_reviewed
Responsible Engineer Achim Maurer
Reported Against
Duplicate Of
Introduced In solaris_10
Commit to Fix s10u5_01
Fixed In s10u5_01
Release Fixed solaris_10u5(s10u5_01) , solaris_nevada(snv_73) (Bug ID:2151937)
Related Bugs 6436449 , 6463419 , 6677820 , 6735820
Submit Date 7-September-2006
Last Update Date 21-November-2007
Description
metastat output shows wrong replicated config/disks
after metaimport of replicated set and sometimes
getting Assertion failed if using metastat -s <setname> -c
on replicated config.

See test below:

Original set achim1 was replicated with dd copy:

d4u-480a# metastat -s achim1 -c
achim1/d100      p   10GB achim1/d90
    achim1/d90   m   67GB achim1/d80
        achim1/d80 s   67GB /dev/dsk/c6t2000000C50961DEEd0s0 /dev/dsk/c6t2000000C50962F51d0s0
d4u-480a# 
d4u-480a# metaset -s achim1

Set name = achim1, Set number = 3

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C50961DEEd0   Yes  

/dev/dsk/c6t2000000C50962F51d0   Yes  
d4u-480a# 

d4u-480a# metaset

Set name = achim1, Set number = 3

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C50961DEEd0   Yes  

/dev/dsk/c6t2000000C50962F51d0   Yes  
d4u-480a# metaimport -rv
metaimport: no unconfigured sets detected
d4u-480a# pwd
/
d4u-480a# dd if=/dev/dsk/c6t2000000C50961DEEd0s7 of=/dev/dsk/c6t2000000C50961C15d0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# dd if=/dev/dsk/c6t2000000C50962F51d0s7 of=/dev/dsk/c6t2000000C50961DD6d0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# metaimport -rv
Import: metaimport -s <newsetname> c6t2000000C50961C15d0
Last update: Wed Sep  6 15:55:20 2006
Device                      offset       length replica flags
c6t2000000C50961C15d0           16         8192      a        u     
c6t2000000C50961DD6d0           16         8192      a        u     

d4u-480a# 
d4u-480a# metaimport -rv
Import: metaimport -s <newsetname> c6t2000000C50961C15d0
Last update: Wed Sep  6 15:55:20 2006
Device                      offset       length replica flags
c6t2000000C50961C15d0           16         8192      a        u     
c6t2000000C50961DD6d0           16         8192      a        u     

d4u-480a# metaimport -s repl1 c6t2000000C50961C15d0
Drives in replicated diskset including disk c6t2000000C50961C15d0:
  c6t2000000C50961C15d0
  c6t2000000C50961DD6d0
More info:
  metaimport -r -v c6t2000000C50961C15d0

Disk movement detected
Updating device names in Solaris Volume Manager
d4u-480a# metastat -s repl1 -c
repl1/d100       p   10GB repl1/d90
    repl1/d90    m   67GB repl1/d80
Assertion failed: sp->setno == MD_MIN2SET(meta_getminor(np->dev)), file ../common/meta_nameinfo.c, line 1055
metastat: Abort
Abort - core dumped
d4u-480a# mdb core
Loading modules: [ libc.so.1 libnvpair.so.1 libuutil.so.1 libavl.so.1 ld.so.1 ]
> $c
libc.so.1`_lwp_kill+8(6, 6, 5, 6, 32d64, 0)
libc.so.1`abort+0xd0(ffbff6e0, ff2700b8, 0, a8350, ff268284, ff270904)
libc.so.1`_assert+0x64(ff323cf0, ff323d20, 41f, 2250, a806c, ff34218c)
libmeta.so.1`meta_get_mdunit+0x190(27448, 2d9e8, ffbffa88, 1, 6d330, ff217644)
0x1454c(8, 27448, 2d9e8, 26800, 26b58, 2d9e8)
0x13f34(8, 27448, 2d9e8, 2d6c0, 26b58, 26800)
0x145f0(4, 27448, 2, 26800, 26b58, 29398)
0x13aa4(2a0a8, ffbffd10, 0, 70, ffbffcec, ffffffff)
0x12cc0(27448, 184, 1, 1, 26800, 0)
main+0x448(0, ffbffe94, ffffffff, 0, ffbfff3c, 184)
_start+0x108(0, 0, 0, 0, 0, 0)
> $q

d4u-480a# metastat -s achim1 -c
achim1/d100      p   10GB achim1/d90
    achim1/d90   m   67GB achim1/d80
        achim1/d80 s   67GB /dev/dsk/c6t2000000C50961DEEd0s0 /dev/dsk/c6t2000000C50962F51d0s0
d4u-480a# metaset -s achim1

Set name = achim1, Set number = 3

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C50961DEEd0   Yes  

/dev/dsk/c6t2000000C50962F51d0   Yes  
d4u-480a#


I used the same config before in another test and got below output
which shows wrong metastat output for replicated set but didn't
got that assertion failed issue.

The right disks get imported but metastat states
about the older ones with old config.

Right would be seeing the same config but on
replicated drives.

d4u-480a# metaimport -rv
metaimport: no unconfigured sets detected
d4u-480a# metaset

Set name = achim, Set number = 1

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C5096260Ed0   Yes 

/dev/dsk/c6t2000000C5096302Dd0   Yes 
d4u-480a# dd if=/dev/dsk/c6t2000000C5096260Ed0s7 
of=/dev/dsk/c6t2000000C5096353Fd0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# dd if=//dev/dsk/c6t2000000C5096302Dd0s7 
of=/dev/dsk/c6t2000000C50963005d0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# metaset

Set name = achim, Set number = 1

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C5096260Ed0   Yes 

/dev/dsk/c6t2000000C5096302Dd0   Yes 
d4u-480a# metaimport -rv
Import: metaimport -s <newsetname> c6t2000000C5096353Fd0
Last update: Mon Sep  4 13:10:18 2006
Device                      offset       length replica flags
c6t2000000C5096353Fd0           16         8192      a        u    
c6t2000000C50963005d0           16         8192      a        u    

d4u-480a# metaimport -s repliacted c6t2000000C5096353Fd0
Drives in replicated diskset including disk c6t2000000C5096353Fd0:
  c6t2000000C5096353Fd0
  c6t2000000C50963005d0
More info:
  metaimport -r -v c6t2000000C5096353Fd0

meta_upd_ctdnames: /dev/dsk/c6t2000000C5096353Fd0s7 0 args: setno 0 sideno 1
Search path :/dev/dsk searth_type: 2
Old device lookup: /dev/dsk/c6t2000000C5096353Fd0s7 (1d8011f)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s0 (1d80118)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s1 (1d80119)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s2 (1d8011a)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s3 (1d8011b)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s4 (1d8011c)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s5 (1d8011d)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s6 (1d8011e)
 From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s7 (1d8011f)
meta_upd_ctdnames: match: 3 i: 7
meta_upd_ctdnames: /dev/dsk/c6t2000000C50963005d0s7 0 args: setno 0 sideno 1
Search path :/dev/dsk searth_type: 2
Old device lookup: /dev/dsk/c6t2000000C50963005d0s7 (1d80127)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s0 (1d80120)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s1 (1d80121)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s2 (1d80122)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s3 (1d80123)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s4 (1d80124)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s5 (1d80125)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s6 (1d80126)
 From devid lookup: /dev/dsk/c6t2000000C50963005d0s7 (1d80127)
meta_upd_ctdnames: match: 3 i: 7
pathname_reload: examining /dev/md/repliacted/dsk/d90
pathname_reload: no devid for /dev/md/repliacted/dsk/d90
pathname_reload: examining /dev/dsk/c6t2000000C5096260Ed0s0
devid: id1,ssd@n2000000c5096260e/a
Old device lookup: /dev/dsk/c6t2000000C5096260Ed0s0 (1d80110)
 From devid lookup: /dev/dsk/c6t2000000C5096260Ed0s0 (1d80110)
Name match: /dev/dsk/c6t2000000C5096260Ed0s0 and 
/dev/dsk/c6t2000000C5096260Ed0s0 (32)
All matched /dev/dsk/c6t2000000C5096260Ed0s0
pathname_reload: examining /dev/dsk/c6t2000000C5096302Dd0s0
devid: id1,ssd@n2000000c5096302d/a
Old device lookup: /dev/dsk/c6t2000000C5096302Dd0s0 (1d80130)
 From devid lookup: /dev/dsk/c6t2000000C5096302Dd0s0 (1d80130)
Name match: /dev/dsk/c6t2000000C5096302Dd0s0 and 
/dev/dsk/c6t2000000C5096302Dd0s0 (32)
All matched /dev/dsk/c6t2000000C5096302Dd0s0
pathname_reload: examining /dev/md/repliacted/dsk/d70
pathname_reload: no devid for /dev/md/repliacted/dsk/d70
replica update: search_path /dev/dsk
replica update: current /dev/dsk/c6t2000000C5096260Ed0s7 (1d8011f)
replica update: devid list: /dev/dsk/c6t2000000C5096353Fd0s7 (1d8011f)
fix_replicanames: match: 1 i: 0
replica update: reloading /dev/dsk/c6t2000000C5096353Fd0s7 11f
Disk movement detected
Updating device names in Solaris Volume Manager
Updating locator name
replica update: search_path /dev/dsk
replica update: current /dev/dsk/c6t2000000C5096302Dd0s7 (1d80127)
replica update: devid list: /dev/dsk/c6t2000000C50963005d0s7 (1d80127)
fix_replicanames: match: 1 i: 0
replica update: reloading /dev/dsk/c6t2000000C50963005d0s7 127
Updating locator name
d4u-480a# metaset

Set name = achim, Set number = 1

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C5096260Ed0   Yes 

/dev/dsk/c6t2000000C5096302Dd0   Yes 

Set name = repliacted, Set number = 2

Host                Owner
  d4u-480a           Yes

Drive                            Dbase

/dev/dsk/c6t2000000C5096353Fd0   Yes 

/dev/dsk/c6t2000000C50963005d0   Yes 
d4u-480a# metastat -s achim -c
achim/d100       p   10GB achim/d90
    achim/d90    m   67GB achim/d70
        achim/d70 s   67GB /dev/dsk/c6t2000000C5096260Ed0s0 
/dev/dsk/c6t2000000C5096302Dd0s0
d4u-480a# metastat -s repliacted -c
repliacted/d100  p   10GB repliacted/d90
    repliacted/d90 m   67GB repliacted/d70
        repliacted/d70 s   67GB /dev/dsk/c6t2000000C5096260Ed0s0 
/dev/dsk/c6t2000000C5096302Dd0s0
d4u-480a#
Work Around
N/A
Comments
N/A