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

From: Jessica Clarke <jrtc27_at_freebsd.org>
Date: Mon, 03 Jun 2024 17:25:59 UTC
On 2 Jun 2024, at 13:27, Stefan Eßer <se@FreeBSD.org> wrote:
> 
> The branch main has been updated by se:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=077f757d72e561eb84193d8e58f63e96e69b8096
> 
> commit 077f757d72e561eb84193d8e58f63e96e69b8096
> Author:     Stefan Eßer <se@FreeBSD.org>
> AuthorDate: 2024-06-02 12:07:52 +0000
> Commit:     Stefan Eßer <se@FreeBSD.org>
> CommitDate: 2024-06-02 12:07:52 +0000
> 
>    newfs_msdos: align data area to VM page boundary by default
> 
>    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).
> 
>    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).
> 
>    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