Re: git: 077f757d72e5 - main - newfs_msdos: align data area to VM page boundary by default
Date: Mon, 03 Jun 2024 17:50:02 UTC
In message <6D077B35-48BA-4516-BAB7-0B23CD3AB042@freebsd.org>, Jessica Clarke w rites: > On 2 Jun 2024, at 13:27, Stefan E=C3=9Fer <se@FreeBSD.org> wrote: > >=20 > > The branch main has been updated by se: > >=20 > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3D077f757d72e561eb84193d8e58f63e96= > e69b8096 > >=20 > > commit 077f757d72e561eb84193d8e58f63e96e69b8096 > > Author: Stefan E=C3=9Fer <se@FreeBSD.org> > > AuthorDate: 2024-06-02 12:07:52 +0000 > > Commit: Stefan E=C3=9Fer <se@FreeBSD.org> > > CommitDate: 2024-06-02 12:07:52 +0000 > >=20 > > newfs_msdos: align data area to VM page boundary by default > >=20 > > Without alignment, the data area will not be aligned with the = > buffer > > cache, leading to overhead, higher write multiplication on SSD = > devices > > and issues with very large cluster sizes (see PR 277414). > >=20 > > The -A option used to align the start of the root directory to a > > multiple of the cluster size, which happens to align the start of = > the > > data area with a buffer page boundary in case of large clusters and > > the default number of directory entries (512 entries requiring 16 = > KB > > for FAT12 or FAT16, FAT32 puts the root directory into the data = > area). > >=20 > > This commit aligns the start of the data area with the page size, = > if > > neither -A nor -r is used. It changes -A to align the start of the > > data area (end of the root directory) to a multiple of the cluster > > size, since this is the alignment that prevents write = > multiplication > > due to clusters crossing erase block boundaries of a SSD device. > > The -r option is unchanged and will prevent any automatic alignment > > from occuring. > > Hi, > This has completely broken[1] all of the Linux and macOS cross-build CI > jobs (which pass -DWITH_DISK_IMAGE_TOOLS_BOOTSTRAP). Please either fix > this promptly or back it out until you can do so. > > Jess > > [1] See https://github.com/freebsd/freebsd-src/actions/runs/9338256762 > Because PAGE_SIZE is undefined during non-FreeBSD prebuild phase. -- Cheers, Cy Schubert <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org NTP: <cy@nwtime.org> Web: https://nwtime.org e^(i*pi)+1=0