On Wed, Jul 26, 2006 at 02:11:44PM -0600, David Curtis wrote:
> Eric,
> 
> Here is the output:
> 
> # ./dtrace2.dtr
> dtrace: script './dtrace2.dtr' matched 4 probes
> CPU     ID                    FUNCTION:NAME
>   0  17816           ldi_open_by_name:entry   /dev/dsk/vpath1c
>   0  16197              ldi_get_otyp:return                 0
>   0  15546            ldi_prop_exists:entry   Nblocks
>   0  15547           ldi_prop_exists:return                 0
>   0  15546            ldi_prop_exists:entry   nblocks
>   0  15547           ldi_prop_exists:return                 0
>   0  15546            ldi_prop_exists:entry   Size
>   0  15547           ldi_prop_exists:return                 0
>   0  15546            ldi_prop_exists:entry   size
>   0  15547           ldi_prop_exists:return                 0
> 

OK, this definitely seems to be a driver bug.  I'm no driver expert, but
it seems that exporting none of the above properties is a problem - ZFS
has no idea how big this disk is!  Perhaps someone more familiar with
the DDI/LDI interfaces can explain the appropriate way to implement
these on the driver end.

But at this point its safe to say that ZFS isn't doing anything wrong.
The layered driver is exporting a device in /dev/dsk, but not exporting
basic information (such as the size or number of blocks) that ZFS (and
potentially the rest of Solaris) needs to interact with the device.

- Eric

--
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

Reply via email to