do dry runs in planning stage to estimate size of all sends
This commit is contained in:
+12
-9
@@ -75,16 +75,19 @@ func (p *Sender) Send(ctx context.Context, r *pdu.SendReq) (*pdu.SendRes, io.Rea
|
||||
return nil, nil, replication.NewFilteredError(r.Filesystem)
|
||||
}
|
||||
|
||||
size, err := zfs.ZFSSendDry(r.Filesystem, r.From, r.To)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
if r.DryRun {
|
||||
size, err := zfs.ZFSSendDry(r.Filesystem, r.From, r.To)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return &pdu.SendRes{ExpectedSize: size}, nil, nil
|
||||
} else {
|
||||
stream, err := zfs.ZFSSend(r.Filesystem, r.From, r.To)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return &pdu.SendRes{}, stream, nil
|
||||
}
|
||||
|
||||
stream, err := zfs.ZFSSend(r.Filesystem, r.From, r.To)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return &pdu.SendRes{ExpectedSize: size}, stream, nil
|
||||
}
|
||||
|
||||
func (p *Sender) DestroySnapshots(ctx context.Context, req *pdu.DestroySnapshotsReq) (*pdu.DestroySnapshotsRes, error) {
|
||||
|
||||
Reference in New Issue
Block a user