Sat Aug 19 12:01:08 2017 UTC ()
Not much point doing anything after a panic call


(maya)
diff -r1.319 -r1.320 src/sys/ufs/lfs/lfs_vnops.c

cvs diff -r1.319 -r1.320 src/sys/ufs/lfs/lfs_vnops.c (expand / switch to unified diff)

--- src/sys/ufs/lfs/lfs_vnops.c 2017/08/19 11:27:42 1.319
+++ src/sys/ufs/lfs/lfs_vnops.c 2017/08/19 12:01:08 1.320
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: lfs_vnops.c,v 1.319 2017/08/19 11:27:42 maya Exp $ */ 1/* $NetBSD: lfs_vnops.c,v 1.320 2017/08/19 12:01:08 maya Exp $ */
2 2
3/*- 3/*-
4 * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc. 4 * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to The NetBSD Foundation 7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Konrad E. Schroder <perseant@hhhh.org>. 8 * by Konrad E. Schroder <perseant@hhhh.org>.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -115,27 +115,27 @@ @@ -115,27 +115,27 @@
115 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 115 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
116 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 116 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
117 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 117 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
118 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 118 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
119 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 119 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
120 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 120 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
121 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 121 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
122 * SUCH DAMAGE. 122 * SUCH DAMAGE.
123 * 123 *
124 * @(#)ufs_vnops.c 8.28 (Berkeley) 7/31/95 124 * @(#)ufs_vnops.c 8.28 (Berkeley) 7/31/95
125 */ 125 */
126 126
127#include <sys/cdefs.h> 127#include <sys/cdefs.h>
128__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.319 2017/08/19 11:27:42 maya Exp $"); 128__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.320 2017/08/19 12:01:08 maya Exp $");
129 129
130#ifdef _KERNEL_OPT 130#ifdef _KERNEL_OPT
131#include "opt_compat_netbsd.h" 131#include "opt_compat_netbsd.h"
132#include "opt_uvm_page_trkown.h" 132#include "opt_uvm_page_trkown.h"
133#endif 133#endif
134 134
135#include <sys/param.h> 135#include <sys/param.h>
136#include <sys/systm.h> 136#include <sys/systm.h>
137#include <sys/namei.h> 137#include <sys/namei.h>
138#include <sys/resourcevar.h> 138#include <sys/resourcevar.h>
139#include <sys/kernel.h> 139#include <sys/kernel.h>
140#include <sys/file.h> 140#include <sys/file.h>
141#include <sys/stat.h> 141#include <sys/stat.h>
@@ -1441,31 +1441,28 @@ lfs_reclaim(void *v) @@ -1441,31 +1441,28 @@ lfs_reclaim(void *v)
1441 return (error); 1441 return (error);
1442 1442
1443 /* 1443 /*
1444 * Take us off the paging and/or dirop queues if we were on them. 1444 * Take us off the paging and/or dirop queues if we were on them.
1445 * We shouldn't be on them. 1445 * We shouldn't be on them.
1446 */ 1446 */
1447 mutex_enter(&lfs_lock); 1447 mutex_enter(&lfs_lock);
1448 if (ip->i_state & IN_PAGING) { 1448 if (ip->i_state & IN_PAGING) {
1449 log(LOG_WARNING, "%s: reclaimed vnode is IN_PAGING\n", 1449 log(LOG_WARNING, "%s: reclaimed vnode is IN_PAGING\n",
1450 lfs_sb_getfsmnt(fs)); 1450 lfs_sb_getfsmnt(fs));
1451 ip->i_state &= ~IN_PAGING; 1451 ip->i_state &= ~IN_PAGING;
1452 TAILQ_REMOVE(&fs->lfs_pchainhd, ip, i_lfs_pchain); 1452 TAILQ_REMOVE(&fs->lfs_pchainhd, ip, i_lfs_pchain);
1453 } 1453 }
1454 if (vp->v_uflag & VU_DIROP) { 1454 if (vp->v_uflag & VU_DIROP)
1455 panic("reclaimed vnode is VU_DIROP"); 1455 panic("reclaimed vnode is VU_DIROP");
1456 vp->v_uflag &= ~VU_DIROP; 
1457 TAILQ_REMOVE(&fs->lfs_dchainhd, ip, i_lfs_dchain); 
1458 } 
1459 mutex_exit(&lfs_lock); 1456 mutex_exit(&lfs_lock);
1460 1457
1461 pool_put(&lfs_dinode_pool, ip->i_din); 1458 pool_put(&lfs_dinode_pool, ip->i_din);
1462 lfs_deregister_all(vp); 1459 lfs_deregister_all(vp);
1463 pool_put(&lfs_inoext_pool, ip->inode_ext.lfs); 1460 pool_put(&lfs_inoext_pool, ip->inode_ext.lfs);
1464 ip->inode_ext.lfs = NULL; 1461 ip->inode_ext.lfs = NULL;
1465 genfs_node_destroy(vp); 1462 genfs_node_destroy(vp);
1466 pool_put(&lfs_inode_pool, vp->v_data); 1463 pool_put(&lfs_inode_pool, vp->v_data);
1467 vp->v_data = NULL; 1464 vp->v_data = NULL;
1468 return (0); 1465 return (0);
1469} 1466}
1470 1467
1471/* 1468/*