Module Name: src Committed By: hannken Date: Thu Dec 13 10:20:20 UTC 2018
Modified Files: src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_vnops.c Log Message: Operation zfs_range_lock() needs range as (offset,length), not as (low,high). To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 \ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.37 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.38 --- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.37 Thu Dec 6 10:00:40 2018 +++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c Thu Dec 13 10:20:20 2018 @@ -5968,6 +5968,7 @@ zfs_netbsd_putpages(void *v) znode_t *zp = VTOZ(vp); zfsvfs_t *zfsvfs = zp->z_zfsvfs; rl_t *rl = NULL; + uint64_t len; int error; bool cleaned = false; @@ -5978,7 +5979,13 @@ zfs_netbsd_putpages(void *v) ZFS_VERIFY_ZP(zp); if (cleaning) { - rl = zfs_range_lock(zp, offlo, offhi, RL_WRITER); + ASSERT((offlo & PAGE_MASK) == 0 && (offhi & PAGE_MASK) == 0); + ASSERT(offlo < offhi || offhi == 0); + if (offhi == 0) + len = UINT64_MAX; + else + len = offhi - offlo; + rl = zfs_range_lock(zp, offlo, len, RL_WRITER); tsd_set(zfs_putpage_key, &cleaned); } error = genfs_putpages(v);