From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Subject: Re: [patch 4/7] fs: preserve inode dirty bits on failed metadata writeback Date: Tue, 30 Nov 2010 11:08:33 +1100 Message-ID: <20101130000833.GD3255@amd> References: <20101123140610.292941494@kernel.dk> <20101123140707.922192750@kernel.dk> <20101129145936.GC26076@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: npiggin@kernel.dk, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Christoph Hellwig Return-path: Content-Disposition: inline In-Reply-To: <20101129145936.GC26076@infradead.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Mon, Nov 29, 2010 at 09:59:37AM -0500, Christoph Hellwig wrote: > On Wed, Nov 24, 2010 at 01:06:14AM +1100, npiggin@kernel.dk wrote: > > Otherwise we think the inode is clean even if syncing failed. > > The patch itself looks fine, but I'm not sure it's enough. If we do > an synchronous writeout it could fail long after ->write_inode > has returned. Oh there are lots of holes in this buggy POS. Still more that I haven't fixed, even before you think about error cases. But, after a *successful* ->write_inode (whether sync or async), then the filesystem is not going to get any more, unless they mark the inode dirty again. I think that's fine, so long as the dirty buffers or whatever are properly synced at sync(2) / fsync(2) time.