Daniel Bakken wrote:
When I send a filesystem with compression=gzip to another server with compression=on, compression=gzip is not set on the received filesystem. I am using:

zfs send -R promise1/arch...@daily.1 | zfs receive -vd sas

The zfs manpage says regarding the -R flag: "When received, all properties, snapshots, descendent file systems, and clones are preserved." Snapshots are preserved, but the compression property is not. Any ideas why this doesn't work as advertised?


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

Reply via email to