Messages in this thread | | | Date | Fri, 20 Oct 2000 01:13:01 -0400 (EDT) | From | Alexander Viro <> | Subject | Re: 2.4.0-test10-pre3:Oops in mm/filemap.c:filemap_write_pa |
| |
On Fri, 20 Oct 2000, Trond Myklebust wrote:
> >>>>> " " == David S Miller <davem@redhat.com> writes: > > > Actually, judging by the trace you provided Russell, I'd say > > this is some peculiarity with NFS silly rename handling, and > > it'd be best to look for the bug in that code (early inode > > reference loss, for example?) > > Russel's trace indicates that the unlink actually has completed and > has become a negative dentry since the file is labelled '(deleted)'.
No, it doesn't. Proof:
exec 3>/tmp/foo rm /tmp/foo ls -l /proc/$$/fd/3
and dentry is _not_ negative.
> That means that the dentry count must have been zero, so that > dentry_iput() was called.
It doesn't and it wasn't.
> I don't see how dentry_iput() can be called on an open file. In > principle the dentry count should always be >= 1, so unless there is > some place where we're calling d_delete() without get()ing the dentry > first, there should be no path for early inode loss.
d_delete() will not make dentry negative if there are other users. However, it will make it unhashed in such case, ergo (deleted) thing.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |