diff options
| author | hannken <hannken@NetBSD.org> | 2004-01-10 17:16:38 +0000 |
|---|---|---|
| committer | hannken <hannken@NetBSD.org> | 2004-01-10 17:16:38 +0000 |
| commit | ed68c4e34cebd1bad87d6139323864329729d7c8 (patch) | |
| tree | 017970295d265104422c99dade981f9c0231db2c /sys/dev | |
| parent | 6297e36a60c51148bd5f5756728153adaa45e037 (diff) | |
Allow vfs_write_suspend() to wait if the file system is already
suspending.
Move vfs_write_suspend() and vfs_write_resume() from kern/vfs_vnops.c
to kern/vfs_subr.c.
Change vnode write gating in ufs/ffs/ffs_softdep.c (from FreeBSD).
When vnodes are throttled in softdep_trackbufs() check for
file system suspension every 10 msecs to avoid a deadlock.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/fss.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/fss.c b/sys/dev/fss.c index 26edab84434..36748ee78c0 100644 --- a/sys/dev/fss.c +++ b/sys/dev/fss.c @@ -1,4 +1,4 @@ -/* $NetBSD: fss.c,v 1.2 2003/12/13 18:59:29 hannken Exp $ */ +/* $NetBSD: fss.c,v 1.3 2004/01/10 17:16:38 hannken Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fss.c,v 1.2 2003/12/13 18:59:29 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fss.c,v 1.3 2004/01/10 17:16:38 hannken Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -632,7 +632,7 @@ fss_create_snapshot(struct fss_softc *sc, struct fss_set *fss, struct proc *p) * Activate the snapshot. */ - if ((error = vfs_write_suspend(sc->sc_mount)) != 0) + if ((error = vfs_write_suspend(sc->sc_mount, PUSER|PCATCH, 0)) != 0) goto bad; microtime(&sc->sc_time); |
