From owner-cvs-src@FreeBSD.ORG Wed Apr 9 19:07:49 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3CB2E106566B; Wed, 9 Apr 2008 19:07:49 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D4D78FC15; Wed, 9 Apr 2008 19:07:49 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m39J7n7O087525; Wed, 9 Apr 2008 19:07:49 GMT (envelope-from sam@repoman.freebsd.org) Received: (from sam@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m39J7nQb087521; Wed, 9 Apr 2008 19:07:49 GMT (envelope-from sam) Message-Id: <200804091907.m39J7nQb087521@repoman.freebsd.org> From: Sam Leffler Date: Wed, 9 Apr 2008 19:07:49 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/kern subr_firmware.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Apr 2008 19:07:49 -0000 sam 2008-04-09 19:07:49 UTC FreeBSD src repository Modified files: sys/kern subr_firmware.c Log: Do image loading in a context known to have a root directory: o create a private task queue thread that sets up root and current directories (hooking mountroot event as needed); this is necessary because task queue threads are parented from proc0 and it does not have a reference to rootvnode (lost when / mounting moved to init) o bounce image load + unload requests through the private task q so we can load images even when the request is made from a thread that does not have sufficient context (e.g. task q thread) o add a check in the task q thread to fail requests before root is mounted (just in case) Reviewed by: jhb, mlaier, luigi (glance) MFC after: 1 month Revision Changes Path 1.10 +121 -23 src/sys/kern/subr_firmware.c