From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751240AbcB2VGV (ORCPT ); Mon, 29 Feb 2016 16:06:21 -0500 Received: from zeniv.linux.org.uk ([195.92.253.2]:55396 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750780AbcB2VGT (ORCPT ); Mon, 29 Feb 2016 16:06:19 -0500 Date: Mon, 29 Feb 2016 21:06:15 +0000 From: Al Viro To: Tejun Heo Cc: Tahsin Erdogan , Jan Kara , Jens Axboe , cgroups@vger.kernel.org, "Theodore Ts'o" , Nauman Rafique , linux-kernel@vger.kernel.org, Jan Kara Subject: Re: [PATCH block/for-linus] writeback: flush inode cgroup wb switches instead of pinning super_block Message-ID: <20160229210614.GC17997@ZenIV.linux.org.uk> References: <20160216182457.GO3741@mtj.duckdns.org> <20160217205721.GE14140@quack.suse.cz> <20160217210744.GA6479@mtj.duckdns.org> <20160217223009.GN14140@quack.suse.cz> <20160217230231.GC6479@mtj.duckdns.org> <20160229204724.GV3965@htj.duckdns.org> <20160229205428.GB17997@ZenIV.linux.org.uk> <20160229205837.GX3965@htj.duckdns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160229205837.GX3965@htj.duckdns.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 29, 2016 at 03:58:37PM -0500, Tejun Heo wrote: > On Mon, Feb 29, 2016 at 08:54:28PM +0000, Al Viro wrote: > > > This patch removes the problematic super_block pinning and instead > > > makes generic_shutdown_super() flush in-flight wb switches. wb > > > switches are now executed on a dedicated isw_wq so that they can be > > > flushed and isw_nr_in_flight keeps track of the number of in-flight wb > > > switches so that flushing can be avoided in most cases. > > > > Wait a bloody minute. What's to prevent shrink_dcache_for_umount() from > > dirtying more inodes, triggering more of the same? > > Hmmm? The flushing is done after shrink_dcache_for_umount() and > sync_filesystems(). Aren't inodes supposed to stay clean after that? s/shrink_dcache_for_umount/fsnotify_unmount_inodes/ - sorry.