Daniel Bakken wrote:
The receive side is running build 111b (2009.06), so I'm not sure if your advice actually applies to my situation.


The advice regarding received vs local properties definitely does not apply. You could still confirm the presence of the compression property in the send stream with zstreamdump, since the send side is running build 129. To debug the receive side I might dtrace the zap_update() function with the fbt provider, something like

zfs send -R promise1/arch...@daily.1 | dtrace -c 'zfs receive -vd sas' \ -n 'fbt::zap_update:entry / stringof(args[2]) == "compression" || \
stringof(args[2]) == "compression$recvd" / { self->trace = 1; }'  \
-n 'fbt::zap_update:return / self->trace / { trace(args[1]); \
self->trace = 0; }'

and look for non-zero return values.

I'd also redirect 'zdb -vvv poolname' to a file and search it for "compression" to check the value in the ZAP.

I assume you have permission to set the compression property on the receive side, but I'd check anyway.

Tom



On Tue, Apr 6, 2010 at 10:57 PM, Tom Erickson <thomas.erick...@oracle.com <mailto:thomas.erick...@oracle.com>> wrote:
    After build 128, locally set properties override received
    properties, and this would be the expected behavior. In that case,
    the value was received and you can see it like this:

    % zfs get -o all compression tank
    NAME  PROPERTY     VALUE     RECEIVED  SOURCE
    tank  compression  on        gzip      local
    %

    You could make the received value the effective value (clearing the
    local value) like this:

    % zfs inherit -S compression tank
    % zfs get -o all compression tank
    NAME  PROPERTY     VALUE     RECEIVED  SOURCE
    tank  compression  gzip      gzip      received
    %

    If the receive side is below the version that supports received
    properties, then I would expect the receive to set compression=gzip.

    After build 128 'zfs receive' prints an error message for every
    property it fails to set. Before that version, 'zfs receive' is
    silent when it fails to set a property so long as everything else is
    successful. I might check whether I have permission to set
    compression with 'zfs allow'. You could pipe the send stream to
    zstreamdump to verify that compression=gzip is in the send stream,
    but I think before build 125 you will not have zstreamdump.

    Tom



------------------------------------------------------------------------

_______________________________________________
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

Reply via email to