Source-Changes-HG archive

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

[src/trunk]: src/sys/ufs/mfs fix PR 15299 by making MFS filesystems not be "a...



details:   https://anonhg.NetBSD.org/src/rev/063e19dde6fa
branches:  trunk
changeset: 521669:063e19dde6fa
user:      chs <chs%NetBSD.org@localhost>
date:      Sun Feb 03 03:51:57 2002 +0000

description:
fix PR 15299 by making MFS filesystems not be "async".
in the longer term, MFS needs to be made a lot more VM-friendly.

diffstat:

 sys/ufs/mfs/mfs_vfsops.c |  12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diffs (33 lines):

diff -r 0cfd79ea4760 -r 063e19dde6fa sys/ufs/mfs/mfs_vfsops.c
--- a/sys/ufs/mfs/mfs_vfsops.c  Sun Feb 03 03:27:17 2002 +0000
+++ b/sys/ufs/mfs/mfs_vfsops.c  Sun Feb 03 03:51:57 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mfs_vfsops.c,v 1.36 2001/11/08 02:39:14 lukem Exp $    */
+/*     $NetBSD: mfs_vfsops.c,v 1.37 2002/02/03 03:51:57 chs Exp $      */
 
 /*
  * Copyright (c) 1989, 1990, 1993, 1994
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfs_vfsops.c,v 1.36 2001/11/08 02:39:14 lukem Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfs_vfsops.c,v 1.37 2002/02/03 03:51:57 chs Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -236,6 +236,14 @@
        size_t size;
        int flags, error;
 
+       /*
+        * XXX turn off async to avoid hangs when writing lots of data.
+        * the problem is that MFS needs to allocate pages to clean pages,
+        * so if we wait until the last minute to clean pages then there
+        * may not be any pages available to do the cleaning.
+        */
+       mp->mnt_flag &= ~MNT_ASYNC;
+
        error = copyin(data, (caddr_t)&args, sizeof (struct mfs_args));
        if (error)
                return (error);



Home | Main Index | Thread Index | Old Index