i've seen this ldi_get_size() failure before and it usually occurs on drivers that don't implement their prop_op(9E) entry point correctly or that don't implement the dynamic [Nn]blocks/[Ss]size property correctly.
what does your layered driver do in it's prop_op(9E) entry point? also, what driver is your layered driver layered over? ed On Mon, May 14, 2007 at 09:37:51AM -0700, Eric Schrock wrote: > This is likely because ldi_get_size() is failing for your device. We've > seen this before on 3rd party devices, and have been meaning to create a > special errno (instead of EINVAL) to give a more helpful message in this > case. > > - Eric > > On Sun, May 13, 2007 at 11:54:45PM -0700, Shweta Krishnan wrote: > > I ran zpool with truss, and here is the system call trace. (again, zfs_lyr > > is the layered driver I am trying to use to talk to the ramdisk driver). > > > > When I compared it to a successful zpool creation, the culprit is the last > > failing ioctl > > i.e. ioctl(3, ZFS_IOC_CREATE_POOL, <address>) > > > > I tried looking at the source code for the failing ioctl, but didn't get > > any hints there. > > Guess I must try dtrace (which I am about to learn!). > > > > bash-3.00# truss -f zpool create adsl-pool /devices/pseudo/[EMAIL > > PROTECTED]:zfsminor1 2> /var/tmp/zpool.truss > > bash-3.00# grep Err /var/tmp/zpool.truss > > 2232: open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT > > 2232: xstat(2, "/lib/libdiskmgt.so.1", 0x080469C8) Err#2 ENOENT > > 2232: xstat(2, "/lib/libxml2.so.2", 0x08046868) Err#2 ENOENT > > 2232: xstat(2, "/lib/libz.so.1", 0x08046868) Err#2 ENOENT > > 2232: stat64("/devices/pseudo/[EMAIL PROTECTED]:zfsminor1s2", 0x080429E0) > > Err#2 ENOENT > > 2232: modctl(MODSIZEOF_DEVID, 0x03740001, 0x080429BC, 0x08071714, > > 0x00000000) Err#22 EINVAL > > 2232: mkdir("/var/run/sysevent_channels/syseventd_channel", 0755) Err#17 > > EEXIST > > 2232: unlink("/var/run/sysevent_channels/syseventd_channel/17") Err#2 > > ENOENT > > 2232/1: umount2("/var/run/sysevent_channels/syseventd_channel/17", > > 0x00000000) Err#22 EINVAL > > 2232/1: ioctl(7, I_CANPUT, 0x00000000) Err#89 > > ENOSYS > > 2232/1: stat64("/adsl-pool", 0x08043330) Err#2 ENOENT > > 2232/1: ioctl(3, ZFS_IOC_POOL_CREATE, 0x08041BC4) Err#22 > > EINVAL > > > > > > This message posted from opensolaris.org > > _______________________________________________ > > zfs-discuss mailing list > > zfs-discuss@opensolaris.org > > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss > > -- > Eric Schrock, Solaris Kernel Development http://blogs.sun.com/eschrock > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss