On Tue, 26 Apr 2005, Jeff Moyer wrote: > ==> Regarding Re: [patch] get rid of is_mounted checks in cache_clean; Ian > Kent <[EMAIL PROTECTED]> adds: > > raven> On Mon, 25 Apr 2005, Jeff Moyer wrote: > >> Hi, Ian, > >> > >> I'm not sure what purpose the following check serves in the cache_clean > >> function: > >> > >> if (is_mounted(_PATH_MOUNTED, path)) { free(path); continue; } > >> > >> In the event that the map was updated, we signal the daemon to do a > >> re-read of the entire map. If the mount finishes before the daemon is > >> able to process this signal, we end up not pruning the old entry for the > >> given path. Now, because we append entries to the cache, we end up with > >> the stale entry first, followed by the updated entry. This means that > >> subsequent lookups will give the old entry. > > raven> This was originally meant to stop busy (currently mounted) entries > raven> from disappearing from the cache. > > raven> I'll check whether this is actually needed and get back. > > raven> One thing that comes to mind is that the direct mount rework design > raven> might need this. > > Well, unfortunately I cannot comment on that. We had have a very precise > definite of what it means to be in the cache, then, if there are to be > side-effects of removing entries. > > Anyway, the patch I sent was somewhat incomplete. Look at this: > > if (me->age < age) { > pred->next = me->next; > free(me->key); > free(me->mapent); > free(me); > me = pred; > rmdir_path(path); > } > > The rmdir_path is unneeded, and I would argue has no business being here. > It is the job of the umount_multi code to clean up the directory tree, not > the cache code. Lucky for us, the umount_multi path doesn't error out if a > directory is removed for it (thinking of odd races, here). Anyway, the > attached patch (diffed against current cvs) is more complete in this > respect. It gets rid of these rmdir_path calls.
I remember now why this is needed. The directory creation/removal isn't done at mount/umount for browsable maps. It's done when the map is updated. Ian _______________________________________________ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs