From owner-p4-projects Fri Jul 12 19:50:43 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 751DA37B401; Fri, 12 Jul 2002 19:50:38 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07A8B37B400; Fri, 12 Jul 2002 19:50:38 -0700 (PDT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7520F43E6D; Fri, 12 Jul 2002 19:50:37 -0700 (PDT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.12.4/8.12.4) with SMTP id g6D2oWbM002010; Fri, 12 Jul 2002 22:50:32 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Fri, 12 Jul 2002 22:50:32 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: "Brian F. Feldman" Cc: Perforce Change Reviews Subject: Re: PERFORCE change 14125 for review In-Reply-To: <200207121440.g6CEeSA38753@green.bikeshed.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 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); 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. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Network Associates Laboratories To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message