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);