Page MenuHomeFreeBSD

D41805.id127210.diff
No OneTemporary

D41805.id127210.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
Tue, Apr 21, 8:20 PM (3 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31931358
Default Alt Text
D41805.id127210.diff (919 B)

Event Timeline