Date: Sun, 27 May 2007 10:36:05 +0800 From: "Howard Su" <howard0su@gmail.com> To: "Pawel Jakub Dawidek" <pjd@freebsd.org> Cc: fs@freebsd.org Subject: Re: call for help on TMPFS Message-ID: <f126fae00705261936o551eadf2i7a814b5dc2e16c58@mail.gmail.com> In-Reply-To: <20070526194000.GC27289@garage.freebsd.pl> References: <f126fae00705250906n42f593e5i6992c3e49d38f045@mail.gmail.com> <20070526194000.GC27289@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On 5/27/07, Pawel Jakub Dawidek <pjd@freebsd.org> wrote: > On Sat, May 26, 2007 at 12:06:14AM +0800, Howard Su wrote: > I think you are missing some cases in lookup where you should add > SAVENAME flag. I'd start from adding this (or similar) assertions: > > KASSERT((ap->a_cnp->cn_flags & SAVENAME), ("No SAVENAME")); > > to the following functions: > > tmpfs_create() > tmpfs_remove() > tmpfs_mkdir() > tmpfs_rmdir() > tmpfs_rename() (assert both: fcnp and tcnp) > tmpfs_symlink() > tmpfs_link() Thank you very much. You are right. I just fixed this long standing panic. PS: I noticed that kernel option DIAGNOSTIC will clean ap->a_cnp with NULL if you don't give SAVENAME. So I enable DIAGNOSTIC instead of adding asserts. -- -Howard
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f126fae00705261936o551eadf2i7a814b5dc2e16c58>