[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Named streams, Re: Cleaning up namei
In article <20080327221434.GA22378%netbsd.org@localhost> David wrote:
: On Sun, Mar 23, 2008 at 02:23:07PM -0700, Bill Stouder-Studenmund wrote:
: > > > Mac OS used to have "complex" vnodes, which were files that had named
: > > > forks. They acted like files, but you could do lookups on them. Mac OS
: > > > no longer has them, so I consider them a dead experiment. ;-)
: > >
: > > But there's no reason they should be prohibited by the VFS layer.
: > I believe there is. It adds complexity, and I feel we win nothing for the
: > complexity. Look at all the issues you are having with the complexity we
: > actually use!
: That's quite true, except that the conclusion I drew upthread was that
: the vfs layer doesn't have to do anything special; it's up to the fs
: to decide to offer VOP_LOOKUP (and/or CREATE, LINK, RENAME, etc.) on
: regular files as well as directories. I don't think any particular
: complexity results; *forbidding* that somehow would add complexity.
: > No one really needs to be able to handle named streams this way, so let's
: > not.
Not quite: Mac OS X let's you access a file's resource fork as
<file>/rsrc. NetBSD's HFS+ implementation currently supports this,
too, and I think it would be bad to loose this.
: Also, I tend to think multistreamed files are an abomination;
Agreed, and so does Apple, now. But there are tons of files with
resource forks out there, and users have a legitimate need to read
: I'm not about to go rush out and implement them. There are dozens of
: perfectly good container formats one can use... native multistreamed
: files serve next to no purpose and make life difficult for users and
: I would, however, like to avoid coding in assumptions about what vnode
: types can support what operations; that way the behavior is only
: specified in one place instead of several. If we decide the latitude
: of fses to do weird things should be restricted, the best way to do
: that is some kind of compile-time check on VOP lists.
Main Index |
Thread Index |