From: Gerard J. C. <gj...@ci...> - 2007-04-06 12:16:18
|
Miklos Szeredi wrote: >> This is a revisit of a post from a few years ago: >> >> http://sourceforge.net/mailarchive/message.php?msg_id=20040511212631.GC25351%40jabberwocky.com >> >> Namely, I find that the uid field of fuse_get_context() is always 0 >> within release operations (using the latest 2.6.3). In the thread >> above, it is indicated that the uid could be set appropriately, but >> isn't. I'm a little confused why this wouldn't be done since it does >> add value in certain cases and makes everything consistent. >> > > Release may be called from various contexts. The supplied uid/gid/pid > values may not make sense in some cases. > > Why do you need these? I can't think of a case where they would > matter whithin ->release(). > I have also visited this requirement last year. My scenario (which is not POSNIX compliant) is that if any other process besides the opening process releases the file, I wish to kick the file from the file system. The reason being that my file system is an archive and I do not want incomplete data objects masquerading as the complete data object in the file system. I have not addressed this edge scenario so far because my environment is currently very controlled and if any writer thread to the file system abends out monitors will detect it and mark the data object incomplete. Needless to say this requires all of systems to be UPS to allow any file writes to complete. So I too ask for the identifying information on the process performing the release so that I may cancel the file right if it is not the open process. Gerard J. Cerchio |