From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 0/12] make ->sync_fs mandatory Date: Mon, 8 Jun 2009 10:02:52 +0200 Message-ID: <20090608080252.GA20735@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org To: viro@zeniv.linux.org.uk Return-path: Received: from verein.lst.de ([213.95.11.210]:33358 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753139AbZFHICv (ORCPT ); Mon, 8 Jun 2009 04:02:51 -0400 Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Currently the superblock methods are a bit confusing. There is the newer ->sync_fs method which is unconditionally called from __sync_filesystem for data integrity writebacks. And there is the older ->write_super which is called from pdflush for the periodic superblock writeback, but also from __sync_filesystem just before calling ->sync_fs. (And still from file_fsync, but that is about to go away). This series makes sure all filesystems that need superblock writeouts define a ->sync_fs so we can stop calling ->write_super for the data integrity writeback. This means the presence of ->write_super indicates a filesystem does want periodic superblock writeback and can implement these independently from the data integrity writeback. It also means we don't need to bother with possible s_dirt races for the data integrity syncs. This patch series first adds ->sync_fs methods to all filesystems having ->write_super, often refactoring the code in that are (and also preparing the ->write_super instances for moving MS_RDONLY checking into the caller), then it makes sure the existing ->sync_fs instaces cover the work previously done in ->write_super for the two cases where they differed widely, and lastly removes the call to ->write_super from __sync_filesystem.