Author: markj
Date: Tue Sep 29 13:56:09 2020
New Revision: 366253
URL: https://svnweb.freebsd.org/changeset/base/366253

Log:
  Apply 0daa0320e994 ("Fix a logic bug in the FreeBSD getpages VOP")

Modified:
  vendor-sys/openzfs/dist/module/os/freebsd/zfs/zfs_vnops.c

Modified: vendor-sys/openzfs/dist/module/os/freebsd/zfs/zfs_vnops.c
==============================================================================
--- vendor-sys/openzfs/dist/module/os/freebsd/zfs/zfs_vnops.c   Tue Sep 29 
13:41:47 2020        (r366252)
+++ vendor-sys/openzfs/dist/module/os/freebsd/zfs/zfs_vnops.c   Tue Sep 29 
13:56:09 2020        (r366253)
@@ -4859,7 +4859,8 @@ zfs_getpages(struct vnode *vp, vm_page_t *ma, int coun
        obj_size = object->un_pager.vnp.vnp_size;
        zfs_vmobject_wunlock(object);
        if (IDX_TO_OFF(ma[count - 1]->pindex) >= obj_size) {
-               zfs_rangelock_exit(lr);
+               if (lr != NULL)
+                       zfs_rangelock_exit(lr);
                ZFS_EXIT(zfsvfs);
                return (zfs_vm_pagerret_bad);
        }
@@ -4887,7 +4888,8 @@ zfs_getpages(struct vnode *vp, vm_page_t *ma, int coun
        error = dmu_read_pages(os, zp->z_id, ma, count, &pgsin_b, &pgsin_a,
            MIN(end, obj_size) - (end - PAGE_SIZE));
 
-       zfs_rangelock_exit(lr);
+       if (lr != NULL)
+               zfs_rangelock_exit(lr);
        ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
        ZFS_EXIT(zfsvfs);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to