Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/cddl/osnet/dist/uts/common/fs/zfs Always unbusy pag...



details:   https://anonhg.NetBSD.org/src/rev/e26c09a79a72
branches:  trunk
changeset: 446228:e26c09a79a72
user:      hannken <hannken%NetBSD.org@localhost>
date:      Wed Nov 28 09:55:06 2018 +0000

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

diffstat:

 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c |  12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

diffs (22 lines):

diff -r 20fff03b808b -r e26c09a79a72 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
--- a/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c    Wed Nov 28 09:44:49 2018 +0000
+++ b/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c    Wed Nov 28 09:55:06 2018 +0000
@@ -5826,13 +5826,11 @@
        }
        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);



Home | Main Index | Thread Index | Old Index