freebsd-src/sbin
Stefan Eßer 077f757d72 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.

Approved by:	kib
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D45436
2024-06-02 14:07:52 +02:00
..
adjkerntz Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
bectl bectl(8): authors: Kyle Evans: fine-tune 2024-04-09 22:01:03 -06:00
bsdlabel bsdlabel: add BUGS section documenting 8 partition limit 2024-03-25 18:26:29 -04:00
camcontrol cam: Add a XPORT_NVMF for NVMe over Fabrics sims 2024-05-02 16:29:26 -07:00
ccdconfig ccdconfig: reference gpart rather than fdisk and disklabel 2024-03-22 14:51:15 -04:00
clri Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
comcontrol comcontrol(8): Grammar fix 2024-02-13 16:40:09 +08:00
conscontrol sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
ddb sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
decryptcore sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
devd devd: Add directory information 2024-03-06 18:38:59 -07:00
devfs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
devmatch devmatch: Convert command line flags to bools 2024-04-05 16:53:47 -06:00
dhclient dhclient: remove unused primary_address 2024-05-24 22:17:08 -06:00
dmesg dmesg(8): Fix typo timetamps -> timestamps 2024-02-13 16:42:49 +08:00
dump dump(8): Fix typo in comment 2024-02-13 12:30:30 +08:00
dumpfs Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
dumpon dumpon: fix set but not used variable 2024-04-18 11:39:16 -04:00
etherswitchcfg sbin: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
fdisk fdisk(8): Fix typo forth -> fourth 2024-02-13 15:17:48 +08:00
ffsinfo Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
fsck sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
fsck_ffs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
fsck_msdosfs fsck_msdosfs: do not call checksize() if the cluster is bad 2024-01-21 01:20:24 +02:00
fsdb sbin: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
fsirand Purge more stray embedded $FreeBSD$ strings 2023-09-25 07:54:56 -07:00
geom sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
ggate Remove cross-references to GBDE 2024-05-07 07:35:33 +00:00
growfs growfs(8): Grammar fix 2024-02-13 17:05:18 +08:00
gvinum gvinum(8): Fix a typo 2023-12-26 09:12:27 -07:00
hastctl sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
hastd sbin: Remove repeated words 2024-04-11 11:53:37 -06:00
ifconfig ifconfig: Redo fix vlan/vlanproto reconfiguration 2024-05-22 00:35:01 +08:00
init Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
ipf ipf: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) 2024-04-28 22:21:09 -06:00
ipfw ipfw: correctly report table manipulation errors 2024-05-09 20:08:18 -06:00
kldconfig sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
kldload Add kenv .Xr in kldload(8) and loader.conf(5) 2023-12-20 21:17:38 -07:00
kldstat sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
kldunload sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
ldconfig ldconfig: fix man-page - duplicate dot at end of sentence 2024-04-20 19:49:10 +02:00
md5 md5.1: Fix the GNU mode example when using a digest file 2024-03-12 15:44:48 +01:00
mdconfig mdconfig: remove the "cluster" option. 2024-06-01 17:31:04 -06:00
mdmfs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mknod man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mksnap_ffs Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
mount man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mount_cd9660 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mount_fusefs sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
mount_msdosfs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mount_nfs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mount_nullfs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
mount_udf Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mount_unionfs Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
natd Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
newfs Enable soft updates by default for UFS2 filesystems. 2024-05-14 22:40:01 -07:00
newfs_msdos newfs_msdos: align data area to VM page boundary by default 2024-06-02 14:07:52 +02:00
nfsiod Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
nos-tun Purge more stray embedded $FreeBSD$ strings 2023-09-25 07:54:56 -07:00
nvmecontrol nvmecontrol: Appease a meaningless signed error warning thing 2024-05-11 13:03:29 -06:00
pfctl pfctl: fix recursive printing of nat anchors 2024-05-28 22:29:28 +02:00
pfilctl pfilctl: fix 'pfilctl hooks' when nothing is connected 2024-03-28 14:10:15 -07:00
pflogd Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
pflowctl pflowctl: add missing break to case 's' 2024-02-01 17:03:12 -05:00
ping ping: Fix protocol selection with NOINET6 kernel. 2024-03-12 20:40:36 +01:00
quotacheck Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
rcorder rcorder(8): Fix grammar 2024-02-13 16:36:05 +08:00
reboot nextboot: Permit ZFS boot filesystems mounted at the pool's root 2024-05-30 05:44:55 -07:00
recoverdisk Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
resolvconf Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
restore Reduce reliance on sys/sysproto.h pollution 2024-04-15 21:35:40 +01:00
route route tests: Serialize 2024-01-27 13:51:14 -05:00
routed sbin: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
rtsol Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
savecore savecore(8): Complete libxo transition 2024-04-04 02:28:30 +08:00
setkey setkey: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) 2024-04-28 22:21:09 -06:00
shutdown Remove copyright strings ifdef'd out 2023-11-26 22:23:58 -07:00
swapon Remove gbde support from swapon(8) 2024-05-07 07:21:46 +00:00
sysctl sysctl(8): Fix typo in comment 2024-02-13 12:28:55 +08:00
tests Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
tunefs man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
umount umount: Support partitions & slices with -d option 2024-04-22 22:36:35 -06:00
veriexec veriexec(8): Fix typo 2024-02-13 16:11:30 +08:00
zfsbootcfg zfsbootcfg(8), zpool_influxdb(8): move to the zfs package 2024-04-22 23:04:03 -06:00
Makefile Disconnect GBDE from the build. (Per earlier announcements of retirement.) 2024-05-07 05:19:03 +00:00
Makefile.amd64 Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
Makefile.arm Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
Makefile.i386 Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
Makefile.inc sbin: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
Makefile.powerpc64 Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00