Shweta Krishnan
2007-May-18 22:24 UTC
[zfs-discuss] Re: ZFS over a layered driver interface
I explored this a bit and found that the ldi_ioctl in my layered driver does fail, but fails because of an "iappropriate ioctl for device " error, which the underlying ramdisk driver''s ioctl returns. So doesn''t seem like that''s an issue at all (since I know the storage pool creation is successful when I give the ramdisk directly as the target device). However, as I mentioned, even though reads and writes are getting invoked on the ramdisk, through my layered driver, the storage pool creation still fails. Surprisingly, the layered driver''s routines show no sign of error - as in the layered device gets closed successfully when the pool creation command returns. It is unclear to be what would be a good way to go about debugging this, since I''m not familiar with dtrace- i shall try and familiarize myself with dtrace, but even then, it seems like there are a large number of functions returning non-zero values, and confusing to me where to look for the error. Any pointers would be most welcome!! Thanks, Swetha. This message posted from opensolaris.org
Roch Bourbonnais
2007-May-25 14:32 UTC
[zfs-discuss] Re: ZFS over a layered driver interface
hi Shweta; First thing is to look for all kernel function return that errno (25 I think) during your test. dtrace -n ''fbt:::return/arg1 == 25/{@a[probefunc]=count()}'' More verbose but also useful : dtrace -n ''fbt:::return/arg1 == 25/{@a[stack(20)]=count()}'' It''s a catch all, but often points me in the right direction. -r Le 19 mai 07 ? 00:24, Shweta Krishnan a ?crit :> I explored this a bit and found that the ldi_ioctl in my layered > driver does fail, but fails because of an "iappropriate ioctl for > device " error, which the underlying ramdisk driver''s ioctl > returns. So doesn''t seem like that''s an issue at all (since I know > the storage pool creation is successful when I give the ramdisk > directly as the target device). > > However, as I mentioned, even though reads and writes are getting > invoked on the ramdisk, through my layered driver, the storage pool > creation still fails. > > Surprisingly, the layered driver''s routines show no sign of error - > as in the layered device gets closed successfully when the pool > creation command returns. > > It is unclear to be what would be a good way to go about debugging > this, since I''m not familiar with dtrace- i shall try and > familiarize myself with dtrace, but even then, it seems like there > are a large number of functions returning non-zero values, and > confusing to me where to look for the error. > > Any pointers would be most welcome!! > > Thanks, > Swetha. > > > This message posted from opensolaris.org > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss