From owner-p4-projects Mon Jul 15 9:36:46 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0F4B37B405; Mon, 15 Jul 2002 09:36:40 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from green.bikeshed.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 0EE4A37B400; Mon, 15 Jul 2002 09:36:40 -0700 (PDT) Received: from localhost (green@localhost) by green.bikeshed.org (8.11.6/8.11.6) with ESMTP id g6FGadD69438; Mon, 15 Jul 2002 12:36:39 -0400 (EDT) (envelope-from green@green.bikeshed.org) Message-Id: <200207151636.g6FGadD69438@green.bikeshed.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Robert Watson Cc: Perforce Change Reviews Subject: Re: PERFORCE change 14125 for review In-Reply-To: Your message of "Fri, 12 Jul 2002 22:50:32 EDT." From: "Brian F. Feldman" Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 15 Jul 2002 12:36:39 -0400 Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Robert Watson wrote: > > On Fri, 12 Jul 2002, Brian F. Feldman wrote: > > > Robert Watson wrote: > > > http://people.freebsd.org/~peter/p4db/chv.cgi?CH=14125 > > > > > > Change 14125 by rwatson@rwatson_paprika on 2002/07/11 21:54:24 > > > > > > Back out the lazy instantiate component of @14031, as it broke > > > mount-derived labels on multilabel (read-only or full) file > > > systems, as the EA write could result in a failure of the > > > label refresh, even though a valid label is available. > > > > > > Approved by: green > > > > Ack! No, you backed out all of it and re-re-reintroduced the bug where > > mac_update_vnode_from_externalized _NEVER_ gets called! > > We probably need to sit down with the source, because I think this still > isn't right. mac_update_vnode_from_externalized() is intended to take a > fully filled out extmac from the extended attribute, and initialize a > vnode label from it. You've changed the code flow so that you call it > even when extmac doesn't contain any valid data, which is simply > incorrect. Probably what we need is a new entry point intended > specifically to handle policies that manage the loading of the > externalized form themselves. Something on the order of: > > mac_update_vnode(vp); I suppose adding that hook probably will be a solution, if not an elegant one. I'd rather it just not call it for policies that have no data but a reserved data slow. > Also, we'll need to figure out how to arrange things so that > mac_update_vnode_from_mount() does the right thing in this context. The > real answer may be to take this opportunity to jump off the 'extmac on > disk' notion and switch all policies to use EAs directly now that we have > a working model for how it should happen. > > I'm surprised you can even boot this with any of the non-SEBSD policies > enabled. I don't run with corrupt labels, though. And I also wasn't running with "no labels" since I was lazy-instantiating them. The logic I had made sense except for read-only cases. -- Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\ <> green@FreeBSD.org <> bfeldman@tislabs.com \ The Power to Serve! \ Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message