With what Edward suggested, I got rid of the ldi_get_size() error by defining the prop_op entry point appropriately.
However, the zpool create still fails - with zio_wait() returning 22. bash-3.00# dtrace -n 'fbt::ldi_get_size:entry{self->t=1;} fbt::ldi_get_size:entry/self->t/{} fbt::ldi_get_size:return/self->t/{trace((int)arg1);} fbt::ldi_get_size:return{self->t=0;}' -c 'zpool create adsl-pool /dev/layerzfsminor1' dtrace: description 'fbt::ldi_get_size:entry' matched 4 probes cannot create 'adsl-pool': invalid argument for this pool operation dtrace: pid 2487 has exited CPU ID FUNCTION:NAME 0 21606 ldi_get_size:entry 0 21607 ldi_get_size:return 0 bash-3.00# dtrace -n 'fbt:zfs:zfs_ioc_pool_create:entry{self->t=1;} fbt:zfs::return/self->t && arg1 == 22/{stack(); exit(0);} fbt:zfs:zfs_ioc_pool_create:return{self->t=0;}' dtrace: description 'fbt:zfs:zfs_ioc_pool_create:entry' matched 1317 probes CPU ID FUNCTION:NAME 0 63848 zio_wait:return zfs`vdev_label_init+0x4ed zfs`vdev_label_init+0x4e zfs`vdev_create+0x4b zfs`spa_create+0x233 zfs`zfs_ioc_pool_create+0x4a zfs`zfsdev_ioctl+0x119 genunix`cdev_ioctl+0x48 specfs`spec_ioctl+0x86 genunix`fop_ioctl+0x37 genunix`ioctl+0x16b unix`sys_syscall32+0x101 I see the strategy routine of my layered driver being invoked, and reads and writes are being done. (in the more detailed dtrace dump, I see zio_vdev_io_start and other zio functions being invoked). Is there a way to figure out where exactly this is breaking? Could it be due to an ioctl failure, since the kernel log shows a failure for the ioctl to the real device? Thanks, Swetha. This message posted from opensolaris.org _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org