>I've played around in my time with implementations of lchmod() and
>even flink()   (hard-link a name to a file descriptor on the same filesystem,
>easier than it sounds, but uninteresting for me because other code
>prevented it from working unless nlink was already greater than zero)

Which would be perfectly fine as system calls.

I'm not enamoured with the "subsystem call" thing we do a lot of as
it basically works like this:

        N library calls -> one syscall(X, 1 ... N, args) -> N kernel 
        functions.

Just strikes me as inefficient.

>I'm told that the only case I found where lchmod() actually mattered
>(needed write permission on a symlink in a sticky-bit directory to delete it)
>was regarded as a bug, and went away; so unless one really has an urge
>to see lrwxr-xr-x appear, there's no point to it; and as I said, the most
>interesting case for flink() (restoring a name to an open-but-deleted file,
>so that if one crashes, it goes away, but if one completes the output,
>one can reassign it a name and have it persist) didn't work, so I'm not
>sure how much of a point there would be to it either.  They were both
>more experiments in orthogonality than anything else.

If ufs permitted this then:

        ln /proc/pid/fd/X  .... 

would work.  (Works for files which are not unlinked)

>I do think someone ought to work with the OpenAFS folks, so that they
>don't do things that cause problems; if they _really_ need a syscall, just
reserve them one, provided they understand they mustn't offer it as a public
>interface.

Or provide a a way to assign one dynamically and be one that way.

Casper

_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to