From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH] Fix ext2 error reporting on fsync Date: Fri, 20 Jan 2006 13:33:20 -0800 Message-ID: <20060120133320.71bb0997.akpm@osdl.org> References: <20060111174302.GD16728@atrey.karlin.mff.cuni.cz> <20060112142656.GB14235@atrey.karlin.mff.cuni.cz> <20060112124717.6e242802.akpm@osdl.org> <200601122108.55103.mason@suse.com> <20060112181628.63c4bf39.akpm@osdl.org> <20060118224652.GA6434@atrey.karlin.mff.cuni.cz> <20060118150646.7514ba5f.akpm@osdl.org> <20060119122125.GA12563@atrey.karlin.mff.cuni.cz> <20060119131648.68d7c6eb.akpm@osdl.org> <20060120134118.GK668@atrey.karlin.mff.cuni.cz> <20060120132402.51ee5151.akpm@osdl.org> <20060120133100.500718e5.akpm@osdl.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from smtp.osdl.org ([65.172.181.4]:23950 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S1751162AbWATVdm (ORCPT ); Fri, 20 Jan 2006 16:33:42 -0500 To: jack@suse.cz, mason@suse.com, linux-fsdevel@vger.kernel.org In-Reply-To: <20060120133100.500718e5.akpm@osdl.org> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Andrew Morton wrote: > > Andrew Morton wrote: > > > > Another approach would be to allocate a new buffer_head which "belongs" to > > the address_space. So instead of doing: > > > > bh<->bh<->address_space<->bh<->bh > > > > we do: > > > > address_space > > ^ > > | > > v > > bh<->bh<->bh'<->bh<->bh > > > > and set a magic bit in bh' which says "this is not a real bh; your > > address_space is at *b_private". > > And if we do that, we can actually shrink the address_space by 2*sizeof(long): > 3*sizeof(long)! > - private_list can become `struct buffer_head *metadata_buffers' > > - and if we're going to abandon the address_space.private* genericity, we > can remove address_space.assoc_mapping and use a new > address_space->metadata_buffers->b_bdev->metadata_lock. - nuke address_space.assoc_mapping, too. Of course the cost is that written-to address_spaces will have an associated extra bh.