Date: Fri, 22 Jun 2001 07:57:42 -0700 From: Terry Lambert <tlambert2@mindspring.com> To: Zhihui Zhang <zzhang@cs.binghamton.edu> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Confusion with mknod() and devfs Message-ID: <3B335CE6.E7E02938@mindspring.com> References: <Pine.SOL.4.21.0106211407290.17930-100000@onyx>
next in thread | previous in thread | raw e-mail | index | archive | help
Zhihui Zhang wrote: > According to the red daemon book, alias vnodes are used to make cache > coherent (vp as a key). But getblk() stuff does not seem to check it. > This makes me feel the code is there for historical reasons. The "BSD 4.4" book was written about a system without a unified VM and buffer cache. The aliases it is talking about are the buffers hung off a file vnode and the buffers hung off a device vnode, from which that file was being read. The reason getblk() doesn't check it is that the cache is maintained as coherent, so there's no need, since the check is intended to permit explicit coherency operations to take place, when necessary. There is a lot of "missing" code you aren't seeing that is referenced by the book. It is still possible to create aliases, but they are done by having multiple vm_object_t's pointing to the same data blocks as backing objects. This only occurs in the case of stacking VFS's with a non-trivial relationship (e.g. where the backing object contents would not be the same between layers). It can also occur to some small extent in the NFS client FS case. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B335CE6.E7E02938>