From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752118AbZHaPLE (ORCPT ); Mon, 31 Aug 2009 11:11:04 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751848AbZHaPLD (ORCPT ); Mon, 31 Aug 2009 11:11:03 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:39435 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751644AbZHaPLD (ORCPT ); Mon, 31 Aug 2009 11:11:03 -0400 Date: Mon, 31 Aug 2009 11:10:45 -0400 From: Christoph Hellwig To: Hugh Dickins Cc: Andrew Morton , Andi Kleen , Dave Hansen , Christoph Hellwig , Valerie Aurora , Al Viro , linux-kernel@vger.kernel.org Subject: Re: [PATCH mmotm] vfs: optimize touch_time too fix Message-ID: <20090831151045.GA23901@infradead.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 31, 2009 at 04:03:02PM +0100, Hugh Dickins wrote: > Recent mmotms give me WARNING: at fs/namespace.c:612 mntput_no_expire()+... > when unmounting: __mntput()'s WARN_ON(count_mnt_writers(mnt)). > > That's because vfs-optimize-touch_time-too.patch inverted the sense > of mnt_want_write_file(), which is error-returning, not a boolean. > > Presumably filetime updates went missing too, but I didn't notice those. > > Signed-off-by: Hugh Dickins > --- > > fs/inode.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- mmotm/fs/inode.c 2009-08-28 10:07:56.000000000 +0100 > +++ linux/fs/inode.c 2009-08-31 14:08:24.000000000 +0100 > @@ -1481,7 +1481,7 @@ void file_update_time(struct file *file) > return; > > /* Finally allowed to write? Takes lock. */ > - if (!mnt_want_write_file(file)) > + if (mnt_want_write_file(file)) Eeek. having an error return from a function called want_foo is rather strange. It's a name the implies a bolean return value.