From owner-freebsd-arch@FreeBSD.ORG Thu Aug 8 05:36:54 2013 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 29933493 for ; Thu, 8 Aug 2013 05:36:54 +0000 (UTC) (envelope-from uebayasi@gmail.com) Received: from mail-bk0-x22f.google.com (mail-bk0-x22f.google.com [IPv6:2a00:1450:4008:c01::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B221D269A for ; Thu, 8 Aug 2013 05:36:53 +0000 (UTC) Received: by mail-bk0-f47.google.com with SMTP id mx12so511855bkb.6 for ; Wed, 07 Aug 2013 22:36:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=6vNUKFe4cWqUGngM2uobAxgG22ndyjrzUcjS34Vj9Qc=; b=tP9mokOPqipR95Kl+Af5Duzgni/hAxcERsbql8SbqGMx+0qBIQuDwpnqXqqLFd2H5k YN3idOCZpw2xjx4vzNIpThpjGJsc7aLlZccR5dt5D5IdUOxadSkAD/z2DVN5ZnaErpjq XIuDQ6Jq35nM/B3k/2V7sOI1OP4CnkKmDCg3TGtH8QST2/qrmNNIw89oZbFM5PkiWe/d qsEtdTDdD0Iaedr/aSavYTi4n4CBc6i7UYlIhMSVR+zGcPbaasSrGW1aQJR5RJ10t8Ye 4tkfF/00Ojsg1mAg9GfptDO3lt+kADWgg6nbetTMWYKpSkHU2boSxkHGlPmhzWN+kNY8 bujg== MIME-Version: 1.0 X-Received: by 10.205.15.7 with SMTP id ps7mr991038bkb.45.1375940211834; Wed, 07 Aug 2013 22:36:51 -0700 (PDT) Received: by 10.205.36.9 with HTTP; Wed, 7 Aug 2013 22:36:51 -0700 (PDT) Date: Thu, 8 Aug 2013 14:36:51 +0900 Message-ID: Subject: panic(9) vs. RB_NOSYNC From: Masao Uebayashi To: freebsd-arch@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Aug 2013 05:36:54 -0000 panic(9) (actually vpanic()) sets RB_NOSYNC when panicstr is already set. What is the reasoning of this? My understanding is that panic() attempts VFS "sync" operation at first. If another panic() is triggered during that, give up VFS "sync". Is this correct? If so, how reliable is this design? I wonder if attempting such a complex task like VFS "sync" after a panic is a good idea.