Messages in this thread |  | | Date | Wed, 25 Apr 2001 00:31:58 +0200 | Subject | Re: hundreds of mount --bind mountpoints? | From | Trond Myklebust <> |
| |
>>>>> " " == Alexander Viro <viro@math.psu.edu> writes:
> _Ouch_. So what are you going to do if another iget4() comes > between the moment when you hash the inode and set these > fields? You are filling them only after you drop inode_lock, so > AFAICS the current code has the same problem.
The entire call to iget4() is protected by the BKL in all relevant instances. As long as we don't sleep between find_inode() and nfs_fill_inode(), we're safe.
In fact the BKL protection is needed also for another reason: we don't actually initialize the inode in the I_LOCK-protected read_inode() but instead rely on the caller of iget4 to do it for us. The reason is that one we would need to pass the struct nfs_fattr to read_inode() and this wasn't possible until the ReiserFS people introduced read_inode2().
Cheers, Trond - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |