On Fri Apr 24 2009 at 18:00:45 +0300, Antti Kantee wrote: > On Sat Apr 11 2009 at 20:42:59 +0000, Andrew Doran wrote: > > On Sat, Apr 11, 2009 at 12:21:57AM +0000, Perry E. Metzger wrote: > > > > > Modified Files: > > > src/sys/fs/tmpfs: tmpfs_vnops.c > > > > > > Log Message: > > > SAVENAME was not set for rename and delete as required > > > > > > Patch from christos, fixes pr 41183 > > > > Now it leaks pathname buffers. > > > > Who reviewed this change and who okayed it? > > Hmm, does this work correctly if you find the component via the > cache_lookup() path?
Ok, I dug into this a little. Short answer: no, but ... It seems that cache_lookup() always returns false if MAKEENTRY is not set. However, it first does the lookup and removes the entry. Does anyone know why it then returns false and forces a relookup? Now in the case of tmpfs we always get 1 cache lookup and 2 full lookups for each remove/rename operation.