Page MenuHomeFreeBSD

D41805.1794189696.diff
No OneTemporary

Authored By
Unknown
Size
919 B
Referenced Files
None
Subscribers
None

D41805.1794189696.diff

diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c.orig b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c.orig
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
@@ -6239,7 +6239,8 @@
struct mount *mp;
struct uio io;
int error;
- uint64_t len = *ap->a_lenp;
+ uint64_t len;
+ ssize_t r = 0;
if (!zfs_bclone_enabled) {
mp = NULL;
@@ -6287,9 +6288,14 @@
io.uio_offset = *ap->a_outoffp;
io.uio_resid = *ap->a_lenp;
- error = vn_rlimit_fsize(outvp, &io, ap->a_fsizetd);
+ error = vn_rlimit_fsizex(outvp, &io, 0, &r, ap->a_fsize_td);
if (error != 0)
goto out_locked;
+ len = io.uio_resid;
+ /*
+ * No need to call vn_rlimit_fsizex_res before return,
+ * since the uio is local.
+ */
error = zfs_clone_range(VTOZ(invp), ap->a_inoffp, VTOZ(outvp),
ap->a_outoffp, &len, ap->a_outcred);

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 9, 2:01 AM (16 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41603101
Default Alt Text
D41805.1794189696.diff (919 B)

Event Timeline