>From: "James A Goodwin" <jagoodwi@xxxxxxxxxx>
>Are you saying that rights do exist and are checked at the DMAPI level? If
>so, does this mean that a DMAPI program could use rights to synchronize
>between DMAPI calls but must use some other mechanism to coordinate with
>non-DMAPI clients of the filesystem?
>Let me clarify a bit. Let's say that I have two DMAPI programs that want
>to modify the DM attributes of the same file using the dm_set_dmattr()
>call. If they both call dm_request_right() to get a DM_RIGHT_EXCL right to
>the file, one will get the right while the other will block. When the
>initial program finally calls dm_release_right() the second program will
>get the DM_RIGHT_EXCL and continue. Is that correct?
No, we don't block. You just get the vn_hold/vn_rele.
The spec talks about it in terms of programs, implying processes, but it's
actually meaning tokens, right? Two tokens, referring to the same file, use
rights to decide which of the tokens does, or doesn't, get to be acted on.