Re: git: 077f757d72e5 - main - newfs_msdos: align data area to VM page boundary by default

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
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