Print this page
*** NO COMMENTS ***
@@ -20,11 +20,11 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Portions Copyright 2011 Martin Matuska
- * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
*/
/*
@@ -3170,11 +3170,11 @@
zct.zct_props = nvprops;
if (cbfunc == NULL)
return (EINVAL);
- if (zfs_get_parent(name, parent, MAXNAMELEN) == 0 &&
+ if (zfs_get_parent(fsname, parent, MAXNAMELEN) == 0 &&
zfs_is_wormed(parent)) {
return (EPERM);
}
if (type == DMU_OST_ZVOL) {
@@ -4186,22 +4186,25 @@
if (estimate) {
error = dmu_send_estimate(tosnap, fromsnap,
&zc->zc_objset_type);
} else {
+ offset_t off_starting;
file_t *fp = getf(zc->zc_cookie);
if (fp == NULL) {
dsl_dataset_rele(ds, FTAG);
if (dsfrom)
dsl_dataset_rele(dsfrom, FTAG);
return (EBADF);
}
off = fp->f_offset;
- error = dmu_send(tosnap, fromsnap,
- zc->zc_cookie, fp->f_vnode, &off);
+ off_starting = off;
+ error = dmu_send(tosnap, fromsnap, zc->zc_cookie, fp->f_vnode,
+ &off, zc->zc_sendsize);
+ zc->zc_sendcounter = off - off_starting;
if (VOP_SEEK(fp->f_vnode, fp->f_offset, &off, NULL) == 0)
fp->f_offset = off;
releasef(zc->zc_cookie);
}
if (dsfrom)
@@ -5170,11 +5173,11 @@
dmu_objset_rele(fromsnap, FTAG);
return (EBADF);
}
off = fp->f_offset;
- error = dmu_send(tosnap, fromsnap, fd, fp->f_vnode, &off);
+ error = dmu_send(tosnap, fromsnap, fd, fp->f_vnode, &off, B_FALSE);
if (VOP_SEEK(fp->f_vnode, fp->f_offset, &off, NULL) == 0)
fp->f_offset = off;
releasef(fd);
if (fromsnap != NULL)