Date: Mon, 4 Jan 2016 21:22:19 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Sean Eric Fagan <sef@Kithrup.COM> Cc: freebsd-fs@freebsd.org Subject: Re: Monitoring FS changes Message-ID: <416747176.149128068.1451960539354.JavaMail.zimbra@uoguelph.ca> In-Reply-To: <201601041959.u04JxWGn053360@kithrup.com> References: <201601041959.u04JxWGn053360@kithrup.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Sean Eric Fagan wrote: > >The generic problem we have there is quite different. Assume that > >we establish a new monitor on a directory, and assume there exists > >previously open file, which vnode should be now monitored by the > >'children' rule. How can we learn that the vnode must be included in the > >watching set, i.e. marked ? Same issue occurs for fhopen() and for NFS > >handles. > > xnu solved that by putting a parent pointer in each vnode (obviously, not set > for non-fs objects). Once they did that, this kept a reference for each > vnode, and voila, always there. > Just wondering how they handle the case of multiple hard links in different directories? rick > They also keep a reference cache of names; this makes a lot more sense on a > Mac OS system since so many directories and files have the same name > (there are 9400 instances of "Info.plist" on my laptop at the moment, for > example). > > The memory footprint for each of these was not too large. But, then, Apple > wasn't supporting systems with less than 1gbytes of ram at the time 8-). > > _______________________________________________ > freebsd-fs@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?416747176.149128068.1451960539354.JavaMail.zimbra>