mirror of https://github.com/jimsalterjrs/sanoid
only preserve recordsize for datasets of type "filesystem"
This commit is contained in:
parent
bdd0dfb733
commit
2da9ba2095
3
syncoid
3
syncoid
|
|
@ -439,9 +439,12 @@ sub syncdataset {
|
||||||
my $oldestsnapescaped = escapeshellparam($oldestsnap);
|
my $oldestsnapescaped = escapeshellparam($oldestsnap);
|
||||||
|
|
||||||
if (defined $args{'preserve-recordsize'}) {
|
if (defined $args{'preserve-recordsize'}) {
|
||||||
|
my $type = getzfsvalue($sourcehost,$sourcefs,$sourceisroot,'type');
|
||||||
|
if ($type eq "filesystem") {
|
||||||
my $recordsize = getzfsvalue($sourcehost,$sourcefs,$sourceisroot,'recordsize');
|
my $recordsize = getzfsvalue($sourcehost,$sourcefs,$sourceisroot,'recordsize');
|
||||||
$recvoptions .= "-o recordsize=$recordsize"
|
$recvoptions .= "-o recordsize=$recordsize"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
my $sendcmd = "$sourcesudocmd $zfscmd send $sendoptions $sourcefsescaped\@$oldestsnapescaped";
|
my $sendcmd = "$sourcesudocmd $zfscmd send $sendoptions $sourcefsescaped\@$oldestsnapescaped";
|
||||||
my $recvcmd = "$targetsudocmd $zfscmd receive $recvoptions $receiveextraargs $forcedrecv $targetfsescaped";
|
my $recvcmd = "$targetsudocmd $zfscmd receive $recvoptions $receiveextraargs $forcedrecv $targetfsescaped";
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,25 @@ function cleanUp {
|
||||||
trap cleanUp EXIT
|
trap cleanUp EXIT
|
||||||
|
|
||||||
zfs create "${POOL_NAME}"/src
|
zfs create "${POOL_NAME}"/src
|
||||||
|
zfs create -V 100M -o volblocksize=4k "${POOL_NAME}"/src/zvol4
|
||||||
|
zfs create -V 100M -o volblocksize=16k "${POOL_NAME}"/src/zvol16
|
||||||
|
zfs create -V 100M -o volblocksize=64k "${POOL_NAME}"/src/zvol64
|
||||||
zfs create -o recordsize=16k "${POOL_NAME}"/src/16
|
zfs create -o recordsize=16k "${POOL_NAME}"/src/16
|
||||||
zfs create -o recordsize=32k "${POOL_NAME}"/src/32
|
zfs create -o recordsize=32k "${POOL_NAME}"/src/32
|
||||||
zfs create -o recordsize=128k "${POOL_NAME}"/src/128
|
zfs create -o recordsize=128k "${POOL_NAME}"/src/128
|
||||||
../../../syncoid --preserve-recordsize --recursive --debug --compress=none "${POOL_NAME}"/src "${POOL_NAME}"/dst
|
../../../syncoid --preserve-recordsize --recursive --debug --compress=none "${POOL_NAME}"/src "${POOL_NAME}"/dst
|
||||||
|
|
||||||
zfs get recordsize -t filesystem -r "${POOL_NAME}"/dst
|
zfs get recordsize -t filesystem -r "${POOL_NAME}"/dst
|
||||||
|
zfs get volblocksize -t volume -r "${POOL_NAME}"/dst
|
||||||
|
|
||||||
|
if [ "$(zfs get recordsize -H -o value -t filesystem "${POOL_NAME}"/dst/16)" != "16K" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(zfs get recordsize -H -o value -t filesystem "${POOL_NAME}"/dst/32)" != "32K" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(zfs get recordsize -H -o value -t filesystem "${POOL_NAME}"/dst/128)" != "128K" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue