On Fri, Jan 10, 2020 at 03:59:38AM -0800, Christoph Hellwig wrote: > On Thu, Jan 09, 2020 at 10:45:14AM -0800, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > > > Increase XFS_BLF_DATAMAP_SIZE by 1 to fill in the implied padding at the > > end of struct xfs_buf_log_format. This makes the size consistent so > > that we can check it in xfs_ondisk.h, and will be needed once we start > > logging attribute values. > > Isn't this an incompatible change in the on-disk format for 32-bit > systems? AFAICT it isn't, because log recovery reads the on-disk log op head to figure out the length of the log iovec, allocates that much memory for the log buf, reads in the contents, and then casts i_addr to xfs_buf_log_format. On the log writing side, the logging code takes the buffer item and writes out whatever's in the incore structure, assuming that the incore structure is actually large enough to cover data_map[map_size - 1]. (Someone else might want to check that to make sure I haven't gone mad from looking at the log code... :P) --D