Re: [Regression] 2.6.38 ncpfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus

On Thu, 2011-04-14 at 13:22 -0700, Linus Torvalds wrote:
> On Thu, Apr 14, 2011 at 1:17 PM, Bongani Hlope
<bonganilinux@xxxxxxxxxx> wrote:
> >
> > Looking at the changes,  you are right. The BUG_ON() seems to be
what is not
> > suppose to be there. The attached patch only removes the BUG_ON().
I'll test
> > on my work PC tomorrow and see if that also fixes the bug.
> 
> You might also try to replace it with
> 
>     BUG_ON(!mutex_is_locked(&dentry->d_parent->d_inode->i_mutex))
> 
> ie add that "d_parent" there. Just for testing - I think the real fix
> really is to remove it, but I'd personally be happier knowing that
> _if_ it were to have that d_parent there, it would have worked.

I've made that change and ncpfs works fine with it. I've attached a
patch that changes the BUG_ON to look at the parent.

> 
> It would also be interesting to hear if that name length could
> possibly ever change, and we'd hit that test too. It looks like the
> original code actually checked that the length was the same before
> doing the overwrite.
> 
> ncpfs doesn't seem to be very actively maintained, I suspect Petr
> isn't really using it any more.
> 
>                    Linus
> 
>                 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/
> 



 
 
This e-mail and its attachments, if any, are subject to BankservAfrica's
e-mail disclaimer which is available on
http://www.bankservafrica.com/Contactus/EmailDisclaimer.aspx.
 
Please consider the environment before printing this e-mail!
--- linux-2.6.33/fs/dcache.c.org	2011-04-04 08:20:20.382107296 +0200
+++ linux-2.6.33/fs/dcache.c	2011-04-15 08:23:45.530530995 +0200
@@ -2123,7 +2123,7 @@
  */
 void dentry_update_name_case(struct dentry *dentry, struct qstr *name)
 {
-	BUG_ON(!mutex_is_locked(&dentry->d_inode->i_mutex));
+	BUG_ON(!mutex_is_locked(&dentry->d_parent->d_inode->i_mutex));
 	BUG_ON(dentry->d_name.len != name->len); /* d_lookup gives this */
 
 	spin_lock(&dentry->d_lock);

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux