Marco Gerards <[EMAIL PROTECTED]> writes: > The problem here is that diskfs_nput is called from almost anywhere in > both libdiskfs and the filesystem. So it is impossible to make any > assumption if the directory holding the node is locked or not. I > think everyone would agree that adding a flag to inform diskfs_nput is > locked or not is insane. :)
One way is to make all node modifications fully synchronous. That would also require big changes in diskfs to preserve the directory lock in (say) diskfs_chown until after the node is released. So such a solution sucks. > In fatfs both the dir ent. and the inode are stored in the same > (physical) location. The problem with the current code is that the > same node can be locked twice, once as directory entry and once as > inode. I am inclined to think that one solution here is to change the lock structure. Make the inode lock the *same* as the directory lock. I think this would actually require no changes at all to diskfs. In other words, *drop* one lock, rather than adding one. Thomas _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd