From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luis Henriques Subject: Re: [PATCH 0/9] fsnotify: change locking order Date: Tue, 20 Mar 2012 18:49:23 +0000 Message-ID: <87fwd3glak.fsf@camandro.org> References: <1308065393-29463-1-git-send-email-LinoSanfilippo@gmx.de> <4E370EBE.3050100@redhat.com> <20110811231331.GB5735@uranus.sol> Mime-Version: 1.0 Content-Type: text/plain Cc: Eric Paris , viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org To: Lino Sanfilippo Return-path: Received: from haggis.mythic-beasts.com ([93.93.131.52]:58311 "EHLO haggis.mythic-beasts.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755827Ab2CTTDS (ORCPT ); Tue, 20 Mar 2012 15:03:18 -0400 In-Reply-To: <20110811231331.GB5735@uranus.sol> (Lino Sanfilippo's message of "Fri, 12 Aug 2011 01:13:31 +0200") Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi Lino, Lino Sanfilippo writes: > On Mon, Aug 01, 2011 at 04:38:22PM -0400, Eric Paris wrote: ... >> >> Looks at aweful lot like the problem from: >> http://www.spinics.net/lists/linux-fsdevel/msg46101.html >> > > I tried to reproduce this bug with your test program, but without success. > However, if I understand correctly, this occurs since we dont hold any locks when > we call iput() in mark_destroy(), right? > With the patches you tested, iput() is also not called within any lock, since the > groups mark_mutex is released temporarily before iput() is called. This is, since > the original codes behaviour is similar. > However since we now have a mutex as the biggest lock, we can do what you > suggested (http://www.spinics.net/lists/linux-fsdevel/msg46107.html) and > call iput() with the mutex held to avoid the race. > The patch below implements this. It uses nested locking to avoid deadlock in case > we do the final iput() on an inode which still holds marks and thus would take > the mutex again when calling fsnotify_inode_delete() in destroy_inode(). I know it's been a while since you posted this series, but I was wondering if there has been any progress. Is there anyone working on this, or is it stalled? Cheers, -- Luis