Module Name:    src
Committed By:   hannken
Date:           Wed Nov 28 09:55:06 UTC 2018

Modified Files:
        src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_vnops.c

Log Message:
Always unbusy pages in zfs_putapage() after the data has been written
into the DMU.  Running fsx no longer hangs the kernel.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 \
    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.28 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.29
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.28	Thu Nov 15 04:55:49 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Wed Nov 28 09:55:06 2018
@@ -5826,13 +5826,11 @@ zfs_putapage(vnode_t *vp, page_t **pp, i
 	}
 	dmu_tx_commit(tx);
 
-	if (async) {
-		mutex_enter(mtx);
-		mutex_enter(&uvm_pageqlock);
-		uvm_page_unbusy(pp, count);
-		mutex_exit(&uvm_pageqlock);
-		mutex_exit(mtx);
-	}
+	mutex_enter(mtx);
+	mutex_enter(&uvm_pageqlock);
+	uvm_page_unbusy(pp, count);
+	mutex_exit(&uvm_pageqlock);
+	mutex_exit(mtx);
 
 out:
 	return (err);

Reply via email to