Is this on a 32-bit x86 kernel?  zap_cursor_serialize() returns a
uin64_t, but DTrace is only capable of tracing the high-order portion of
this value (at least for the return probe).  Looking at your output
below, it looks like you're only seeing 4 bytes of data, not 8.

- Eric

On Wed, Jun 21, 2006 at 08:35:41PM +0800, Jeremy Teo wrote:
> Hello,
> 
> according to the comments, zap_cursor_serialize returns a cookie which
> always has it's lower 4 bits set to 0.
> 
> However, while dtracing the cookie retunred by zap_cursor_serialize,
> this does not appear to be the case. ie. I get values such as
> ------------------------------
> bash-3.00# dtrace -n 'fbt::zap_cursor_serialize:return {printf("0x%x", 
> arg1)}'
> dtrace: description 'fbt::zap_cursor_serialize:return ' matched 1 probe
> CPU     ID                    FUNCTION:NAME
>  0  57277      zap_cursor_serialize:return 0x10038984
>  0  57277      zap_cursor_serialize:return 0x102ff2f3
>  0  57277      zap_cursor_serialize:return 0x10383ee0
>  0  57277      zap_cursor_serialize:return 0x109fbf15
>  0  57277      zap_cursor_serialize:return 0x10fcdb72
>  0  57277      zap_cursor_serialize:return 0x11292137
>  0  57277      zap_cursor_serialize:return 0x1157a001
>  0  57277      zap_cursor_serialize:return 0x118b126a
>  0  57277      zap_cursor_serialize:return 0x11bfc289
>  0  57277      zap_cursor_serialize:return 0x1206d830
>  0  57277      zap_cursor_serialize:return 0x1278e719
>  0  57277      zap_cursor_serialize:return 0x12808b52
>  0  57277      zap_cursor_serialize:return 0x1373e220
>  0  57277      zap_cursor_serialize:return 0x142cc5d7
>  0  57277      zap_cursor_serialize:return 0x142f0362
>  0  57277      zap_cursor_serialize:return 0x145dea2f
>  0  57277      zap_cursor_serialize:return 0x14757afa
>  0  57277      zap_cursor_serialize:return 0x14975e0c
>  0  57277      zap_cursor_serialize:return 0x14977749
>  0  57277      zap_cursor_serialize:return 0x14a4e0c6
>  0  57277      zap_cursor_serialize:return 0x14ec25df
> ------------------------------
> 
> If the lower 4 bits are always set to 0, then the last hex digit
> should always be zero.
> 
> Did I mess up somewhere, or are the comments wrong?
> -- 
> Regards,
> Jeremy
> _______________________________________________
> zfs-code mailing list
> zfs-code at opensolaris.org
> http://opensolaris.org/mailman/listinfo/zfs-code

--
Eric Schrock, Solaris Kernel Development       http://blogs.sun.com/eschrock

Reply via email to