[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130307191914.GA1652@mguzik.brq.redhat.com>
Date: Thu, 7 Mar 2013 20:19:15 +0100
From: Mateusz Guzik <mguzik@...hat.com>
To: Ben Greear <greearb@...delatech.com>
Cc: linux-cifs@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jeff Layton <jlayton@...hat.com>
Subject: Re: 3.7.10+: BUG Dentry still in use [unmount of cifs cifs]
On Tue, Mar 05, 2013 at 10:54:56AM -0800, Ben Greear wrote:
> In doing some CIFS testing (utilizing it's feature to bind to local
> address..but not sure that matters), we saw this error when trying
> to un-mount.
>
> Our kernel is patched (nfs, some networking related patches), but there
> are no out-of-kernel patches to CIFS, so I don't *think* this is anything
> we could have caused.
>
> This problem appears to be easily reproducible, so we will be happy
> to test patches if anyone has any suggestions.
>
> BUG: Dentry ffff8800c07e43c0{i=45762,n=cifs2-01.7.lf-data} still in use (1) [unmount of cifs cifs]
We encountered similar panic, but it was related to writes. In our case
the problem was that some cifsInodeInfo holding dentry references were
still around (in slow-work queue) during superblock destruction in unmount.
I reproduced the problem on 3.8 kernel (sorry, no 3.7 handy) with reads
as well, which should match your scenario.
I attached a patch that deals with this problem by grabbing refcounts to
cifs superblock on cifsInodeInfo creation. This delays sb destruction
until all cifsInodeInfos are gone. I didn't test it on 3.7.10 kernel but
it should work fine.
--
Mateusz Guzik
View attachment "cifs-umount-dentry-panic-upstream.diff" of type "text/plain" (2356 bytes)
View attachment "cifs-umount-dentry-panic-3.7.10.diff" of type "text/plain" (2380 bytes)
Powered by blists - more mailing lists