From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Mon, 14 Dec 2020 10:46:52 +0000 Subject: [Cluster-devel] Recording extents in GFS2 In-Reply-To: References: Message-ID: <878be018-3ff8-5c7d-e5c6-db6513b6de1c@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, On 11/12/2020 16:38, Abhijith Das wrote: > Hi all, > > With a recent set of patches, we nearly eliminated the per_node statfs > change files by recording that info in the journal. The files and some > recovery code remain only for backward compatibility. Similarly, I'd > like to get rid of the per_node quota change files and record that > info in the journal as well. > > I've been talking to Andreas and Bob a bit about this and I'm > investigating how we can record extents as we allocate and deallocate > blocks instead of writing whole blocks. I'm looking into how XFS does > this. > > We could have a new journal block type that adds a list of extents to > inodes with alloc/dealloc info. We could add in quota (uid/gid) info > to this as well. If we can do this right, the representation of > alloc/dealloc becomes compact and consequently we use journal space > more efficiently. We can hopefully avoid cases where we need to zero > out blocks during allocation as well. > > I'm sending this out to start a discussion and to get ideas/comments/pointers. > > Cheers! > --Abhi > I think you need to propose something a bit more concrete. For example what will the data structures look like? How many entries will fit in a journal block at different block sizes? How will we ensure that this is backwards compatible? That will make it easier to have the discussions, Steve.