From: Nick Piggin Subject: Re: [PATCH, RFC] add a vfs_fsync helper Date: Mon, 22 Dec 2008 14:00:55 +0100 Message-ID: <20081222130055.GF13406@wotan.suse.de> References: <20081222090357.GA27399@lst.de> <20081222123534.GE13406@wotan.suse.de> <20081222125622.GA3019@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: viro@zeniv.linux.org.uk, dbrownell@users.sourceforge.net, agl@us.ibm.com, ebiederm@xmission.com, linux-fsdevel@vger.kernel.org, ecryptfs-devel@lists.launchpad.net, jaharkes@cs.cmu.edu To: Christoph Hellwig Return-path: Received: from cantor2.suse.de ([195.135.220.15]:40962 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753330AbYLVNA7 (ORCPT ); Mon, 22 Dec 2008 08:00:59 -0500 Content-Disposition: inline In-Reply-To: <20081222125622.GA3019@lst.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Dec 22, 2008 at 01:56:22PM +0100, Christoph Hellwig wrote: > On Mon, Dec 22, 2008 at 01:35:34PM +0100, Nick Piggin wrote: > > Seems like an improvement.. I've wanted to know, though, what do > > we need i_mutex for? Is it just convention, or is there some good > > reason to have it in generic code? > > At least XFS doesn't need it. Same for the filemap_fdatawrite / > filemap_fdatawait which at least for filesystems that want to provide > integrity guarantees is in the wrong place. > > This patch is a first one out my work to refactor fsync, and I'm trying > to feed it to mainline in pieces. The next one will be to make sure OK, I gues that's fair enough. The generic pagecache layer as you know shouldn't require i_mutex... so long as you have a plan in mind to decouple that requirement from generic code I'm happy with it. > nfsd always has a struct file available when calling fsync, but I need > to do some extensive benchmarking. After that we can change the > fsync prototype to drop the dentry paramters, and move the > filemap_fdatawrite / filemap_fdatawait aswell as the i_mutex locking > into the actual methods. They all sound like good steps I think. Well I have no really helpful comments for your RFC except that I think it is a good idea. Probably some filesystem-side people should have a look at it...