Re: hundreds of mount --bind mountpoints?

From: Trond Myklebust (trond.myklebust@fys.uio.no)
Date: Tue Apr 24 2001 - 17:31:58 EST


>>>>> " " == 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/



This archive was generated by hypermail 2b29 : Mon Apr 30 2001 - 21:00:12 EST