From owner-freebsd-bugs@FreeBSD.ORG Sun Oct 24 22:00:47 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4747316A4CE for ; Sun, 24 Oct 2004 22:00:47 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 170DD43D5C for ; Sun, 24 Oct 2004 22:00:47 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i9OM0jaQ066201 for ; Sun, 24 Oct 2004 22:00:45 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i9OM0jDm066200; Sun, 24 Oct 2004 22:00:45 GMT (envelope-from gnats) Resent-Date: Sun, 24 Oct 2004 22:00:45 GMT Resent-Message-Id: <200410242200.i9OM0jDm066200@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Irina Liakh Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A085C16A4CE for ; Sun, 24 Oct 2004 21:52:57 +0000 (GMT) Received: from mermaid.itl.net.ua (ns.itl.net.ua [217.12.192.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2BD0D43D1D for ; Sun, 24 Oct 2004 21:52:57 +0000 (GMT) (envelope-from spell@mermaid.itl.net.ua) Received: by mermaid.itl.net.ua (Postfix, from userid 111) id 9FCE721565; Mon, 25 Oct 2004 00:52:55 +0300 (EEST) Message-Id: <20041024215255.9FCE721565@mermaid.itl.net.ua> Date: Mon, 25 Oct 2004 00:52:55 +0300 (EEST) From: Irina Liakh To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/73094: [unionfs] system runs out of vnodes X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Irina Liakh List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Oct 2004 22:00:47 -0000 >Number: 73094 >Category: kern >Synopsis: [unionfs] system runs out of vnodes >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Oct 24 22:00:44 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Irina Liakh >Release: FreeBSD 5.3-BETA6 amd64 >Organization: ITL >Environment: FreeBSD 5.3-BETA6 amd64, unionfs >Description: While using unionfs file system, it is possible to run out of vnodes and get still working machine, but every process that needs allocating vnode sleeps waiting for free vnode, so machine runs into rather unusable state. In normal situation, when vnode count is going to be over, getnewvnode() routine tries to reuse (by vtryrecycle()) existing but freed vnodes, and numvnodes (sysctl vfs.numvnodes) stops growing. When using unionfs (accessing files in it), vtryrecycle() always fails. The reason is non-zero resident_page_count field in vm_object_t-object corresponding to vnode-to-be-reused. Hence, getnewvnode() allocates new vnodes until numvnodes minus freevnodes becomes greater than desiredvnodes, after what every getnewvnode() goes to sleep with status-for-ps "vlruwk". >How-To-Repeat: Mount unionfs file system by mount_unionfs (regardless of -b and -r options) with great files count and directory tree (ports tree almost always will suffice). Run 'find ' command. >Fix: Unknown. >Release-Note: >Audit-Trail: >Unformatted: