From: Dominick L. <dom...@gm...> - 2007-07-13 23:16:06
|
Let me ask another question about traditional, Posix-style record locks. For a F_SETLK, the PID of the process requesting the lock is passed to the fuse_operations.lock() function in the l_pid field of the struct flock. My problem is that for both a regular F_UNLCK call from fcntl(), *and* for the F_UNLCK triggered by a close(), the l_pid field is zero. i.e. I don't get any process ID information for an unlock. Is this a bug? Or are unlocks supposed to work that way? In order to propagate the locks across the network, I need to keep track of both PID and node information in order to identify locks uniquely: I can't allow an unlock from node A to remove locks from node B. -- Dominick |