Re: [Regression] 2.6.38 ncpfs

From: Linus Torvalds
Date: Thu Apr 14 2011 - 13:30:28 EST


On Thu, Apr 14, 2011 at 10:14 AM, Bongani Hlope <bonganilinux@xxxxxxxxxx> wrote:
>
> The bug is caused by commit fb2d5b86aff355a27ebfc132d3c99f4a940cc3fe, which
> was committed by Nick. Can you please either revert Nick's changes or include
> the attached patch (or a better version, because I'm not that clued up with
> ncpfs).

Hmm. Your patch isn't correct. You can't just do

if (!mutex_is_locked(&dentry->d_inode->i_mutex)) {
mutex_lock(&inode->i_mutex);

because code like that makes no sense - maybe it was locked by
somebody _else_, and you would need to lock it.

That said, I do think that the

BUG_ON(!mutex_is_locked(&dentry->d_inode->i_mutex));

is wrong, since even the comment above it talks about the _parent_
dentry, not the dentry that is actually being modified.

So there's clearly a bug somewhere, and the fix may be to just remove
that BUG_ON().

Added some more people to the cc.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/