1. But size is not checked on all devices if open() or fstat() return error - it's just skipped. So if rist device will report size larger than the rest one and you couldn't get size for all the others I guess zpool will assume the size of each vdev to be that of first device, right?
2. At the end of my first post I used dtrace to get what sizes were returned from fstat64() calls by zpool abd as you can see some devices reported different sizes than the others. But format/inq are reporting the same size for all these devices so there's something wrong here. Here's truss output you requested. # truss -v fstat -t open,fstat zpool create t2 raidz c7t5d176 c7t5d177 c7t5d178 c7t5d179 c7t5d180 c7t5d181 c7t5d182 c7t5d183 c7t5d184 c7t5d185 c7t5d186 c7t5d187 c7t5d188 c7t5d189 c7t5d190 [...] /1: open("/dev/dsk/c7t5d183", O_RDONLY) Err#2 ENOENT /1: open("/dev/dsk/c7t5d184", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781617 m=0060640 l=1 u=0 g=3 rdev=0x00800897 /1: at = Sep 20 18:25:26 CEST 2006 [ 1158769526 ] /1: mt = Sep 20 18:25:26 CEST 2006 [ 1158769526 ] /1: ct = Sep 20 18:25:26 CEST 2006 [ 1158769526 ] /1: bsz=8192 blks=0 fs=devfs /1: open("/dev/dsk/c7t5d185", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781633 m=0060640 l=1 u=0 g=3 rdev=0x0080089F /1: at = Sep 20 18:25:26 CEST 2006 [ 1158769526 ] /1: mt = Sep 20 18:25:26 CEST 2006 [ 1158769526 ] /1: ct = Sep 20 18:25:26 CEST 2006 [ 1158769526 ] /1: bsz=8192 blks=0 fs=devfs /1: open("/dev/dsk/c7t5d186", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781649 m=0060640 l=1 u=0 g=3 rdev=0x008008A7 /1: at = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: mt = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: ct = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: bsz=8192 blks=0 fs=devfs /1: open("/dev/dsk/c7t5d187", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781665 m=0060640 l=1 u=0 g=3 rdev=0x008008AF /1: at = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: mt = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: ct = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: bsz=8192 blks=0 fs=devfs /1: open("/dev/dsk/c7t5d188", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781681 m=0060640 l=1 u=0 g=3 rdev=0x008008B7 /1: at = Sep 21 11:31:52 CEST 2006 [ 1158831112 ] /1: mt = Sep 21 11:31:52 CEST 2006 [ 1158831112 ] /1: ct = Sep 21 11:31:52 CEST 2006 [ 1158831112 ] /1: bsz=8192 blks=0 fs=devfs /1: fstat64(2, 0xFFBFA5C8) = 0 /1: d=0x047C0000 i=12582920 m=0020620 l=1 u=0 g=7 rdev=0x00600002 /1: at = Sep 22 14:32:07 CEST 2006 [ 1158928327 ] /1: mt = Sep 22 14:32:19 CEST 2006 [ 1158928339 ] /1: ct = Sep 20 18:21:33 CEST 2006 [ 1158769293 ] /1: bsz=8192 blks=0 fs=devfs invalid vdev specification use '-f' to override the following errors: raidz contains devices of different sizes /1: open("/dev/dsk/c7t5d189", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781697 m=0060640 l=1 u=0 g=3 rdev=0x008008BF /1: at = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: mt = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: ct = Sep 20 18:25:27 CEST 2006 [ 1158769527 ] /1: bsz=8192 blks=0 fs=devfs /1: open("/dev/dsk/c7t5d190", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFB598) = 0 /1: d=0x047C0000 i=16781713 m=0060640 l=1 u=0 g=3 rdev=0x008008C7 /1: at = Sep 20 19:04:06 CEST 2006 [ 1158771846 ] /1: mt = Sep 20 19:04:06 CEST 2006 [ 1158771846 ] /1: ct = Sep 20 19:04:06 CEST 2006 [ 1158771846 ] /1: bsz=8192 blks=0 fs=devfs # This message posted from opensolaris.org _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss