summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-40/man8
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/fedora-40/man8
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/fedora-40/man8')
-rw-r--r--upstream/fedora-40/man8/accton.861
-rw-r--r--upstream/fedora-40/man8/anacron.8217
-rw-r--r--upstream/fedora-40/man8/applydeltarpm.878
-rw-r--r--upstream/fedora-40/man8/arp.8228
-rw-r--r--upstream/fedora-40/man8/arpd.869
-rw-r--r--upstream/fedora-40/man8/arping.8155
-rw-r--r--upstream/fedora-40/man8/atd.886
-rw-r--r--upstream/fedora-40/man8/atrun.823
-rw-r--r--upstream/fedora-40/man8/badblocks.8234
-rw-r--r--upstream/fedora-40/man8/blkmapd.872
-rw-r--r--upstream/fedora-40/man8/bridge.81535
-rw-r--r--upstream/fedora-40/man8/btrfs-balance.8584
-rw-r--r--upstream/fedora-40/man8/btrfs-check.8230
-rw-r--r--upstream/fedora-40/man8/btrfs-convert.8253
-rw-r--r--upstream/fedora-40/man8/btrfs-device.8484
-rw-r--r--upstream/fedora-40/man8/btrfs-filesystem.8651
-rw-r--r--upstream/fedora-40/man8/btrfs-find-root.863
-rw-r--r--upstream/fedora-40/man8/btrfs-image.890
-rw-r--r--upstream/fedora-40/man8/btrfs-inspect-internal.8336
-rw-r--r--upstream/fedora-40/man8/btrfs-map-logical.865
-rw-r--r--upstream/fedora-40/man8/btrfs-property.8180
-rw-r--r--upstream/fedora-40/man8/btrfs-qgroup.8316
-rw-r--r--upstream/fedora-40/man8/btrfs-quota.8379
-rw-r--r--upstream/fedora-40/man8/btrfs-receive.8159
-rw-r--r--upstream/fedora-40/man8/btrfs-replace.8179
-rw-r--r--upstream/fedora-40/man8/btrfs-rescue.8195
-rw-r--r--upstream/fedora-40/man8/btrfs-restore.8147
-rw-r--r--upstream/fedora-40/man8/btrfs-scrub.8398
-rw-r--r--upstream/fedora-40/man8/btrfs-select-super.880
-rw-r--r--upstream/fedora-40/man8/btrfs-send.8146
-rw-r--r--upstream/fedora-40/man8/btrfs-subvolume.8573
-rw-r--r--upstream/fedora-40/man8/btrfs.8223
-rw-r--r--upstream/fedora-40/man8/btrfstune.8178
-rw-r--r--upstream/fedora-40/man8/chat.8514
-rw-r--r--upstream/fedora-40/man8/clockdiff.8112
-rw-r--r--upstream/fedora-40/man8/combinedeltarpm.852
-rw-r--r--upstream/fedora-40/man8/cons.saver.832
-rw-r--r--upstream/fedora-40/man8/convertquota.873
-rw-r--r--upstream/fedora-40/man8/cron.8285
-rw-r--r--upstream/fedora-40/man8/dcb-app.8269
-rw-r--r--upstream/fedora-40/man8/dcb-apptrust.8110
-rw-r--r--upstream/fedora-40/man8/dcb-buffer.8126
-rw-r--r--upstream/fedora-40/man8/dcb-dcbx.8108
-rw-r--r--upstream/fedora-40/man8/dcb-ets.8194
-rw-r--r--upstream/fedora-40/man8/dcb-maxrate.894
-rw-r--r--upstream/fedora-40/man8/dcb-pfc.8127
-rw-r--r--upstream/fedora-40/man8/dcb-rewr.8206
-rw-r--r--upstream/fedora-40/man8/dcb.8158
-rw-r--r--upstream/fedora-40/man8/debugfs.8880
-rw-r--r--upstream/fedora-40/man8/depmod.8185
-rw-r--r--upstream/fedora-40/man8/devlink-dev.8354
-rw-r--r--upstream/fedora-40/man8/devlink-dpipe.899
-rw-r--r--upstream/fedora-40/man8/devlink-health.8256
-rw-r--r--upstream/fedora-40/man8/devlink-lc.8101
-rw-r--r--upstream/fedora-40/man8/devlink-monitor.839
-rw-r--r--upstream/fedora-40/man8/devlink-port.8417
-rw-r--r--upstream/fedora-40/man8/devlink-rate.8292
-rw-r--r--upstream/fedora-40/man8/devlink-region.8156
-rw-r--r--upstream/fedora-40/man8/devlink-resource.879
-rw-r--r--upstream/fedora-40/man8/devlink-sb.8324
-rw-r--r--upstream/fedora-40/man8/devlink-trap.8195
-rw-r--r--upstream/fedora-40/man8/devlink.8147
-rw-r--r--upstream/fedora-40/man8/dnf-builddep.8100
-rw-r--r--upstream/fedora-40/man8/dnf-changelog.8101
-rw-r--r--upstream/fedora-40/man8/dnf-config-manager.8122
-rw-r--r--upstream/fedora-40/man8/dnf-copr.8160
-rw-r--r--upstream/fedora-40/man8/dnf-debug.8107
-rw-r--r--upstream/fedora-40/man8/dnf-debuginfo-install.878
-rw-r--r--upstream/fedora-40/man8/dnf-download.8109
-rw-r--r--upstream/fedora-40/man8/dnf-generate_completion_cache.840
-rw-r--r--upstream/fedora-40/man8/dnf-groups-manager.8105
-rw-r--r--upstream/fedora-40/man8/dnf-needs-restarting.885
-rw-r--r--upstream/fedora-40/man8/dnf-repoclosure.8120
-rw-r--r--upstream/fedora-40/man8/dnf-repodiff.8109
-rw-r--r--upstream/fedora-40/man8/dnf-repograph.892
-rw-r--r--upstream/fedora-40/man8/dnf-repomanage.8112
-rw-r--r--upstream/fedora-40/man8/dnf-reposync.8116
-rw-r--r--upstream/fedora-40/man8/dnf-system-upgrade.8209
-rw-r--r--upstream/fedora-40/man8/dump-acct.853
-rw-r--r--upstream/fedora-40/man8/dump-utmp.829
-rw-r--r--upstream/fedora-40/man8/dumpe2fs.8115
-rw-r--r--upstream/fedora-40/man8/e2freefrag.896
-rw-r--r--upstream/fedora-40/man8/e2fsck.8509
-rw-r--r--upstream/fedora-40/man8/e2image.8335
-rw-r--r--upstream/fedora-40/man8/e2label.858
-rw-r--r--upstream/fedora-40/man8/e2mmpstatus.859
-rw-r--r--upstream/fedora-40/man8/e2undo.884
-rw-r--r--upstream/fedora-40/man8/e4crypt.874
-rw-r--r--upstream/fedora-40/man8/e4defrag.890
-rw-r--r--upstream/fedora-40/man8/editmap.sendmail.8110
-rw-r--r--upstream/fedora-40/man8/edquota.8192
-rw-r--r--upstream/fedora-40/man8/ether-wake.881
-rw-r--r--upstream/fedora-40/man8/exportfs.8337
-rw-r--r--upstream/fedora-40/man8/fatlabel.8172
-rw-r--r--upstream/fedora-40/man8/filefrag.877
-rw-r--r--upstream/fedora-40/man8/fsck.btrfs.874
-rw-r--r--upstream/fedora-40/man8/fsck.ext2.8509
-rw-r--r--upstream/fedora-40/man8/fsck.ext3.8509
-rw-r--r--upstream/fedora-40/man8/fsck.ext4.8509
-rw-r--r--upstream/fedora-40/man8/fsck.fat.8272
-rw-r--r--upstream/fedora-40/man8/fsck.xfs.838
-rw-r--r--upstream/fedora-40/man8/genl.877
-rw-r--r--upstream/fedora-40/man8/getkeycodes.816
-rw-r--r--upstream/fedora-40/man8/gpm.8360
-rw-r--r--upstream/fedora-40/man8/grub2-bios-setup.875
-rw-r--r--upstream/fedora-40/man8/grub2-install.8168
-rw-r--r--upstream/fedora-40/man8/grub2-mkconfig.837
-rw-r--r--upstream/fedora-40/man8/grub2-probe.862
-rw-r--r--upstream/fedora-40/man8/grub2-reboot.844
-rw-r--r--upstream/fedora-40/man8/grub2-set-default.839
-rw-r--r--upstream/fedora-40/man8/grub2-set-password.854
-rw-r--r--upstream/fedora-40/man8/grub2-switch-to-blscfg.842
-rw-r--r--upstream/fedora-40/man8/gssd.8408
-rw-r--r--upstream/fedora-40/man8/hdparm.8914
-rw-r--r--upstream/fedora-40/man8/iconvconfig.892
-rw-r--r--upstream/fedora-40/man8/idmapd.8134
-rw-r--r--upstream/fedora-40/man8/ifconfig.8251
-rw-r--r--upstream/fedora-40/man8/ifenslave.868
-rw-r--r--upstream/fedora-40/man8/ifstat.877
-rw-r--r--upstream/fedora-40/man8/in.ntalkd.886
-rw-r--r--upstream/fedora-40/man8/insmod.865
-rw-r--r--upstream/fedora-40/man8/intro.829
-rw-r--r--upstream/fedora-40/man8/ip-address.8513
-rw-r--r--upstream/fedora-40/man8/ip-addrlabel.856
-rw-r--r--upstream/fedora-40/man8/ip-fou.8126
-rw-r--r--upstream/fedora-40/man8/ip-ioam.872
-rw-r--r--upstream/fedora-40/man8/ip-l2tp.8412
-rw-r--r--upstream/fedora-40/man8/ip-link.82981
-rw-r--r--upstream/fedora-40/man8/ip-macsec.8186
-rw-r--r--upstream/fedora-40/man8/ip-maddress.859
-rw-r--r--upstream/fedora-40/man8/ip-monitor.8133
-rw-r--r--upstream/fedora-40/man8/ip-mptcp.8235
-rw-r--r--upstream/fedora-40/man8/ip-mroute.858
-rw-r--r--upstream/fedora-40/man8/ip-neighbour.8303
-rw-r--r--upstream/fedora-40/man8/ip-netconf.836
-rw-r--r--upstream/fedora-40/man8/ip-netns.8271
-rw-r--r--upstream/fedora-40/man8/ip-nexthop.8327
-rw-r--r--upstream/fedora-40/man8/ip-ntable.8106
-rw-r--r--upstream/fedora-40/man8/ip-route.81411
-rw-r--r--upstream/fedora-40/man8/ip-rule.8358
-rw-r--r--upstream/fedora-40/man8/ip-sr.858
-rw-r--r--upstream/fedora-40/man8/ip-stats.8208
-rw-r--r--upstream/fedora-40/man8/ip-tcp_metrics.8143
-rw-r--r--upstream/fedora-40/man8/ip-token.875
-rw-r--r--upstream/fedora-40/man8/ip-tunnel.8281
-rw-r--r--upstream/fedora-40/man8/ip-vrf.8139
-rw-r--r--upstream/fedora-40/man8/ip-xfrm.8775
-rw-r--r--upstream/fedora-40/man8/ip.8445
-rw-r--r--upstream/fedora-40/man8/ipmaddr.834
-rw-r--r--upstream/fedora-40/man8/iptraf-ng.898
-rw-r--r--upstream/fedora-40/man8/iptunnel.841
-rw-r--r--upstream/fedora-40/man8/kbdrate.871
-rw-r--r--upstream/fedora-40/man8/kernel-install.8837
-rw-r--r--upstream/fedora-40/man8/kmod.882
-rw-r--r--upstream/fedora-40/man8/ld.so.8930
-rw-r--r--upstream/fedora-40/man8/ldconfig.8204
-rw-r--r--upstream/fedora-40/man8/lnstat.8262
-rw-r--r--upstream/fedora-40/man8/loadunimap.858
-rw-r--r--upstream/fedora-40/man8/logrotate.8787
-rw-r--r--upstream/fedora-40/man8/logsave.861
-rw-r--r--upstream/fedora-40/man8/lsmod.859
-rw-r--r--upstream/fedora-40/man8/lspci.8371
-rw-r--r--upstream/fedora-40/man8/lsusb.866
-rw-r--r--upstream/fedora-40/man8/mailstats.8118
-rw-r--r--upstream/fedora-40/man8/makedeltarpm.8101
-rw-r--r--upstream/fedora-40/man8/makemap.sendmail.8188
-rw-r--r--upstream/fedora-40/man8/makepkg.8611
-rw-r--r--upstream/fedora-40/man8/mapscrn.8118
-rw-r--r--upstream/fedora-40/man8/mii-diag.8160
-rw-r--r--upstream/fedora-40/man8/mii-tool.8111
-rw-r--r--upstream/fedora-40/man8/mingetty.8118
-rw-r--r--upstream/fedora-40/man8/mke2fs.8891
-rw-r--r--upstream/fedora-40/man8/mkfs.btrfs.81014
-rw-r--r--upstream/fedora-40/man8/mkfs.ext2.8891
-rw-r--r--upstream/fedora-40/man8/mkfs.ext3.8891
-rw-r--r--upstream/fedora-40/man8/mkfs.ext4.8891
-rw-r--r--upstream/fedora-40/man8/mkfs.fat.8254
-rw-r--r--upstream/fedora-40/man8/mkfs.xfs.81147
-rw-r--r--upstream/fedora-40/man8/mklost+found.843
-rw-r--r--upstream/fedora-40/man8/modinfo.8129
-rw-r--r--upstream/fedora-40/man8/modprobe.8297
-rw-r--r--upstream/fedora-40/man8/mount.nfs.893
-rw-r--r--upstream/fedora-40/man8/mountd.8332
-rw-r--r--upstream/fedora-40/man8/mountstats.8151
-rw-r--r--upstream/fedora-40/man8/nameif.846
-rw-r--r--upstream/fedora-40/man8/netstat.8530
-rw-r--r--upstream/fedora-40/man8/nfsconf.8120
-rw-r--r--upstream/fedora-40/man8/nfsd.8203
-rw-r--r--upstream/fedora-40/man8/nfsdcld.8221
-rw-r--r--upstream/fedora-40/man8/nfsdclddb.883
-rw-r--r--upstream/fedora-40/man8/nfsdclnts.8180
-rw-r--r--upstream/fedora-40/man8/nfsdcltrack.8112
-rw-r--r--upstream/fedora-40/man8/nfsidmap.8159
-rw-r--r--upstream/fedora-40/man8/nfsiostat.8141
-rw-r--r--upstream/fedora-40/man8/nfsref.8182
-rw-r--r--upstream/fedora-40/man8/nfsstat.8173
-rw-r--r--upstream/fedora-40/man8/nscd.884
-rw-r--r--upstream/fedora-40/man8/nss-myhostname.8181
-rw-r--r--upstream/fedora-40/man8/nss-mymachines.8140
-rw-r--r--upstream/fedora-40/man8/nss-resolve.8174
-rw-r--r--upstream/fedora-40/man8/nss-systemd.8234
-rw-r--r--upstream/fedora-40/man8/pacman-conf.8225
-rw-r--r--upstream/fedora-40/man8/pacman-key.8321
-rw-r--r--upstream/fedora-40/man8/pacman.8787
-rw-r--r--upstream/fedora-40/man8/pam_systemd.8427
-rw-r--r--upstream/fedora-40/man8/pam_systemd_home.8150
-rw-r--r--upstream/fedora-40/man8/pam_systemd_loadkey.899
-rw-r--r--upstream/fedora-40/man8/parted.8166
-rw-r--r--upstream/fedora-40/man8/partprobe.855
-rw-r--r--upstream/fedora-40/man8/ping.8551
-rw-r--r--upstream/fedora-40/man8/plipconfig.853
-rw-r--r--upstream/fedora-40/man8/poweroff.8139
-rw-r--r--upstream/fedora-40/man8/ppp-watch.823
-rw-r--r--upstream/fedora-40/man8/pppd-radattr.844
-rw-r--r--upstream/fedora-40/man8/pppd-radius.867
-rw-r--r--upstream/fedora-40/man8/pppd.82113
-rw-r--r--upstream/fedora-40/man8/pppdump.867
-rw-r--r--upstream/fedora-40/man8/pppoe-discovery.886
-rw-r--r--upstream/fedora-40/man8/pppstats.8222
-rw-r--r--upstream/fedora-40/man8/praliases.857
-rw-r--r--upstream/fedora-40/man8/quotacheck.8197
-rw-r--r--upstream/fedora-40/man8/quotaon.8224
-rw-r--r--upstream/fedora-40/man8/quotastats.841
-rw-r--r--upstream/fedora-40/man8/rdma-dev.898
-rw-r--r--upstream/fedora-40/man8/rdma-link.8104
-rw-r--r--upstream/fedora-40/man8/rdma-resource.8125
-rw-r--r--upstream/fedora-40/man8/rdma-statistic.8255
-rw-r--r--upstream/fedora-40/man8/rdma-system.8108
-rw-r--r--upstream/fedora-40/man8/rdma.8145
-rw-r--r--upstream/fedora-40/man8/repo-add.8231
-rw-r--r--upstream/fedora-40/man8/repquota.8177
-rw-r--r--upstream/fedora-40/man8/resize2fs.8181
-rw-r--r--upstream/fedora-40/man8/resizecons.870
-rw-r--r--upstream/fedora-40/man8/rmail.sendmail.861
-rw-r--r--upstream/fedora-40/man8/rmmod.887
-rw-r--r--upstream/fedora-40/man8/route.8347
-rw-r--r--upstream/fedora-40/man8/routel.833
-rw-r--r--upstream/fedora-40/man8/rpcctl.867
-rw-r--r--upstream/fedora-40/man8/rpcdebug.888
-rw-r--r--upstream/fedora-40/man8/rtacct.861
-rw-r--r--upstream/fedora-40/man8/rtmon.868
-rw-r--r--upstream/fedora-40/man8/runlevel.8130
-rw-r--r--upstream/fedora-40/man8/rwhod.8160
-rw-r--r--upstream/fedora-40/man8/sa.8425
-rw-r--r--upstream/fedora-40/man8/sa1.891
-rw-r--r--upstream/fedora-40/man8/sa2.856
-rw-r--r--upstream/fedora-40/man8/sadc.8205
-rw-r--r--upstream/fedora-40/man8/saned.8535
-rw-r--r--upstream/fedora-40/man8/sendmail.sendmail.8759
-rw-r--r--upstream/fedora-40/man8/setfont.8277
-rw-r--r--upstream/fedora-40/man8/setkeycodes.879
-rw-r--r--upstream/fedora-40/man8/setpci.8191
-rw-r--r--upstream/fedora-40/man8/setquota.8234
-rw-r--r--upstream/fedora-40/man8/setvtrgb.875
-rw-r--r--upstream/fedora-40/man8/sftp-server.8177
-rw-r--r--upstream/fedora-40/man8/showconsolefont.834
-rw-r--r--upstream/fedora-40/man8/showmount.865
-rw-r--r--upstream/fedora-40/man8/shutdown.8126
-rw-r--r--upstream/fedora-40/man8/slattach.8101
-rw-r--r--upstream/fedora-40/man8/sln.844
-rw-r--r--upstream/fedora-40/man8/sm-notify.8366
-rw-r--r--upstream/fedora-40/man8/smrsh.885
-rw-r--r--upstream/fedora-40/man8/ss.8600
-rw-r--r--upstream/fedora-40/man8/ssh-pkcs11-helper.871
-rw-r--r--upstream/fedora-40/man8/ssh-sk-helper.871
-rw-r--r--upstream/fedora-40/man8/sshd.81057
-rw-r--r--upstream/fedora-40/man8/statd.8451
-rw-r--r--upstream/fedora-40/man8/systemd-ask-password-console.service.862
-rw-r--r--upstream/fedora-40/man8/systemd-backlight@.service.858
-rw-r--r--upstream/fedora-40/man8/systemd-battery-check.service.868
-rw-r--r--upstream/fedora-40/man8/systemd-binfmt.service.874
-rw-r--r--upstream/fedora-40/man8/systemd-bless-boot-generator.842
-rw-r--r--upstream/fedora-40/man8/systemd-bless-boot.service.8119
-rw-r--r--upstream/fedora-40/man8/systemd-boot-check-no-failures.service.840
-rw-r--r--upstream/fedora-40/man8/systemd-boot-random-seed.service.8114
-rw-r--r--upstream/fedora-40/man8/systemd-bsod.service.861
-rw-r--r--upstream/fedora-40/man8/systemd-coredump.8502
-rw-r--r--upstream/fedora-40/man8/systemd-cryptsetup-generator.8231
-rw-r--r--upstream/fedora-40/man8/systemd-cryptsetup.8157
-rw-r--r--upstream/fedora-40/man8/systemd-debug-generator.881
-rw-r--r--upstream/fedora-40/man8/systemd-environment-d-generator.842
-rw-r--r--upstream/fedora-40/man8/systemd-fsck@.service.8129
-rw-r--r--upstream/fedora-40/man8/systemd-fstab-generator.8372
-rw-r--r--upstream/fedora-40/man8/systemd-getty-generator.8111
-rw-r--r--upstream/fedora-40/man8/systemd-gpt-auto-generator.8367
-rw-r--r--upstream/fedora-40/man8/systemd-hibernate-resume-generator.882
-rw-r--r--upstream/fedora-40/man8/systemd-hibernate-resume.service.849
-rw-r--r--upstream/fedora-40/man8/systemd-homed.service.8116
-rw-r--r--upstream/fedora-40/man8/systemd-hostnamed.service.8118
-rw-r--r--upstream/fedora-40/man8/systemd-hwdb.868
-rw-r--r--upstream/fedora-40/man8/systemd-importd.service.854
-rw-r--r--upstream/fedora-40/man8/systemd-initctl.service.841
-rw-r--r--upstream/fedora-40/man8/systemd-integritysetup-generator.843
-rw-r--r--upstream/fedora-40/man8/systemd-integritysetup@.service.888
-rw-r--r--upstream/fedora-40/man8/systemd-journal-gatewayd.service.8333
-rw-r--r--upstream/fedora-40/man8/systemd-journal-remote.service.8353
-rw-r--r--upstream/fedora-40/man8/systemd-journal-upload.service.8288
-rw-r--r--upstream/fedora-40/man8/systemd-journald.service.8412
-rw-r--r--upstream/fedora-40/man8/systemd-localed.service.851
-rw-r--r--upstream/fedora-40/man8/systemd-logind.service.8213
-rw-r--r--upstream/fedora-40/man8/systemd-machine-id-commit.service.859
-rw-r--r--upstream/fedora-40/man8/systemd-machined.service.8206
-rw-r--r--upstream/fedora-40/man8/systemd-makefs@.service.884
-rw-r--r--upstream/fedora-40/man8/systemd-modules-load.service.858
-rw-r--r--upstream/fedora-40/man8/systemd-network-generator.service.898
-rw-r--r--upstream/fedora-40/man8/systemd-networkd-wait-online.service.8191
-rw-r--r--upstream/fedora-40/man8/systemd-networkd.service.887
-rw-r--r--upstream/fedora-40/man8/systemd-oomd.service.8146
-rw-r--r--upstream/fedora-40/man8/systemd-pcrlock.8537
-rw-r--r--upstream/fedora-40/man8/systemd-pcrphase.service.8293
-rw-r--r--upstream/fedora-40/man8/systemd-portabled.service.852
-rw-r--r--upstream/fedora-40/man8/systemd-poweroff.service.893
-rw-r--r--upstream/fedora-40/man8/systemd-pstore.service.892
-rw-r--r--upstream/fedora-40/man8/systemd-quotacheck.service.856
-rw-r--r--upstream/fedora-40/man8/systemd-random-seed.service.886
-rw-r--r--upstream/fedora-40/man8/systemd-rc-local-generator.874
-rw-r--r--upstream/fedora-40/man8/systemd-remount-fs.service.871
-rw-r--r--upstream/fedora-40/man8/systemd-repart.8740
-rw-r--r--upstream/fedora-40/man8/systemd-resolved.service.8800
-rw-r--r--upstream/fedora-40/man8/systemd-rfkill.service.851
-rw-r--r--upstream/fedora-40/man8/systemd-run-generator.889
-rw-r--r--upstream/fedora-40/man8/systemd-socket-proxyd.8238
-rw-r--r--upstream/fedora-40/man8/systemd-soft-reboot.service.8305
-rw-r--r--upstream/fedora-40/man8/systemd-storagetm.service.889
-rw-r--r--upstream/fedora-40/man8/systemd-suspend.service.8130
-rw-r--r--upstream/fedora-40/man8/systemd-sysctl.service.8184
-rw-r--r--upstream/fedora-40/man8/systemd-sysext.8451
-rw-r--r--upstream/fedora-40/man8/systemd-system-update-generator.844
-rw-r--r--upstream/fedora-40/man8/systemd-sysupdate.8292
-rw-r--r--upstream/fedora-40/man8/systemd-sysusers.8243
-rw-r--r--upstream/fedora-40/man8/systemd-sysv-generator.883
-rw-r--r--upstream/fedora-40/man8/systemd-time-wait-sync.service.857
-rw-r--r--upstream/fedora-40/man8/systemd-timedated.service.8154
-rw-r--r--upstream/fedora-40/man8/systemd-timesyncd.service.8111
-rw-r--r--upstream/fedora-40/man8/systemd-tmpfiles.8517
-rw-r--r--upstream/fedora-40/man8/systemd-tpm2-setup.service.872
-rw-r--r--upstream/fedora-40/man8/systemd-udev-settle.service.842
-rw-r--r--upstream/fedora-40/man8/systemd-udevd.service.8268
-rw-r--r--upstream/fedora-40/man8/systemd-update-done.service.881
-rw-r--r--upstream/fedora-40/man8/systemd-update-utmp.service.841
-rw-r--r--upstream/fedora-40/man8/systemd-user-sessions.service.840
-rw-r--r--upstream/fedora-40/man8/systemd-userdbd.service.895
-rw-r--r--upstream/fedora-40/man8/systemd-vconsole-setup.service.899
-rw-r--r--upstream/fedora-40/man8/systemd-veritysetup-generator.8119
-rw-r--r--upstream/fedora-40/man8/systemd-veritysetup@.service.889
-rw-r--r--upstream/fedora-40/man8/systemd-volatile-root.service.850
-rw-r--r--upstream/fedora-40/man8/systemd-xdg-autostart-generator.8119
-rw-r--r--upstream/fedora-40/man8/telinit.8101
-rw-r--r--upstream/fedora-40/man8/tipc-bearer.8250
-rw-r--r--upstream/fedora-40/man8/tipc-link.8383
-rw-r--r--upstream/fedora-40/man8/tipc-media.887
-rw-r--r--upstream/fedora-40/man8/tipc-nametable.8110
-rw-r--r--upstream/fedora-40/man8/tipc-node.872
-rw-r--r--upstream/fedora-40/man8/tipc-peer.852
-rw-r--r--upstream/fedora-40/man8/tipc-socket.859
-rw-r--r--upstream/fedora-40/man8/tipc.8109
-rw-r--r--upstream/fedora-40/man8/tracepath.8221
-rw-r--r--upstream/fedora-40/man8/traceroute.8629
-rw-r--r--upstream/fedora-40/man8/tune2fs.8849
-rw-r--r--upstream/fedora-40/man8/tzselect.8125
-rw-r--r--upstream/fedora-40/man8/udevadm.8994
-rw-r--r--upstream/fedora-40/man8/umount.nfs.870
-rw-r--r--upstream/fedora-40/man8/update-pciids.838
-rw-r--r--upstream/fedora-40/man8/updatedb.8205
-rw-r--r--upstream/fedora-40/man8/usbhid-dump.8102
-rw-r--r--upstream/fedora-40/man8/uucico.8271
-rw-r--r--upstream/fedora-40/man8/uuxqt.885
-rw-r--r--upstream/fedora-40/man8/vdpa-dev.8181
-rw-r--r--upstream/fedora-40/man8/vdpa-mgmtdev.853
-rw-r--r--upstream/fedora-40/man8/vdpa.876
-rw-r--r--upstream/fedora-40/man8/vercmp.8287
-rw-r--r--upstream/fedora-40/man8/xfs_admin.8199
-rw-r--r--upstream/fedora-40/man8/xfs_bmap.8101
-rw-r--r--upstream/fedora-40/man8/xfs_copy.8151
-rw-r--r--upstream/fedora-40/man8/xfs_db.82402
-rw-r--r--upstream/fedora-40/man8/xfs_estimate.8105
-rw-r--r--upstream/fedora-40/man8/xfs_freeze.883
-rw-r--r--upstream/fedora-40/man8/xfs_fsr.8187
-rw-r--r--upstream/fedora-40/man8/xfs_growfs.8170
-rw-r--r--upstream/fedora-40/man8/xfs_info.897
-rw-r--r--upstream/fedora-40/man8/xfs_io.81527
-rw-r--r--upstream/fedora-40/man8/xfs_logprint.8108
-rw-r--r--upstream/fedora-40/man8/xfs_mdrestore.864
-rw-r--r--upstream/fedora-40/man8/xfs_metadump.8172
-rw-r--r--upstream/fedora-40/man8/xfs_mkfile.843
-rw-r--r--upstream/fedora-40/man8/xfs_ncheck.874
-rw-r--r--upstream/fedora-40/man8/xfs_quota.8779
-rw-r--r--upstream/fedora-40/man8/xfs_repair.8601
-rw-r--r--upstream/fedora-40/man8/xfs_rtcp.853
-rw-r--r--upstream/fedora-40/man8/xfs_spaceman.8214
-rw-r--r--upstream/fedora-40/man8/xqmstats.838
-rw-r--r--upstream/fedora-40/man8/yum-copr.8160
-rw-r--r--upstream/fedora-40/man8/zdump.8231
-rw-r--r--upstream/fedora-40/man8/zic.8903
394 files changed, 90807 insertions, 0 deletions
diff --git a/upstream/fedora-40/man8/accton.8 b/upstream/fedora-40/man8/accton.8
new file mode 100644
index 00000000..bd7af5ef
--- /dev/null
+++ b/upstream/fedora-40/man8/accton.8
@@ -0,0 +1,61 @@
+.TH ACCTON 8 "2008 November 24"
+.SH NAME
+accton \- turns process accounting on or off
+.SH SYNOPSIS
+.hy 0
+.na
+.TP
+.B accton
+.RI [\| OPTION \|]
+.RB on \||\| off \||\| filename
+.TP
+.B accton
+[
+.B \-V
+|
+.B \-\-version
+]
+[
+.B \-h
+|
+.B \-\-help
+]
+.SH DESCRIPTION
+.LP
+.B accton
+.I filename
+turns on process accounting.
+.SH OPTIONS
+.PD 0
+.TP
+.TP
+.B \-V, \-\-version
+Print the version number of
+.B ac
+to standard output and quit.
+.TP
+.B \-h, \-\-help
+Prints the usage string and default locations of system files to
+standard output and exits.
+.TP
+.B on
+Turns on process accounting using the default accounting file name.
+.TP
+.B off
+Turns off process accounting.
+.SH FILES
+.TP
+.I acct
+The system wide process accounting file. See
+.BR acct (5)
+(or
+.BR pacct (5))
+for further details.
+.LP
+.SH AUTHOR
+The GNU accounting utilities were written by Noel Cragg
+<noel@gnu.ai.mit.edu>. The man page was adapted from the accounting
+texinfo page by Susan Kleinmann <sgk@sgk.tiac.net>.
+.SH "SEE ALSO"
+.BR acct (5),
+.BR ac (1)
diff --git a/upstream/fedora-40/man8/anacron.8 b/upstream/fedora-40/man8/anacron.8
new file mode 100644
index 00000000..cafe6d50
--- /dev/null
+++ b/upstream/fedora-40/man8/anacron.8
@@ -0,0 +1,217 @@
+.TH ANACRON 8 2012-11-22 "cronie" "System Administration"
+.SH NAME
+anacron \- runs commands periodically
+.SH SYNOPSIS
+.B anacron \fR[\fB-s\fR] [\fB-f\fR] [\fB-n\fR] [\fB-d\fR] [\fB-q\fR]
+[\fB-t anacrontab\fR] [\fB-S spooldir\fR] [\fIjob\fR]
+.br
+.B anacron \fR[\fB-S spooldir\fR] -u [\fB-t anacrontab\fR] \fR[\fIjob\fR]
+.br
+.B anacron \fR[\fB-V\fR|\fB-h\fR]
+.br
+.B anacron -T \fR[\fB-t anacrontab\fR]
+.SH DESCRIPTION
+.B Anacron
+is used to execute commands periodically, with a frequency specified in
+days. Unlike
+.BR cron(8) ,
+it does not assume that the machine is running continuously. Hence, it
+can be used on machines that are not running 24 hours a day to control
+regular jobs as daily, weekly, and monthly jobs.
+.PP
+Anacron reads a list of jobs from the
+.I /etc/anacrontab
+configuration file (see
+.BR anacrontab (5)).
+This file contains the list of jobs that Anacron controls. Each job
+entry specifies a period in days, a delay in minutes, a unique job
+identifier, and a shell command.
+.PP
+For each job, Anacron checks whether this job has been executed in the
+last
+.B n
+days, where
+.B n
+is the time period specified for that job. If a job has not been
+executed in
+.B n
+days or more, Anacron runs the job's shell command, after waiting for the
+number of minutes specified as the delay parameter.
+.PP
+After the command exits, Anacron records the date (excludes the hour) in
+a special timestamp file for that job, so it knows when to execute that
+job again.
+.PP
+When there are no more jobs to be run, Anacron exits.
+.PP
+Anacron only considers jobs whose identifier, as specified in
+.BR anacrontab (5),
+matches any of the
+.I job
+command-line arguments. The
+.I job
+command-line arguments can be represented by shell wildcard patterns (be
+sure to protect them from your shell with adequate quoting). Specifying
+no
+.I job
+command-line arguments is equivalent to specifying "*" (that is, all
+jobs are considered by Anacron).
+.PP
+Unless Anacron is run with the
+.B \-d
+option (specified below), it forks to the background when it starts, and
+any parent processes exit immediately.
+.PP
+Unless Anacron is run with the
+.B \-s
+or
+.B \-n
+options, it starts jobs immediately when their delay is over. The
+execution of different jobs is completely independent.
+.PP
+If an executed job generates any output to standard output or to standard
+error, the output is mailed to the user under whom Anacron is running
+(usually root), or to the address specified in the
+.B MAILTO
+environment variable in the
+.I /etc/anacrontab
+file, if such exists. If the
+.B LOGNAME
+environment variable is set, it is used in the From: field of the mail.
+.PP
+Any informative messages generated by Anacron are sent to
+.BR syslogd (8)
+or
+.BR rsyslogd (8)
+under with facility set to
+.B cron
+and priority set to
+.BR notice .
+Any error messages are sent with the priority
+.BR error .
+.PP
+"Active" jobs (i.e., jobs that Anacron already decided to run and are now
+waiting for their delay to pass, and jobs that are currently being
+executed by Anacron), are "locked", so that other copies of Anacron
+cannot run them at the same time.
+.SH OPTIONS
+.TP
+.B \-f
+Forces execution of all jobs, ignoring any timestamps.
+.TP
+.B \-u
+Updates the timestamps of all jobs to the current date, but does not run
+any.
+.TP
+.B \-s
+Serializes execution of jobs. Anacron does not start a new job before the
+previous one finished.
+.TP
+.B \-n
+Runs jobs immediately and ignores the specified delays in the
+.I /etc/anacrontab
+file. This options implies
+.BR -s .
+.TP
+.B \-d
+Does not fork Anacron to the background. In this mode, Anacron will
+output informational messages to standard error, as well as to syslog.
+The output of any job is mailed by Anacron.
+.TP
+.B \-q
+Suppresses any messages to standard error. Only applicable with
+.BR -d .
+.TP
+.B -t some_anacrontab
+Uses the specified anacrontab, rather than the
+.I /etc/anacrontab
+default one.
+.TP
+.B -T
+Anacrontab testing. Tests the
+.I /etc/anacrontab
+configuration file for validity. If there is an error in the file, it is
+shown on the standard output and Anacron returns the value of 1. Valid
+anacrontabs return the value of 0.
+.TP
+.B -S spooldir
+Uses the specified spooldir to store timestamps in. This option is
+required for users who wish to run anacron themselves.
+.TP
+.B -V
+Prints version information, and exits.
+.TP
+.B -h
+Prints short usage message, and exits.
+.SH SIGNALS
+After receiving a
+.B SIGUSR1
+signal, Anacron waits for any running jobs to finish and then exits.
+This can be used to stop Anacron cleanly.
+.SH NOTES
+Make sure your time-zone is set correctly before Anacron is started since
+the time-zone affects the date. This is usually accomplished by setting
+the TZ environment variable, or by installing a
+.I /usr/lib/zoneinfo/localtime
+file. See
+.BR tzset (3)
+for more information.
+.PP
+Timestamp files are created in the spool directory for each job specified
+in an anacrontab. These files are never removed automatically by
+Anacron, and should be removed by hand if a job is no longer being
+scheduled.
+.SH FILES
+.TP
+.I /etc/anacrontab
+Contains specifications of jobs. See
+.BR anacrontab (5)
+for a complete description.
+.TP
+.I /var/spool/anacron
+This directory is used by Anacron for storing timestamp files.
+.SH "SEE ALSO"
+.BR anacrontab (5),
+.BR cron (8),
+.BR tzset (3)
+.PP
+The Anacron
+.I README
+file.
+.SH BUGS
+Anacron never removes timestamp files. Remove unused files manually.
+.PP
+Anacron uses up to two file descriptors for each active job. It may run
+out of descriptors if there are lots of active jobs. See
+.B echo $(($(ulimit -n) / 2))
+for information how many concurrent jobs anacron may run.
+.PP
+Mail comments, suggestions and bug reports to
+.MT shaleh@\:(debian.\:org|\:valinux.\:com)
+Sean 'Shaleh' Perry
+.ME .
+.SH AUTHOR
+Anacron was originally conceived and implemented by
+.MT schwarz@\:monet.\:m.\:isar.\:de
+Christian Schwarz
+.ME .
+.PP
+The current implementation is a complete rewrite by
+.MT itzur@\:actcom.\:co.\:il
+Itai Tzur
+.ME .
+.PP
+The code base was maintained by
+.MT shaleh@\:(debian.\:org|\:valinux.\:com)
+Sean 'Shaleh' Perry
+.ME .
+.PP
+Since 2004, it is maintained by
+.MT pasc@\:(debian.\:org|\:redellipse.\:net)
+Pascal Hakim
+.ME .
+.PP
+For Fedora, Anacron is maintained by
+.MT mmaslano@redhat.\:com
+Marcela Mašláňová
+.ME .
diff --git a/upstream/fedora-40/man8/applydeltarpm.8 b/upstream/fedora-40/man8/applydeltarpm.8
new file mode 100644
index 00000000..766bbac9
--- /dev/null
+++ b/upstream/fedora-40/man8/applydeltarpm.8
@@ -0,0 +1,78 @@
+.\" man page for applydeltarpm
+.\" Copyright (c) 2005 Michael Schroeder <mls@suse.de>
+.\" See LICENSE.BSD for license
+.TH APPLYDELTARPM 8 "Feb 2005"
+.SH NAME
+applydeltarpm \- reconstruct an rpm from a deltarpm
+
+.SH SYNOPSIS
+.B applydeltarpm
+.RB [ -v ]
+.RB [ -p ]
+.RB [ -r
+.IR oldrpm ]
+.I deltarpm
+.I newrpm
+.br
+.B applydeltarpm
+.BR -c | -C
+.I deltarpm
+.br
+.B applydeltarpm
+.RB [ -c | -C ]
+.B -s
+.I sequence
+.br
+.B applydeltarpm
+.BR -i
+.I deltarpm
+
+.SH DESCRIPTION
+applydeltarpm applies a binary delta to either an old rpm or to
+on-disk data to re-create a new rpm. The old rpm can be specified
+with the
+.B -r
+option, if no rpm name is provided on-disk data is used. You
+can use
+.B -p
+to make applydeltarpm print the percentage of completion, or
+.B -v
+to make it more verbose about its operation.
+
+The second an third form can be used to check if the reconstruction
+is possible. It may fail if the on-disk data got changed
+(deltarpms are created in a way that config file changes do not
+matter) or the deltarpm does not match the rpm the delta was generated
+with. The
+.B -c
+option selects full (i.e. slow) on-disk checking, whereas
+.B -C
+only checks if the filesizes have not changed.
+
+Instead of a full deltarpm a sequence id can be given with the
+.B -s
+.I sequence
+option. Such an id contains all the information that is needed to
+do reconstruction checking.
+
+Finally information about a deltarpm can be printed with
+the
+.B -i
+option.
+
+.SH MEMORY CONSIDERATIONS
+applydeltarpm was written to work on systems with limited memory.
+It uses a paging algorithm to keep the size of in-core data low
+and not bring the system in an out-of-memory situation.
+
+.SH EXIT STATUS
+applydeltarpm returns 0 if the rpm could be recreated or the
+checking succeeded, it returns 1 and prints an error message
+to stderr if something failed.
+
+.SH SEE ALSO
+.BR makedeltarpm (8),
+.BR rpm (8)
+
+.SH AUTHOR
+Michael Schroeder <mls@suse.de>
diff --git a/upstream/fedora-40/man8/arp.8 b/upstream/fedora-40/man8/arp.8
new file mode 100644
index 00000000..0a6d2c16
--- /dev/null
+++ b/upstream/fedora-40/man8/arp.8
@@ -0,0 +1,228 @@
+.TH ARP 8 "2008\-10\-03" "net\-tools" "Linux System Administrator's Manual"
+.SH NAME
+arp \- manipulate the system ARP cache
+.SH SYNOPSIS
+.B arp
+.RB [ \-vn ]
+.RB [ \-H
+.IR type ]
+.RB [ \-i
+.IR if ]
+.RB [ \-ae ]
+.RI [ hostname ]
+.PP
+.B arp
+.RB [ \-v ]
+.RB [ \-i
+.IR if ]
+.B \-d
+.I hostname
+.RB [ pub ]
+.PP
+.B arp
+.RB [ \-v ]
+.RB [ \-H
+.IR type ]
+.RB [ \-i
+.IR if ]
+.B \-s
+.I hostname hw_addr
+.RB [ temp ]
+.PP
+.B arp
+.RB [ \-v ]
+.RB [ \-H
+.IR type ]
+.RB [ \-i
+.IR if ]
+.B \-s
+.I hostname hw_addr
+.RB [ netmask
+.IR nm ]
+.B pub
+.PP
+.B arp
+.RB [ \-v ]
+.RB [ \-H
+.IR type ]
+.RB [ \-i
+.IR if ]
+.B \-Ds
+.I hostname
+.I ifname
+.RB [ netmask
+.IR nm ]
+.B pub
+.PP
+.B arp
+.RB [ \-vnD ]
+.RB [ \-H
+.IR type ]
+.RB [ \-i
+.IR if ]
+.B \-f
+.RI [ filename ]
+
+.SH NOTE
+.P
+This program is obsolete. For replacement check \fBip neigh\fR.
+
+.SH DESCRIPTION
+.B Arp
+manipulates or displays the kernel's IPv4 network neighbour cache. It can add
+entries to the table, delete one or display the current content.
+
+.B ARP
+stands for Address Resolution Protocol, which is used to find the media
+access control address of a network neighbour for a given IPv4 Address.
+.SH MODES
+.B arp
+with no mode specifier will print the current content of the table. It is
+possible to limit the number of entries printed, by specifying an hardware
+address type, interface name or host address.
+
+.B arp -d
+.I address
+will delete a ARP table entry. Root or netadmin privilege is required to do
+this. The entry is found by IP address. If a hostname is given, it will be
+resolved before looking up the entry in the ARP table.
+
+.B arp -s
+.I address hw_addr
+is used to set up a new table entry. The format of the
+.I hw_addr
+parameter is dependent on the hardware class, but for most classes one can
+assume that the usual presentation can be used. For the Ethernet class,
+this is 6 bytes in hexadecimal, separated by colons. When adding proxy arp
+entries (that is those with the
+.BR pub lish
+flag set) a
+.B netmask
+may be specified to proxy arp for entire subnets. This is not good
+practice, but is supported by older kernels because it can be
+useful. If the
+.B temp
+flag is not supplied entries will be permanent stored into the ARP
+cache. To simplify setting up entries for one of your own network interfaces, you can use the
+.B "arp \-Ds"
+.I address ifname
+form. In that case the hardware address is taken from the interface with the
+specified name.
+
+.br
+.SH OPTIONS
+.TP
+.B "\-v, \-\-verbose"
+Tell the user what is going on by being verbose.
+.TP
+.B "\-n, \-\-numeric"
+shows numerical addresses instead of trying to determine symbolic host, port
+or user names.
+.TP
+\fB\-H\fI type\fR, \fB\-\-hw\-type\fI type\fR, \fB\-t\fI type\fR
+When setting or reading the ARP cache, this optional parameter tells
+.B arp
+which class of entries it should check for. The default value of
+this parameter is
+.B ether
+(i.e. hardware code 0x01 for IEEE 802.3 10Mbps Ethernet).
+Other values might include network technologies such as
+.RB "ARCnet (" arcnet ")"
+,
+.RB "PROnet (" pronet ")"
+,
+.RB "AX.25 (" ax25 ")"
+and
+.RB "NET/ROM (" netrom ")."
+.TP
+.B \-a
+Use alternate BSD style output format (with no fixed columns).
+.TP
+.B \-e
+Use default Linux style output format (with fixed columns).
+.TP
+.B "\-D, \-\-use-device"
+Instead of a hw_addr, the given argument is the name of an interface.
+.B arp
+will use the MAC address of that interface for the table entry. This is usually the best option to set up a proxy ARP entry to yourself.
+.TP
+\fB\-i\fI If\fR, \fB\-\-device\fI If\fR
+Select an interface. When dumping the ARP cache only entries matching
+the specified interface will be printed. When setting a permanent or
+.B temp
+ARP entry this interface will be associated with the entry; if this
+option is not used, the kernel will guess based on the routing
+table. For
+.B pub
+entries the specified interface is the interface on which ARP requests will
+be answered.
+.br
+.B NOTE:
+This has to be different from the interface to which the IP
+datagrams will be routed.
+.B NOTE:
+As of kernel 2.2.0 it is no longer possible to set an ARP entry for an
+entire subnet. Linux instead does automagic proxy arp when a route
+exists and it is forwarding. See
+.BR arp (7)
+for details. Also the
+.B dontpub
+option which is available for delete and set operations cannot be
+used with 2.4 and newer kernels.
+.TP
+\fB\-f\fI filename\fR, \fB\-\-file\fI filename\fR
+Similar to the
+.B \-s
+option, only this time the address info is taken from file
+.IR filename .
+This can be used if ARP entries for a lot of hosts have to be
+set up. The name of the data file is very often
+.IR /etc/ethers ,
+but this is not official. If no filename is specified
+.I /etc/ethers
+is used as default.
+.sp 1
+The format of the file is simple; it
+only contains ASCII text lines with a hostname, and a hardware
+address separated by whitespace. Additionally the
+.BR "pub" , " temp" " and" " netmask"
+flags can be used.
+.LP
+In all places where a
+.B hostname
+is expected, one can also enter an
+.B "IP address"
+in dotted-decimal notation.
+.P
+As a special case for compatibility the order of the hostname and
+the hardware address can be exchanged.
+.LP
+Each complete entry in the ARP cache will be marked with the
+.B C
+flag. Permanent entries are marked with
+.B M
+and published entries have the
+.B P
+flag.
+.SH EXAMPLES
+.B /usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
+
+This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for
+eth1.
+
+.B /usr/sbin/arp -i eth1 -d 10.0.0.1
+
+Delete the ARP table entry for 10.0.0.1 on interface eth1. This will match
+published proxy ARP entries and permanent entries.
+.SH FILES
+.I /proc/net/arp
+.br
+.I /etc/networks
+.br
+.I /etc/hosts
+.br
+.I /etc/ethers
+.SH SEE ALSO
+.BR ip(8)
+.SH AUTHORS
+Fred N. van Kempen <waltje@uwalt.nl.mugnet.org>, Bernd Eckenfels <net\-tools@lina.inka.de>.
diff --git a/upstream/fedora-40/man8/arpd.8 b/upstream/fedora-40/man8/arpd.8
new file mode 100644
index 00000000..5050a98b
--- /dev/null
+++ b/upstream/fedora-40/man8/arpd.8
@@ -0,0 +1,69 @@
+.TH ARPD 8 "28 June, 2007"
+
+.SH NAME
+arpd \- userspace arp daemon.
+
+.SH SYNOPSIS
+Usage: arpd [ -lkh? ] [ -a N ] [ -b dbase ] [ -B number ] [ -f file ] [-p interval ] [ -n time ] [ -R rate ] [ <INTERFACES> ]
+
+.SH DESCRIPTION
+The
+.B arpd
+daemon collects gratuitous ARP information, saving it on local disk and feeding it to the kernel on demand to avoid redundant broadcasting due to limited size of the kernel ARP cache.
+
+.SH OPTIONS
+.TP
+-h -?
+Print help
+.TP
+-l
+Dump the arpd database to stdout and exit. The output consists of three columns: the interface index, the IP address of the interface, and the MAC address of the interface. Negative entries for dead hosts are also shown, in this case the MAC address is replaced by the word FAILED followed by a colon and the most recent time when the fact that the host is dead was proven.
+.TP
+-f <FILE>
+Read and load an arpd database from FILE in a text format similar to that dumped by option -l. Exit after load, possibly listing resulting database, if option -l is also given. If FILE is -, stdin is read to get the ARP table.
+.TP
+-b <DATABASE>
+the location of the database file. The default location is /var/lib/arpd/arpd.db
+.TP
+-a <NUMBER>
+With this option, arpd not only passively listens for ARP packets on the interface, but also sends broadcast queries itself. NUMBER is the number of such queries to make before a destination is considered dead. When arpd is started as kernel helper (i.e. with app_solicit enabled in sysctl or even with option -k) without this option and still did not learn enough information, you can observe 1 second gaps in service. Not fatal, but not good.
+.TP
+-k
+Suppress sending broadcast queries by the kernel. This option only makes sense together with option -a.
+.TP
+-n <TIME>
+Specifies the timeout of the negative cache. When resolution fails, arpd suppresses further attempts to resolve for this period. This option only makes sense together with option '-k'. This timeout should not be too much longer than the boot time of a typical host not supporting gratuitous ARP. Default value is 60 seconds.
+.TP
+-p <TIME>
+The time to wait in seconds between polling attempts to the kernel ARP table. TIME may be a floating point number. The default value is 30.
+.TP
+-R <RATE>
+Maximal steady rate of broadcasts sent by arpd in packets per second. Default value is 1.
+.TP
+-B <NUMBER>
+The number of broadcasts sent by arpd back to back. Default value is 3. Together with the -R option, this option ensures that the number of ARP queries that are broadcast does not exceed B+R*T over any interval of time T.
+.P
+<INTERFACES> is a list of names of networking interfaces to watch. If no interfaces are given, arpd monitors all the interfaces. In this case arpd does not adjust sysctl parameters, it is assumed that the user does this himself after arpd is started.
+.P
+.SH SIGNALS
+.TP
+When arpd receives a SIGINT or SIGTERM signal, it exits gracefully, syncing the database and restoring adjusted sysctl parameters. On a SIGHUP it syncs the database to disk. With SIGUSR1 it sends some statistics to syslog. The effect of any other signals is undefined. In particular, they may corrupt the database and leave the sysctl parameters in an unpredictable state.
+.P
+.SH NOTE
+.TP
+In order for arpd to be able to serve as ARP resolver, the kernel must be compiled with the option CONFIG_ARPD and, in the case when interface list in not given on command line, variable app_solicit on interfaces of interest should be in /proc/sys/net/ipv4/neigh/*. If this is not made arpd still collects gratuitous ARP information in its database.
+.SH EXAMPLES
+.TP
+arpd -b /var/tmp/arpd.db
+Start arpd to collect gratuitous ARP, but not messing with kernel functionality.
+.TP
+killall arpd ; arpd -l -b /var/tmp/arpd.db
+Look at result after some time.
+.TP
+arpd -b /var/tmp/arpd.db -a 1 eth0 eth1
+Enable kernel helper, leaving leading role to kernel.
+.TP
+arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1
+Completely replace kernel resolution on interfaces eth0 and eth1. In this case the kernel still does unicast probing to validate entries, but all the broadcast activity is suppressed and made under authority of arpd.
+.PP
+This is the mode in which arpd normally is supposed to work. It is not the default to prevent occasional enabling of too aggressive a mode.
diff --git a/upstream/fedora-40/man8/arping.8 b/upstream/fedora-40/man8/arping.8
new file mode 100644
index 00000000..d531a85d
--- /dev/null
+++ b/upstream/fedora-40/man8/arping.8
@@ -0,0 +1,155 @@
+'\" t
+.TH "ARPING" "8" "" "iputils 20240117" "iputils"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+arping \- send ARP REQUEST to a neighbour host
+.SH "SYNOPSIS"
+.HP \w'\fBarping\fR\ 'u
+\fBarping\fR [\fB\-AbDfhqUV\fR] [\fB\-c\ \fR\fB\fIcount\fR\fR] [\fB\-w\ \fR\fB\fIdeadline\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-s\ \fR\fB\fIsource\fR\fR] [\fB\-I\ \fR\fB\fIinterface\fR\fR] {destination}
+.SH "DESCRIPTION"
+.PP
+Ping
+\fIdestination\fR
+on device
+\fIinterface\fR
+by ARP packets, using source address
+\fIsource\fR\&.
+.PP
+arping supports IPv4 addresses only\&. For IPv6, see
+\fBndisc6\fR(8)\&.
+.SH "OPTIONS"
+.PP
+\fB\-A\fR
+.RS 4
+The same as
+\fB\-U\fR, but ARP REPLY packets used instead of ARP REQUEST\&.
+.RE
+.PP
+\fB\-b\fR
+.RS 4
+Send only MAC level broadcasts\&. Normally
+\fBarping\fR
+starts from sending broadcast, and switch to unicast after reply received\&.
+.RE
+.PP
+\fB\-c \fR\fB\fIcount\fR\fR
+.RS 4
+Stop after sending
+\fIcount\fR
+ARP REQUEST packets\&. With
+\fIdeadline\fR
+option, instead wait for
+\fIcount\fR
+ARP REPLY packets, or until the timeout expires\&.
+.RE
+.PP
+\fB\-D\fR
+.RS 4
+Duplicate address detection mode (DAD)\&. See RFC2131, 4\&.4\&.1\&. Returns 0, if DAD succeeded i\&.e\&. no replies are received\&.
+.RE
+.PP
+\fB\-f\fR
+.RS 4
+Finish after the first reply confirming that target is alive\&.
+.RE
+.PP
+\fB\-I \fR\fB\fIinterface\fR\fR
+.RS 4
+Name of network device where to send ARP REQUEST packets\&.
+.RE
+.PP
+\fB\-h\fR
+.RS 4
+Print help page and exit\&.
+.RE
+.PP
+\fB\-q\fR
+.RS 4
+Quiet output\&. Nothing is displayed\&.
+.RE
+.PP
+\fB\-s \fR\fB\fIsource\fR\fR
+.RS 4
+IP source address to use in ARP packets\&. If this option is absent, source address is:
+.PP
+.RS 4
+\(bu In DAD mode (with option
+\fB\-D\fR) set to 0\&.0\&.0\&.0\&.
+.RE
+.PP
+.RS 4
+\(bu In Unsolicited ARP mode (with options
+\fB\-U\fR
+or
+\fB\-A\fR) set to
+\fIdestination\fR\&.
+.RE
+.PP
+.RS 4
+\(bu Otherwise, it is calculated from routing tables\&.
+.RE
+.RE
+.PP
+\fB\-U\fR
+.RS 4
+Unsolicited ARP mode to update neighbours\*(Aq ARP caches\&. No replies are expected\&.
+.RE
+.PP
+\fB\-V\fR
+.RS 4
+Print version of the program and exit\&.
+.RE
+.PP
+\fB\-w \fR\fB\fIdeadline\fR\fR
+.RS 4
+Specify a timeout, in seconds, before
+\fBarping\fR
+exits regardless of how many packets have been sent or received\&. If any replies are received, exit with status 0, otherwise status 1\&. When combined with the
+\fIcount\fR
+option, exit with status 0 if
+\fIcount\fR
+replies are received before the deadline expiration, otherwise status 1\&.
+.RE
+.PP
+\fB\-i \fR\fB\fIinterval\fR\fR
+.RS 4
+Specify an interval, in seconds, between packets\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBndisc6\fR(8),
+\fBping\fR(8),
+\fBclockdiff\fR(8),
+\fBtracepath\fR(8)\&.
+.SH "AUTHOR"
+.PP
+\fBarping\fR
+was written by Alexey Kuznetsov <kuznet@ms2\&.inr\&.ac\&.ru>\&.
+.SH "SECURITY"
+.PP
+\fBarping\fR
+requires CAP_NET_RAW capability to be executed\&. It is not recommended to be used as set\-uid root, because it allows user to modify ARP caches of neighbour hosts\&.
+.SH "AVAILABILITY"
+.PP
+\fBarping\fR
+is part of
+\fIiputils\fR
+package\&.
diff --git a/upstream/fedora-40/man8/atd.8 b/upstream/fedora-40/man8/atd.8
new file mode 100644
index 00000000..78606b89
--- /dev/null
+++ b/upstream/fedora-40/man8/atd.8
@@ -0,0 +1,86 @@
+.TH ATD 8 2009-11-14
+.SH NAME
+atd \- run jobs queued for later execution
+.SH SYNOPSIS
+.B atd
+.RB [ \-l
+.IR load_avg ]
+.RB [ \-b
+.IR batch_interval ]
+.RB [ \-d ]
+.RB [ \-f ]
+.RB [ \-n ]
+.RB [ \-s ]
+.SH DESCRIPTION
+.B atd
+runs jobs queued by
+.BR at (1) .
+.PP
+.SH OPTIONS
+.TP 8
+.B \-l
+Specifies a limiting load factor, over which batch jobs should
+not be run, instead of the compile-time choice of 0.8.
+For an SMP system with
+.I n
+CPUs, you will probably want to set this higher than
+.IR n\-1.
+.TP 8
+.B \-b
+Specify the minimum interval in seconds between the start of two
+batch jobs (60 default).
+.TP 8
+.B \-d
+Debug; print error messages to standard error instead of using
+.BR syslog (3) .
+This option also implies
+.BR \-f .
+.TP
+.B \-f
+Run
+.BR atd
+in the foreground.
+.TP 8
+.B \-s
+Process the at/batch queue only once.
+This is primarily of use for compatibility with old versions of
+.BR at ;
+.B \-n
+Append the hostname of the system to the subject of the e-mails sent by
+.BR atd .
+.TP 8
+.B "atd \-s"
+is equivalent to the old
+.B atrun
+command.
+.SH WARNING
+.B atd
+won't work if its spool directory is mounted via NFS even if
+.I no_root_squash
+is set.
+.SH FILES
+.I /var/spool/at
+The directory for storing jobs; this should be mode 700, owner
+root.
+.PP
+.I /var/spool/at/spool
+The directory for storing output; this should be mode 700, owner
+root.
+.PP
+.IR /etc/at.allow ,
+.I /etc/at.deny
+determine who can use the
+.B at
+system.
+.SH "SEE ALSO"
+.BR at (1),
+.BR at.deny (5),
+.BR at.allow (5),
+.BR cron (8),
+.BR crontab (1),
+.BR syslog (3).
+.SH BUGS
+The functionality of
+.B atd
+should be merged into
+.BR cron (8) .
diff --git a/upstream/fedora-40/man8/atrun.8 b/upstream/fedora-40/man8/atrun.8
new file mode 100644
index 00000000..aade47d8
--- /dev/null
+++ b/upstream/fedora-40/man8/atrun.8
@@ -0,0 +1,23 @@
+.TH ATRUN 8 "Nov 1996" local "Linux Programmer's Manual"
+.SH NAME
+atrun \- run jobs queued for later execution
+.SH SYNOPSIS
+.B atrun
+.RB [ -l
+.IR load_avg ]
+.RB [ -d ]
+.SH DESCRIPTION
+.B atrun
+runs jobs queued by
+.BR at(1) .
+It is a shell script invoking
+.B /usr/sbin/atd
+with the
+.I -s
+option, and is provided for backward compatibility with older
+installations.
+.SH SEE ALSO
+.BR at (1),
+.BR atd (8).
+.SH AUTHOR
+At was mostly written by Thomas Koenig.
diff --git a/upstream/fedora-40/man8/badblocks.8 b/upstream/fedora-40/man8/badblocks.8
new file mode 100644
index 00000000..0b0d8644
--- /dev/null
+++ b/upstream/fedora-40/man8/badblocks.8
@@ -0,0 +1,234 @@
+.\" -*- nroff -*-
+.TH BADBLOCKS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+badblocks \- search a device for bad blocks
+.SH SYNOPSIS
+.B badblocks
+[
+.B \-svwnfBX
+]
+[
+.B \-b
+.I block_size
+]
+[
+.B \-c
+.I blocks_at_once
+]
+[
+.B \-d
+.I read_delay_factor
+]
+[
+.B \-e
+.I max_bad_blocks
+]
+[
+.B \-i
+.I input_file
+]
+[
+.B \-o
+.I output_file
+]
+[
+.B \-p
+.I num_passes
+]
+[
+.B \-t
+.I test_pattern
+]
+.I device
+[
+.I last_block
+] [
+.I first_block
+]
+.SH DESCRIPTION
+.B badblocks
+is used to search for bad blocks on a device (usually a disk partition).
+.I device
+is the special file corresponding to the device (e.g
+.IR /dev/hdc1 ).
+.I last_block
+is the last block to be checked; if it is not specified, the last block
+on the device is used as a default.
+.I first_block
+is an optional parameter specifying the starting block number
+for the test, which allows the testing to start in the middle of the
+disk. If it is not specified the first block on the disk is used as a default.
+.PP
+.B Important note:
+If the output of
+.B badblocks
+is going to be fed to the
+.B e2fsck
+or
+.B mke2fs
+programs, it is important that the block size is properly specified,
+since the block numbers which are generated are very dependent on the
+block size in use by the file system.
+For this reason, it is strongly recommended that
+users
+.B not
+run
+.B badblocks
+directly, but rather use the
+.B \-c
+option of the
+.B e2fsck
+and
+.B mke2fs
+programs.
+.SH OPTIONS
+.TP
+.BI \-b " block_size"
+Specify the size of blocks in bytes. The default is 1024.
+.TP
+.BI \-c " number of blocks"
+is the number of blocks which are tested at a time. The default is 64.
+.TP
+.BI \-d " read delay factor"
+This parameter, if passed and non-zero, will cause bad blocks to sleep
+between reads if there were no errors encountered in the read
+operation; the delay will be calculated as a percentage of the time it
+took for the read operation to be performed. In other words, a value of
+100 will cause each read to be delayed by the amount the previous read
+took, and a value of 200 by twice the amount.
+.TP
+.BI \-e " max bad block count"
+Specify a maximum number of bad blocks before aborting the test. The
+default is 0, meaning the test will continue until the end of the test
+range is reached.
+.TP
+.B \-f
+Normally, badblocks will refuse to do a read/write or a non-destructive
+test on a device which is mounted, since either can cause the system to
+potentially crash and/or damage the file system even if it is mounted
+read-only. This can be overridden using the
+.B \-f
+flag, but should almost never be used --- if you think you're smarter
+than the
+.B badblocks
+program, you almost certainly aren't. The only time when this option
+might be safe to use is if the /etc/mtab file is incorrect, and the device
+really isn't mounted.
+.TP
+.BI \-i " input_file"
+Read a list of already existing known bad blocks.
+.B Badblocks
+will skip testing these blocks since they are known to be bad. If
+.I input_file
+is specified as "-", the list will be read from the standard input.
+Blocks listed in this list will be omitted from the list of
+.I new
+bad blocks produced on the standard output or in the output file.
+The
+.B \-b
+option of
+.BR dumpe2fs (8)
+can be used to retrieve the list of blocks currently marked bad on
+an existing file system, in a format suitable for use with this option.
+.TP
+.B \-n
+Use non-destructive read-write mode. By default only a non-destructive
+read-only test is done. This option must not be combined with the
+.B \-w
+option, as they are mutually exclusive.
+.TP
+.BI \-o " output_file"
+Write the list of bad blocks to the specified file. Without this option,
+.B badblocks
+displays the list on its standard output. The format of this file is suitable
+for use by the
+.
+.B \-l
+option in
+.BR e2fsck (8)
+or
+.BR mke2fs (8).
+.TP
+.BI \-p " num_passes"
+Repeat scanning the disk until there are no new blocks discovered in
+num_passes consecutive scans of the disk.
+Default is 0, meaning
+.B badblocks
+will exit after the first pass.
+.TP
+.B \-s
+Show the progress of the scan by writing out rough percentage completion
+of the current badblocks pass over the disk. Note that badblocks may do
+multiple test passes over the disk, in particular if the
+.B \-p
+or
+.B \-w
+option is requested by the user.
+.TP
+.BI \-t " test_pattern"
+Specify a test pattern to be read (and written) to disk blocks. The
+.I test_pattern
+may either be a numeric value between 0 and ULONG_MAX-1 inclusive, or the word
+"random", which specifies that the block should be filled with a random
+bit pattern.
+For read/write (\fB-w\fR) and non-destructive (\fB-n\fR) modes,
+one or more test patterns may be specified by specifying the
+.B -t
+option for each test pattern desired. For
+read-only mode only a single pattern may be specified and it may not be
+"random". Read-only testing with a pattern assumes that the
+specified pattern has previously been written to the disk - if not, large
+numbers of blocks will fail verification.
+If multiple patterns
+are specified then all blocks will be tested with one pattern
+before proceeding to the next pattern.
+.TP
+.B \-v
+Verbose mode. Will write the number of read errors, write errors and data-
+corruptions to stderr.
+.TP
+.B \-w
+Use write-mode test. With this option,
+.B badblocks
+scans for bad blocks by writing some patterns (0xaa, 0x55, 0xff, 0x00) on
+every block of the device, reading every block and comparing the contents.
+This option may not be combined with the
+.B \-n
+option, as they are mutually exclusive.
+.TP
+.B \-B
+Use buffered I/O and do not use Direct I/O, even if it is available.
+.TP
+.B \-X
+Internal flag only to be used by
+.BR e2fsck (8)
+and
+.BR mke2fs (8).
+It bypasses the exclusive mode in-use device safety check.
+.SH WARNING
+Never use the
+.B \-w
+option on a device containing an existing file system.
+This option erases data! If you want to do write-mode testing on
+an existing file system, use the
+.B \-n
+option instead. It is slower, but it will preserve your data.
+.PP
+The
+.B \-e
+option will cause badblocks to output a possibly incomplete list of
+bad blocks. Therefore it is recommended to use it only when one wants
+to know if there are any bad blocks at all on the device, and not when
+the list of bad blocks is wanted.
+.SH AUTHOR
+.B badblocks
+was written by Remy Card <Remy.Card@linux.org>. Current maintainer is
+Theodore Ts'o <tytso@alum.mit.edu>. Non-destructive read/write test
+implemented by David Beattie <dbeattie@softhome.net>.
+.SH AVAILABILITY
+.B badblocks
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR e2fsck (8),
+.BR mke2fs (8)
diff --git a/upstream/fedora-40/man8/blkmapd.8 b/upstream/fedora-40/man8/blkmapd.8
new file mode 100644
index 00000000..4b3d3f04
--- /dev/null
+++ b/upstream/fedora-40/man8/blkmapd.8
@@ -0,0 +1,72 @@
+.\"
+.\" Copyright 2011, Jim Rees.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the file COPYING that comes with the
+.\" nfs-utils distribution.
+.\"
+.TH blkmapd 8 "11 August 2011"
+.SH NAME
+blkmapd \- pNFS block layout mapping daemon
+.SH SYNOPSIS
+.B "blkmapd [-h] [-d] [-f]"
+.SH DESCRIPTION
+The
+.B blkmapd
+daemon performs device discovery and mapping for the parallel NFS (pNFS) block layout
+client [RFC5663].
+.PP
+The pNFS block layout protocol builds a complex storage hierarchy from a set
+of
+.I simple volumes.
+These simple volumes are addressed by content, using a signature on the
+volume to uniquely name each one.
+The daemon locates a volume by examining each block device in the system for
+the given signature.
+.PP
+The topology typically consists of a hierarchy of volumes built by striping,
+slicing, and concatenating the simple volumes.
+The
+.B blkmapd
+daemon uses the device-mapper driver to construct logical devices that
+reflect the server topology, and passes these devices to the kernel for use
+by the pNFS block layout client.
+.SH OPTIONS
+.TP
+.B -h
+Display usage message.
+.TP
+.B -d
+Performs device discovery only then exits.
+.TP
+.B -f
+Runs
+.B blkmapd
+in the foreground and sends output to stderr (as opposed to syslogd)
+.SH CONFIGURATION FILE
+The
+.B blkmapd
+daemon recognizes the following value from the
+.B [general]
+section of the
+.I /etc/nfs.conf
+configuration file:
+.TP
+.B pipefs-directory
+Tells
+.B blkmapd
+where to look for the rpc_pipefs filesystem. The default value is
+.IR /var/lib/nfs/rpc_pipefs .
+.SH SEE ALSO
+.BR nfs (5),
+.BR dmsetup (8),
+.BR nfs.conf (5)
+.sp
+RFC 5661 for the NFS version 4.1 specification.
+.br
+RFC 5663 for the pNFS block layout specification.
+.SH AUTHORS
+.br
+Haiying Tang <Tang_Haiying@emc.com>
+.br
+Jim Rees <rees@umich.edu>
diff --git a/upstream/fedora-40/man8/bridge.8 b/upstream/fedora-40/man8/bridge.8
new file mode 100644
index 00000000..a60964bb
--- /dev/null
+++ b/upstream/fedora-40/man8/bridge.8
@@ -0,0 +1,1535 @@
+.TH BRIDGE 8 "1 August 2012" "iproute2" "Linux"
+.SH NAME
+bridge \- show / manipulate bridge addresses and devices
+.SH SYNOPSIS
+
+.ad l
+.in +8
+.ti -8
+.B bridge
+.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OBJECT " := { "
+.BR link " | " fdb " | " mdb " | " vlan " | " vni " | " monitor " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-s\fR[\fItatistics\fR] |
+\fB\-n\fR[\fIetns\fR] name |
+\fB\-b\fR[\fIatch\fR] filename |
+\fB\-c\fR[\fIolor\fR] |
+\fB\-p\fR[\fIretty\fR] |
+\fB\-j\fR[\fIson\fR] |
+\fB\-o\fR[\fIneline\fR] }
+
+.ti -8
+.B "bridge link set"
+.B dev
+.IR DEV " [ "
+.B cost
+.IR COST " ] [ "
+.B priority
+.IR PRIO " ] [ "
+.B state
+.IR STATE " ] [ "
+.BR guard " { " on " | " off " } ] [ "
+.BR hairpin " { " on " | " off " } ] [ "
+.BR fastleave " { " on " | " off " } ] [ "
+.BR root_block " { " on " | " off " } ] [ "
+.BR learning " { " on " | " off " } ] [ "
+.BR learning_sync " { " on " | " off " } ] [ "
+.BR flood " { " on " | " off " } ] [ "
+.BR hwmode " { " vepa " | " veb " } ] [ "
+.BR bcast_flood " { " on " | " off " } ] [ "
+.BR mcast_flood " { " on " | " off " } ] [ "
+.BR mcast_max_groups
+.IR MAX_GROUPS " ] ["
+.BR mcast_router
+.IR MULTICAST_ROUTER " ] ["
+.BR mcast_to_unicast " { " on " | " off " } ] [ "
+.BR neigh_suppress " { " on " | " off " } ] [ "
+.BR neigh_vlan_suppress " { " on " | " off " } ] [ "
+.BR vlan_tunnel " { " on " | " off " } ] [ "
+.BR isolated " { " on " | " off " } ] [ "
+.BR locked " { " on " | " off " } ] [ "
+.BR mab " { " on " | " off " } ] [ "
+.B backup_port
+.IR DEVICE " ] ["
+.BR nobackup_port " ] [ "
+.B backup_nhid
+.IR NHID " ] ["
+.BR self " ] [ " master " ]"
+
+.ti -8
+.BR "bridge link" " [ " show " ] [ "
+.B dev
+.IR DEV " ] ["
+.B master
+.IR DEVICE " ]"
+
+.ti -8
+.BR "bridge fdb" " { " add " | " append " | " del " | " replace " } "
+.I LLADDR
+.B dev
+.IR DEV " { "
+.BR local " | " static " | " dynamic " } [ "
+.BR self " ] [ " master " ] [ " router " ] [ " use " ] [ " extern_learn " ] [ " sticky " ] [ "
+.B src_vni
+.IR VNI " ] { ["
+.B dst
+.IR IPADDR " ] [ "
+.B vni
+.IR VNI " ] ["
+.B port
+.IR PORT " ] ["
+.B via
+.IR DEVICE " ] | "
+.B nhid
+.IR NHID " } "
+
+.ti -8
+.BR "bridge fdb" " [ [ " show " ] [ "
+.B br
+.IR BRDEV " ] [ "
+.B brport
+.IR DEV " ] [ "
+.B vlan
+.IR VID " ] [ "
+.B state
+.IR STATE " ] ["
+.B dynamic
+.IR "] ]"
+
+.ti -8
+.BR "bridge fdb get" " ["
+.B to
+.IR "]"
+.I LLADDR "[ "
+.B br
+.IR BRDEV " ]"
+.B { brport | dev }
+.IR DEV " [ "
+.B vlan
+.IR VID " ] [ "
+.B vni
+.IR VNI " ] ["
+.BR self " ] [ " master " ] [ " dynamic " ]"
+
+.ti -8
+.BR "bridge fdb flush"
+.B dev
+.IR DEV " [ "
+.B brport
+.IR DEV " ] [ "
+.B vlan
+.IR VID " ] [ "
+.B src_vni
+.IR VNI " ] [ "
+.B nhid
+.IR NHID " ] ["
+.B vni
+.IR VNI " ] [ "
+.B port
+.IR PORT " ] ["
+.B dst
+.IR IPADDR " ] [ "
+.BR self " ] [ " master " ] [ "
+.BR [no]permanent " | " [no]static " | " [no]dynamic " ] [ "
+.BR [no]added_by_user " ] [ " [no]extern_learn " ] [ "
+.BR [no]sticky " ] [ " [no]offloaded " ] [ " [no]router " ]"
+
+.ti -8
+.BR "bridge mdb" " { " add " | " del " | " replace " } "
+.B dev
+.I DEV
+.B port
+.I PORT
+.B grp
+.IR GROUP " [ "
+.B src
+.IR SOURCE " ] [ "
+.BR permanent " | " temp " ] [ "
+.B vid
+.IR VID " ] [ "
+.BR filter_mode " { " include " | " exclude " } ] [ "
+.B source_list
+.IR SOURCE_LIST " ] [ "
+.B proto
+.IR PROTO " ] [ "
+.B dst
+.IR IPADDR " ] [ "
+.B dst_port
+.IR DST_PORT " ] [ "
+.B vni
+.IR VNI " ] [ "
+.B src_vni
+.IR SRC_VNI " ] [ "
+.B via
+.IR DEV " ]
+
+.ti -8
+.BR "bridge mdb show" " [ "
+.B dev
+.IR DEV " ]"
+
+.ti -8
+.B "bridge mdb get"
+.BI dev " DEV " grp " GROUP "
+.RB "[ " src
+.IR SOURCE " ]"
+.RB "[ " vid
+.IR VID " ]"
+.RB "[ " src_vni
+.IR SRC_VNI " ]"
+
+.ti -8
+.BR "bridge vlan" " { " add " | " del " } "
+.B dev
+.I DEV
+.B vid
+.IR VID " [ "
+.B tunnel_info
+.IR TUNNEL_ID " ] [ "
+.BR pvid " ] [ " untagged " ] [ "
+.BR self " ] [ " master " ] "
+
+.ti -8
+.BR "bridge vlan set"
+.B dev
+.I DEV
+.B vid
+.IR VID " [ "
+.B state
+.IR STP_STATE " ] [ "
+.B mcast_max_groups
+.IR MAX_GROUPS " ] [ "
+.B mcast_router
+.IR MULTICAST_ROUTER " ] [ "
+.BR neigh_suppress " { " on " | " off " } ]"
+
+.ti -8
+.BR "bridge vlan" " [ " show " | " tunnelshow " ] [ "
+.B dev
+.IR DEV " ]"
+
+.ti -8
+.BR "bridge vlan global set"
+.B dev
+.I DEV
+.B vid
+.IR VID " [ "
+.B mcast_snooping
+.IR MULTICAST_SNOOPING " ] [ "
+.B mcast_querier
+.IR MULTICAST_QUERIER " ] [ "
+.B mcast_igmp_version
+.IR IGMP_VERSION " ] [ "
+.B mcast_mld_version
+.IR MLD_VERSION " ] [ "
+.B mcast_last_member_count
+.IR LAST_MEMBER_COUNT " ] [ "
+.B mcast_last_member_interval
+.IR LAST_MEMBER_INTERVAL " ] [ "
+.B mcast_startup_query_count
+.IR STARTUP_QUERY_COUNT " ] [ "
+.B mcast_startup_query_interval
+.IR STARTUP_QUERY_INTERVAL " ] [ "
+.B mcast_membership_interval
+.IR MEMBERSHIP_INTERVAL " ] [ "
+.B mcast_querier_interval
+.IR QUERIER_INTERVAL " ] [ "
+.B mcast_query_interval
+.IR QUERY_INTERVAL " ] [ "
+.B mcast_query_response_interval
+.IR QUERY_RESPONSE_INTERVAL " ]"
+
+.ti -8
+.BR "bridge vlan global" " [ " show " ] [ "
+.B dev
+.IR DEV " ] [ "
+.B vid
+.IR VID " ]"
+
+.ti -8
+.BR "bridge vlan" " show " [ "
+.B dev
+.IR DEV " ]"
+
+.ti -8
+.BR "bridge vni" " { " add " | " del " } "
+.B dev
+.I DEV
+.B vni
+.IR VNI " [ { "
+.B group | remote "} "
+.IR IPADDR " ] "
+
+.ti -8
+.BR "bridge vni" " show " [ "
+.B dev
+.IR DEV " ]"
+
+.ti -8
+.BR "bridge monitor" " [ " all " | " neigh " | " link " | " mdb " | " vlan " ]"
+
+.SH OPTIONS
+
+.TP
+.BR "\-V" , " -Version"
+print the version of the
+.B bridge
+utility and exit.
+
+.TP
+.BR "\-s" , " \-stats", " \-statistics"
+output more information. If this option
+is given multiple times, the amount of information increases.
+As a rule, the information is statistics or some time values.
+
+.TP
+.BR "\-d" , " \-details"
+print detailed information about bridge vlan filter entries or MDB router ports.
+
+.TP
+.BR "\-n" , " \-net" , " \-netns " <NETNS>
+switches
+.B bridge
+to the specified network namespace
+.IR NETNS .
+Actually it just simplifies executing of:
+
+.B ip netns exec
+.I NETNS
+.B bridge
+.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+
+to
+
+.B bridge
+.RI "-n[etns] " NETNS " [ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+
+.TP
+.BR "\-b", " \-batch " <FILENAME>
+Read commands from provided file or standard input and invoke them.
+First failure will cause termination of bridge command.
+
+.TP
+.B "\-force"
+Don't terminate bridge command on errors in batch mode.
+If there were any errors during execution of the commands, the application
+return code will be non zero.
+
+.TP
+.BR \-c [ color ][ = { always | auto | never }
+Configure color output. If parameter is omitted or
+.BR always ,
+color output is enabled regardless of stdout state. If parameter is
+.BR auto ,
+stdout is checked to be a terminal before enabling color output. If parameter is
+.BR never ,
+color output is disabled. If specified multiple times, the last one takes
+precedence. This flag is ignored if
+.B \-json
+is also given.
+
+.TP
+.BR "\-j", " \-json"
+Output results in JavaScript Object Notation (JSON).
+
+.TP
+.BR "\-p", " \-pretty"
+When combined with -j generate a pretty JSON output.
+
+.TP
+.BR "\-o", " \-oneline"
+output each record on a single line, replacing line feeds
+with the
+.B '\e'
+character. This is convenient when you want to count records
+with
+.BR wc (1)
+or to
+.BR grep (1)
+the output.
+
+
+.SH BRIDGE - COMMAND SYNTAX
+
+.SS
+.I OBJECT
+
+.TP
+.B link
+- Bridge port.
+
+.TP
+.B fdb
+- Forwarding Database entry.
+
+.TP
+.B mdb
+- Multicast group database entry.
+
+.TP
+.B vlan
+- VLAN filter list.
+
+.TP
+.B vni
+- VNI filter list.
+
+.SS
+.I COMMAND
+
+Specifies the action to perform on the object.
+The set of possible actions depends on the object type.
+As a rule, it is possible to
+.BR "add" , " delete"
+and
+.B show
+(or
+.B list
+) objects, but some objects do not allow all of these operations
+or have some additional commands. The
+.B help
+command is available for all objects. It prints
+out a list of available commands and argument syntax conventions.
+.sp
+If no command is given, some default command is assumed.
+Usually it is
+.B list
+or, if the objects of this class cannot be listed,
+.BR "help" .
+
+.SH bridge link - bridge port
+
+.B link
+objects correspond to the port devices of the bridge.
+
+.P
+The corresponding commands set and display port status and bridge specific
+attributes.
+
+.SS bridge link set - set bridge specific attributes on a port
+
+.TP
+.BI dev " NAME "
+interface name of the bridge port
+
+.TP
+.BI cost " COST "
+the STP path cost of the specified port.
+
+.TP
+.BI priority " PRIO "
+the STP port priority. The priority value is an unsigned 8-bit quantity
+(number between 0 and 255). This metric is used in the designated port an
+droot port selection algorithms.
+
+.TP
+.BI state " STATE "
+the operation state of the port. Except state 0 (disable STP or BPDU filter feature),
+this is primarily used by user space STP/RSTP
+implementation. One may enter port state name (case insensitive), or one of the
+numbers below. Negative inputs are ignored, and unrecognized names return an
+error.
+
+.B 0
+- port is in STP
+.B DISABLED
+state. Make this port completely inactive for STP. This is also called
+BPDU filter and could be used to disable STP on an untrusted port, like
+a leaf virtual devices.
+.sp
+
+.B 1
+- port is in STP
+.B LISTENING
+state. Only valid if STP is enabled on the bridge. In this
+state the port listens for STP BPDUs and drops all other traffic frames.
+.sp
+
+.B 2
+- port is in STP
+.B LEARNING
+state. Only valid if STP is enabled on the bridge. In this
+state the port will accept traffic only for the purpose of updating MAC
+address tables.
+.sp
+
+.B 3
+- port is in STP
+.B FORWARDING
+state. Port is fully active.
+.sp
+
+.B 4
+- port is in STP
+.B BLOCKING
+state. Only valid if STP is enabled on the bridge. This state
+is used during the STP election process. In this state, port will only process
+STP BPDUs.
+.sp
+
+.TP
+.BR "guard on " or " guard off "
+Controls whether STP BPDUs will be processed by the bridge port. By default,
+the flag is turned off allowed BPDU processing. Turning this flag on will
+disables
+the bridge port if a STP BPDU packet is received.
+
+If running Spanning Tree on bridge, hostile devices on the network
+may send BPDU on a port and cause network failure. Setting
+.B guard on
+will detect and stop this by disabling the port.
+The port will be restarted if link is brought down, or
+removed and reattached. For example if guard is enable on
+eth0:
+
+.B ip link set dev eth0 down; ip link set dev eth0 up
+
+.TP
+.BR "hairpin on " or " hairpin off "
+Controls whether traffic may be send back out of the port on which it was
+received. This option is also called reflective relay mode, and is used to support
+basic VEPA (Virtual Ethernet Port Aggregator) capabilities.
+By default, this flag is turned off and the bridge will not forward
+traffic back out of the receiving port.
+
+.TP
+.BR "fastleave on " or " fastleave off "
+This flag allows the bridge to immediately stop multicast traffic on a port
+that receives IGMP Leave message. It is only used with IGMP snooping is
+enabled on the bridge. By default the flag is off.
+
+.TP
+.BR "root_block on " or " root_block off "
+Controls whether a given port is allowed to become root port or not. Only used
+when STP is enabled on the bridge. By default the flag is off.
+
+This feature is also called root port guard.
+If BPDU is received from a leaf (edge) port, it should not
+be elected as root port. This could be used if using STP on a bridge and the downstream bridges are not fully
+trusted; this prevents a hostile guest from rerouting traffic.
+
+.TP
+.BR "learning on " or " learning off "
+Controls whether a given port will learn MAC addresses from received traffic or
+not. If learning if off, the bridge will end up flooding any traffic for which
+it has no FDB entry. By default this flag is on.
+
+.TP
+.BR "learning_sync on " or " learning_sync off "
+Controls whether a given port will sync MAC addresses learned on device port to
+bridge FDB.
+
+.TP
+.BR "flood on " or " flood off "
+Controls whether unicast traffic for which there is no FDB entry will be
+flooded towards this given port. By default this flag is on.
+
+.TP
+.B hwmode
+Some network interface cards support HW bridge functionality and they may be
+configured in different modes. Currently support modes are:
+
+.B vepa
+- Data sent between HW ports is sent on the wire to the external
+switch.
+
+.B veb
+- bridging happens in hardware.
+
+.TP
+.BR "bcast_flood on " or " bcast_flood off "
+Controls flooding of broadcast traffic on the given port.
+By default this flag is on.
+
+.TP
+.BR "mcast_flood on " or " mcast_flood off "
+Controls whether multicast traffic for which there is no MDB entry will be
+flooded towards this given port. By default this flag is on.
+
+.TP
+.BI mcast_max_groups " MAX_GROUPS "
+Sets the maximum number of MDB entries that can be registered for a given
+port. Attempts to register more MDB entries at the port than this limit
+allows will be rejected, whether they are done through netlink (e.g. the
+\fBbridge\fR tool), or IGMP or MLD membership reports. Setting a limit to 0
+has the effect of disabling the limit. The default value is 0. See also the
+\fBip link\fR option \fBmcast_hash_max\fR.
+
+.TP
+.BI mcast_router " MULTICAST_ROUTER "
+This flag is almost the same as the per-VLAN flag, see below, except its
+value can only be set in the range 0-2. The default is
+.B 1
+where the bridge figures out automatically where an IGMP/MLD querier,
+MRDISC capable device, or PIM router, is located. Setting this flag to
+.B 2
+is useful in cases where the multicast router does not indicate its
+presence in any meaningful way (e.g. older versions of SMCRoute, or
+mrouted), or when there is a need for forwarding both known and unknown
+IP multicast to a secondary/backup router.
+
+.TP
+.BR "mcast_to_unicast on " or " mcast_to_unicast off "
+Controls whether a given port will replicate packets using unicast
+instead of multicast. By default this flag is off.
+
+This is done by copying the packet per host and
+changing the multicast destination MAC to a unicast one accordingly.
+
+.B mcast_to_unicast
+works on top of the multicast snooping feature of
+the bridge. Which means unicast copies are only delivered to hosts which
+are interested in it and signalized this via IGMP/MLD reports
+previously.
+
+This feature is intended for interface types which have a more reliable
+and/or efficient way to deliver unicast packets than broadcast ones
+(e.g. WiFi).
+
+However, it should only be enabled on interfaces where no IGMPv2/MLDv1
+report suppression takes place. IGMP/MLD report suppression issue is usually
+overcome by the network daemon (supplicant) enabling AP isolation and
+by that separating all STAs.
+
+Delivery of STA-to-STA IP multicast is made possible again by
+enabling and utilizing the bridge hairpin mode, which considers the
+incoming port as a potential outgoing port, too (see
+.B hairpin
+option).
+Hairpin mode is performed after multicast snooping, therefore leading to
+only deliver reports to STAs running a multicast router.
+
+.TP
+.BR "neigh_suppress on " or " neigh_suppress off "
+Controls whether neigh discovery (arp and nd) proxy and suppression is
+enabled on the port. By default this flag is off.
+
+.TP
+.BR "neigh_vlan_suppress on " or " neigh_vlan_suppress off "
+Controls whether per-VLAN neigh discovery (arp and nd) proxy and suppression is
+enabled on the port. When on, the \fBbridge link\fR option \fBneigh_suppress\fR
+has no effect and the per-VLAN state is set using the \fBbridge vlan\fR option
+\fBneigh_suppress\fR. By default this flag is off.
+
+.TP
+.BR "vlan_tunnel on " or " vlan_tunnel off "
+Controls whether vlan to tunnel mapping is enabled on the port. By
+default this flag is off.
+
+.TP
+.BR "isolated on " or " isolated off "
+Controls whether a given port will be isolated, which means it will be
+able to communicate with non-isolated ports only. By default this
+flag is off.
+
+.TP
+.BR "locked on " or " locked off "
+Controls whether a port is locked or not. When locked, non-link-local frames
+received through the port are dropped unless an FDB entry with the MAC source
+address points to the port. The common use case is IEEE 802.1X where hosts can
+authenticate themselves by exchanging EAPOL frames with an authenticator. After
+authentication is complete, the user space control plane can install a matching
+FDB entry to allow traffic from the host to be forwarded by the bridge. When
+learning is enabled on a locked port, the
+.B no_linklocal_learn
+bridge option needs to be on to prevent the bridge from learning from received
+EAPOL frames. By default this flag is off.
+
+.TP
+.BR "mab on " or " mab off "
+Controls whether MAC Authentication Bypass (MAB) is enabled on the port or not.
+MAB can only be enabled on a locked port that has learning enabled. When
+enabled, FDB entries are learned from received traffic and have the "locked"
+FDB flag set. The flag can only be set by the kernel and it indicates that the
+FDB entry cannot be used to authenticate the corresponding host. User space can
+decide to authenticate the host by replacing the FDB entry and clearing the
+"locked" FDB flag. Locked FDB entries can roam to unlocked (authorized) ports
+in which case the "locked" flag is cleared. FDB entries cannot roam to locked
+ports regardless of MAB being enabled or not. Therefore, locked FDB entries are
+only created if an FDB entry with the given {MAC, VID} does not already exist.
+This behavior prevents unauthenticated hosts from disrupting traffic destined
+to already authenticated hosts. Locked FDB entries act like regular dynamic
+entries with respect to forwarding and aging. By default this flag is off.
+
+.TP
+.BI backup_port " DEVICE"
+If the port loses carrier all traffic will be redirected to the
+configured backup port
+
+.TP
+.B nobackup_port
+Removes the currently configured backup port
+
+.TP
+.BI backup_nhid " NHID"
+The FDB nexthop object ID (see \fBip-nexthop\fR(8)) to attach to packets being
+redirected to a backup port that has VLAN tunnel mapping enabled (via the
+\fBvlan_tunnel\fR option). Setting a value of 0 (default) has the effect of not
+attaching any ID.
+
+.TP
+.B self
+link setting is configured on specified physical device
+
+.TP
+.B master
+link setting is configured on the software bridge (default)
+
+.TP
+.BR "\-t" , " \-timestamp"
+display current time when using monitor option.
+
+.SS bridge link show - list ports configuration for all bridges.
+
+This command displays ports configuration and flags for all bridges by default.
+
+.TP
+.BI dev " DEV"
+only display the specific bridge port named DEV.
+
+.TP
+.BI master " DEVICE"
+only display ports of the bridge named DEVICE. This is similar to
+"ip link show master <bridge_device>" command.
+
+.SH bridge fdb - forwarding database management
+
+.B fdb
+objects contain known Ethernet addresses on a link.
+
+.P
+The corresponding commands display fdb entries, add new entries,
+append entries,
+and delete old ones.
+
+.SS bridge fdb add - add a new fdb entry
+
+This command creates a new fdb entry.
+
+.TP
+.B LLADDR
+the Ethernet MAC address.
+
+.TP
+.BI dev " DEV"
+the interface to which this address is associated.
+
+.B local
+- is a local permanent fdb entry, which means that the bridge will not forward
+frames with this destination MAC address and VLAN ID, but terminate them
+locally. This flag is default unless "static" or "dynamic" are explicitly
+specified.
+.sp
+
+.B permanent
+- this is a synonym for "local"
+.sp
+
+.B static
+- is a static (no arp) fdb entry
+.sp
+
+.B dynamic
+- is a dynamic reachable age-able fdb entry
+.sp
+
+.B self
+- the operation is fulfilled directly by the driver for the specified network
+device. If the network device belongs to a master like a bridge, then the
+bridge is bypassed and not notified of this operation (and if the device does
+notify the bridge, it is driver-specific behavior and not mandated by this
+flag, check the driver for more details). The "bridge fdb add" command can also
+be used on the bridge device itself, and in this case, the added fdb entries
+will be locally terminated (not forwarded). In the latter case, the "self" flag
+is mandatory. The flag is set by default if "master" is not specified.
+.sp
+
+.B master
+- if the specified network device is a port that belongs to a master device
+such as a bridge, the operation is fulfilled by the master device's driver,
+which may in turn notify the port driver too of the address. If the specified
+device is a master itself, such as a bridge, this flag is invalid.
+.sp
+
+.B router
+- the destination address is associated with a router.
+Valid if the referenced device is a VXLAN type device and has
+route short circuit enabled.
+.sp
+
+.B use
+- the address is in use. User space can use this option to
+indicate to the kernel that the fdb entry is in use.
+.sp
+
+.B extern_learn
+- this entry was learned externally. This option can be used to
+indicate to the kernel that an entry was hardware or user-space
+controller learnt dynamic entry. Kernel will not age such an entry.
+.sp
+
+.B sticky
+- this entry will not change its port due to learning.
+.sp
+
+.in -8
+The next command line parameters apply only
+when the specified device
+.I DEV
+is of type VXLAN.
+.TP
+.BI dst " IPADDR"
+the IP address of the destination
+VXLAN tunnel endpoint where the Ethernet MAC ADDRESS resides.
+
+.TP
+.BI src_vni " VNI"
+the src VNI Network Identifier (or VXLAN Segment ID)
+this entry belongs to. Used only when the vxlan device is in
+external or collect metadata mode. If omitted the value specified at
+vxlan device creation will be used.
+
+.TP
+.BI vni " VNI"
+the VXLAN VNI Network Identifier (or VXLAN Segment ID)
+to use to connect to the remote VXLAN tunnel endpoint.
+If omitted the value specified at vxlan device creation
+will be used.
+
+.TP
+.BI port " PORT"
+the UDP destination PORT number to use to connect to the
+remote VXLAN tunnel endpoint.
+If omitted the default value is used.
+
+.TP
+.BI via " DEVICE"
+device name of the outgoing interface for the
+VXLAN device driver to reach the
+remote VXLAN tunnel endpoint.
+
+.TP
+.BI nhid " NHID "
+ecmp nexthop group for the VXLAN device driver
+to reach remote VXLAN tunnel endpoints.
+
+.SS bridge fdb append - append a forwarding database entry
+This command adds a new fdb entry with an already known
+.IR LLADDR .
+Valid only for multicast link layer addresses.
+The command adds support for broadcast and multicast
+Ethernet MAC addresses.
+The Ethernet MAC address is added multiple times into
+the forwarding database and the vxlan device driver
+sends a copy of the data packet to each entry found.
+
+.PP
+The arguments are the same as with
+.BR "bridge fdb add" .
+
+.SS bridge fdb delete - delete a forwarding database entry
+This command removes an existing fdb entry.
+
+.PP
+The arguments are the same as with
+.BR "bridge fdb add" .
+
+.SS bridge fdb replace - replace a forwarding database entry
+If no matching entry is found, a new one will be created instead.
+
+.PP
+The arguments are the same as with
+.BR "bridge fdb add" .
+
+.SS bridge fdb show - list forwarding entries.
+
+This command displays the current forwarding table.
+
+.PP
+With the
+.B -statistics
+option, the command becomes verbose. It prints out the last updated
+and last used time for each entry.
+
+.SS bridge fdb get - get bridge forwarding entry.
+
+lookup a bridge forwarding table entry.
+
+.TP
+.B LLADDR
+the Ethernet MAC address.
+
+.TP
+.BI dev " DEV"
+the interface to which this address is associated.
+
+.TP
+.BI brport " DEV"
+the bridge port to which this address is associated. same as dev above.
+
+.TP
+.BI br " DEV"
+the bridge to which this address is associated.
+
+.TP
+.B self
+- the address is associated with the port drivers fdb. Usually hardware.
+
+.TP
+.B master
+- the address is associated with master devices fdb. Usually software (default).
+
+.SS bridge fdb flush - flush bridge forwarding table entries.
+
+flush the matching bridge forwarding table entries. Some options below have a negated
+form when "no" is prepended to them (e.g. permanent and nopermanent).
+
+.TP
+.BI dev " DEV"
+the target device for the operation. If the device is a bridge port and "master"
+is set then the operation will be fulfilled by its master device's driver and
+all entries pointing to that port will be deleted.
+
+.TP
+.BI brport " DEV"
+the target bridge port for the operation. If the bridge device is specified then only
+entries pointing to the bridge itself will be deleted. Note that the target device
+specified by this option will override the one specified by dev above.
+
+.TP
+.BI vlan " VID"
+the target VLAN ID for the operation. Match forwarding table entries only with the
+specified VLAN ID.
+
+.TP
+.BI src_vni " VNI"
+the src VNI Network Identifier (or VXLAN Segment ID) for the operation. Match
+forwarding table entries only with the specified VNI. Valid if the referenced
+device is a VXLAN type device.
+
+.TP
+.BI nhid " NHID"
+the ECMP nexthop group for the operation. Match forwarding table entries only
+with the specified NHID. Valid if the referenced device is a VXLAN type device.
+
+.TP
+.BI vni " VNI"
+the VXLAN VNI Network Identifier (or VXLAN Segment ID) for the operation. Match
+forwarding table entries only with the specified VNI. Valid if the referenced
+device is a VXLAN type device.
+
+.TP
+.BI port " PORT"
+the UDP destination PORT number for the operation. Match forwarding table
+entries only with the specified PORT. Valid if the referenced device is a VXLAN
+type device.
+
+.TP
+.BI dst " IPADDR"
+the IP address of the destination VXLAN tunnel endpoint for the operation. Match
+forwarding table entries only with the specified IPADDR. Valid if the referenced
+device is a VXLAN type device.
+
+.TP
+.B self
+the operation is fulfilled directly by the driver for the specified network
+device. If the network device belongs to a master like a bridge, then the
+bridge is bypassed and not notified of this operation. The "bridge fdb flush"
+command can also be used on the bridge device itself. The flag is set by default if
+"master" is not specified.
+
+.TP
+.B master
+if the specified network device is a port that belongs to a master device
+such as a bridge, the operation is fulfilled by the master device's driver.
+Flush with both 'master' and 'self' is not recommended with attributes that are
+not supported by all devices (e.g., vlan, vni). Such command will be handled by
+bridge or VXLAN driver, but will return an error from the driver that does not
+support the attribute. Instead, run flush twice - once with 'self' and once
+with 'master', and each one with the supported attributes.
+
+.TP
+.B [no]permanent
+if specified then only permanent entries will be deleted or respectively if "no"
+is prepended then only non-permanent entries will be deleted.
+
+.TP
+.B [no]static
+if specified then only static entries will be deleted or respectively if "no"
+is prepended then only non-static entries will be deleted.
+
+.TP
+.B [no]dynamic
+if specified then only dynamic entries will be deleted or respectively if "no"
+is prepended then only non-dynamic (static or permanent) entries will be deleted.
+
+.TP
+.B [no]added_by_user
+if specified then only entries with added_by_user flag will be deleted or respectively
+if "no" is prepended then only entries without added_by_user flag will be deleted.
+
+.TP
+.B [no]extern_learn
+if specified then only entries with extern_learn flag will be deleted or respectively
+if "no" is prepended then only entries without extern_learn flag will be deleted.
+
+.TP
+.B [no]sticky
+if specified then only entries with sticky flag will be deleted or respectively
+if "no" is prepended then only entries without sticky flag will be deleted.
+
+.TP
+.B [no]offloaded
+if specified then only entries with offloaded flag will be deleted or respectively
+if "no" is prepended then only entries without offloaded flag will be deleted.
+.sp
+
+.TP
+.B [no]router
+if specified then only entries with router flag will be deleted or respectively
+if "no" is prepended then only entries without router flag will be deleted. Valid
+if the referenced device is a VXLAN type device.
+.sp
+
+.SH bridge mdb - multicast group database management
+
+.B mdb
+objects contain known IP or L2 multicast group addresses on a link.
+
+.P
+The corresponding commands display mdb entries, add new entries, replace
+entries and delete old ones.
+
+.SS bridge mdb add - add a new multicast group database entry
+
+This command creates a new mdb entry.
+
+.TP
+.BI dev " DEV"
+the interface where this group address is associated.
+
+.TP
+.BI port " PORT"
+the port whose link is known to have members of this multicast group.
+
+.TP
+.BI grp " GROUP"
+the multicast group address (IPv4, IPv6 or L2 multicast) whose members reside
+on the link connected to the port.
+
+.B permanent
+- the mdb entry is permanent. Optional for IPv4 and IPv6, mandatory for L2.
+.sp
+
+.B temp
+- the mdb entry is temporary (default)
+.sp
+
+.TP
+.BI src " SOURCE"
+optional source IP address of a sender for this multicast group. If IGMPv3 for IPv4, or
+MLDv2 for IPv6 respectively, are enabled it will be included in the lookup when
+forwarding multicast traffic.
+
+.TP
+.BI vid " VID"
+the VLAN ID which is known to have members of this multicast group.
+
+.TP
+.BR "filter_mode include " or " filter_mode exclude "
+controls whether the sources in the entry's source list are in INCLUDE or
+EXCLUDE mode. Can only be set for (*, G) entries.
+
+.TP
+.BI source_list " SOURCE_LIST"
+optional list of source IP addresses of senders for this multicast group,
+separated by a ','. Whether the entry forwards packets from these senders or
+not is determined by the entry's filter mode, which becomes a mandatory
+argument. Can only be set for (*, G) entries.
+
+.TP
+.BI proto " PROTO"
+the routing protocol identifier of this mdb entry. Can be a number or a string
+from the file /etc/iproute2/rt_protos. If the routing protocol is not given,
+then
+.B static
+is assumed.
+
+.in -8
+The next command line parameters apply only
+when the specified device
+.I DEV
+is of type VXLAN.
+
+.TP
+.BI dst " IPADDR"
+the IP address of the destination
+VXLAN tunnel endpoint where the multicast receivers reside.
+
+.TP
+.BI dst_port " DST_PORT"
+the UDP destination port number to use to connect to the remote VXLAN tunnel
+endpoint. If omitted, the value specified at VXLAN device creation will be
+used.
+
+.TP
+.BI vni " VNI"
+the VXLAN VNI Network Identifier to use to connect to the remote VXLAN tunnel
+endpoint. If omitted, the value specified at VXLAN device creation will be used
+or the source VNI when the VXLAN device is in external mode.
+
+.TP
+.BI src_vni " SRC_VNI"
+the source VNI Network Identifier this entry belongs to. Used only when the
+VXLAN device is in external mode. If omitted, the value specified at VXLAN
+device creation will be used.
+
+.TP
+.BI via " DEV"
+device name of the outgoing interface for the VXLAN device to reach the remote
+VXLAN tunnel endpoint.
+
+.in -8
+The 0.0.0.0 and :: MDB entries are special catchall entries used to flood IPv4
+and IPv6 unregistered multicast packets, respectively. Therefore, when these
+entries are programmed, the catchall 00:00:00:00:00:00 FDB entry will only
+flood broadcast, unknown unicast and link-local multicast.
+
+.in -8
+.SS bridge mdb delete - delete a multicast group database entry
+This command removes an existing mdb entry.
+
+.PP
+The arguments are the same as with
+.BR "bridge mdb add" .
+
+.SS bridge mdb replace - replace a multicast group database entry
+If no matching entry is found, a new one will be created instead.
+
+.PP
+The arguments are the same as with
+.BR "bridge mdb add" .
+
+.SS bridge mdb show - list multicast group database entries
+
+This command displays the current multicast group membership table. The table
+is populated by IGMP and MLD snooping in the bridge driver automatically. It
+can be altered by
+.B bridge mdb add
+and
+.B bridge mdb del
+commands manually too.
+
+.TP
+.BI dev " DEV"
+the interface only whose entries should be listed. Default is to list all
+bridge interfaces.
+
+.PP
+With the
+.B -details
+option, the command becomes verbose. It prints out the ports known to have
+a connected router.
+
+.PP
+With the
+.B -statistics
+option, the command displays timer values for mdb and router port entries.
+
+.SS bridge mdb get - get multicast group database entry.
+
+This command retrieves a multicast group database entry based on its key.
+
+.TP
+.BI dev " DEV"
+the interface where this group address is associated.
+
+.TP
+.BI grp " GROUP"
+the multicast group address (IPv4, IPv6 or L2 multicast).
+
+.TP
+.BI src " SOURCE"
+the source IP address. Only relevant when retrieving an (S, G) entry.
+
+.TP
+.BI vid " VID"
+the VLAN ID. Only relevant when the bridge is VLAN-aware.
+
+.TP
+.BI src_vni " SRC_VNI"
+the source VNI Network Identifier. Only relevant when the VXLAN device is in
+external mode.
+
+.SH bridge vlan - VLAN filter list
+
+.B vlan
+objects contain known VLAN IDs for a link.
+
+.P
+The corresponding commands display vlan filter entries, add new entries,
+and delete old ones.
+
+.SS bridge vlan add - add a new vlan filter entry
+
+This command creates a new vlan filter entry.
+
+.TP
+.BI dev " NAME"
+the interface with which this vlan is associated.
+
+.TP
+.BI vid " VID"
+the VLAN ID that identifies the vlan.
+
+.TP
+.BI tunnel_info " TUNNEL_ID"
+the TUNNEL ID that maps to this vlan. The tunnel id is set in
+dst_metadata for every packet that belongs to this vlan (applicable to
+bridge ports with vlan_tunnel flag set).
+
+.TP
+.B pvid
+the vlan specified is to be considered a PVID at ingress.
+Any untagged frames will be assigned to this VLAN.
+
+.TP
+.B untagged
+the vlan specified is to be treated as untagged on egress.
+
+.TP
+.B self
+the vlan is configured on the specified physical device. Required if the
+device is the bridge device.
+
+.TP
+.B master
+the vlan is configured on the software bridge (default).
+
+.SS bridge vlan delete - delete a vlan filter entry
+This command removes an existing vlan filter entry.
+
+.PP
+The arguments are the same as with
+.BR "bridge vlan add".
+The
+.BR "pvid " and " untagged"
+flags are ignored.
+
+.SS bridge vlan set - change vlan filter entry's options
+
+This command changes vlan filter entry's options.
+
+.TP
+.BI dev " NAME"
+the interface with which this vlan is associated.
+
+.TP
+.BI vid " VID"
+the VLAN ID that identifies the vlan.
+
+.TP
+.BI state " STP_STATE "
+the operation state of the vlan. One may enter STP state name (case insensitive), or one of the
+numbers below. Negative inputs are ignored, and unrecognized names return an
+error. Note that the state is set only for the vlan of the specified device, e.g. if it is
+a bridge port then the state will be set only for the vlan of the port.
+
+.B 0
+- vlan is in STP
+.B DISABLED
+state. Make this vlan completely inactive for STP. This is also called
+BPDU filter and could be used to disable STP on an untrusted vlan.
+.sp
+
+.B 1
+- vlan is in STP
+.B LISTENING
+state. Only valid if STP is enabled on the bridge. In this
+state the vlan listens for STP BPDUs and drops all other traffic frames.
+.sp
+
+.B 2
+- vlan is in STP
+.B LEARNING
+state. Only valid if STP is enabled on the bridge. In this
+state the vlan will accept traffic only for the purpose of updating MAC
+address tables.
+.sp
+
+.B 3
+- vlan is in STP
+.B FORWARDING
+state. This is the default vlan state.
+.sp
+
+.B 4
+- vlan is in STP
+.B BLOCKING
+state. Only valid if STP is enabled on the bridge. This state
+is used during the STP election process. In this state, the vlan will only process
+STP BPDUs.
+.sp
+
+.TP
+.BI mcast_max_groups " MAX_GROUPS "
+Sets the maximum number of MDB entries that can be registered for a given
+VLAN on a given port. A VLAN-specific equivalent of the per-port option of
+the same name, see above for details.
+
+Note that this option is only available when \fBip link\fR option
+\fBmcast_vlan_snooping\fR is enabled.
+
+.TP
+.BI mcast_router " MULTICAST_ROUTER "
+configure this vlan and interface's multicast router mode, note that only modes
+0 - 2 are available for bridge devices.
+A vlan and interface with a multicast router will receive all multicast traffic.
+.I MULTICAST_ROUTER
+may be either
+.sp
+.B 0
+- to disable multicast router.
+.sp
+
+.B 1
+- to let the system detect the presence of routers (default).
+.sp
+
+.B 2
+- to permanently enable multicast traffic forwarding on this vlan and interface.
+.sp
+
+.B 3
+- to temporarily mark this vlan and port as having a multicast router, i.e.
+enable multicast traffic forwarding. This mode is available only for ports.
+.sp
+
+.TP
+.BR "neigh_suppress on " or " neigh_suppress off "
+Controls whether neigh discovery (arp and nd) proxy and suppression is enabled
+for a given VLAN on a given port. By default this flag is off.
+
+Note that this option only takes effect when \fBbridge link\fR option
+\fBneigh_vlan_suppress\fR is enabled for a given port.
+
+.SS bridge vlan show - list vlan configuration.
+
+This command displays the current VLAN filter table.
+
+.PP
+With the
+.B -details
+option, the command becomes verbose. It displays the per-vlan options.
+
+.PP
+With the
+.B -statistics
+option, the command displays per-vlan traffic statistics.
+
+.SS bridge vlan tunnelshow - list vlan tunnel mapping.
+
+This command displays the current vlan tunnel info mapping.
+
+.SS bridge vlan global set - change vlan filter entry's global options
+
+This command changes vlan filter entry's global options.
+
+.TP
+.BI dev " NAME"
+the interface with which this vlan is associated. Only bridge devices are
+supported for global options.
+
+.TP
+.BI vid " VID"
+the VLAN ID that identifies the vlan.
+
+.TP
+.BI mcast_snooping " MULTICAST_SNOOPING "
+turn multicast snooping for VLAN entry with VLAN ID on
+.RI ( MULTICAST_SNOOPING " > 0) "
+or off
+.RI ( MULTICAST_SNOOPING " == 0). Default is on. "
+
+.TP
+.BI mcast_querier " MULTICAST_QUERIER "
+enable
+.RI ( MULTICAST_QUERIER " > 0) "
+or disable
+.RI ( MULTICAST_QUERIER " == 0) "
+IGMP/MLD querier, ie sending of multicast queries by the bridge. Default is disabled.
+
+.TP
+.BI mcast_igmp_version " IGMP_VERSION "
+set the IGMP version. Default is 2.
+
+.TP
+.BI mcast_mld_version " MLD_VERSION "
+set the MLD version. Default is 1.
+
+.TP
+.BI mcast_last_member_count " LAST_MEMBER_COUNT "
+set multicast last member count, ie the number of queries the bridge
+will send before stopping forwarding a multicast group after a "leave"
+message has been received. Default is 2.
+
+.TP
+.BI mcast_last_member_interval " LAST_MEMBER_INTERVAL "
+interval between queries to find remaining members of a group,
+after a "leave" message is received.
+
+.TP
+.BI mcast_startup_query_count " STARTUP_QUERY_COUNT "
+set the number of queries to send during startup phase. Default is 2.
+
+.TP
+.BI mcast_startup_query_interval " STARTUP_QUERY_INTERVAL "
+interval between queries in the startup phase.
+
+.TP
+.BI mcast_membership_interval " MEMBERSHIP_INTERVAL "
+delay after which the bridge will leave a group,
+if no membership reports for this group are received.
+
+.TP
+.BI mcast_querier_interval " QUERIER_INTERVAL "
+interval between queries sent by other routers. If no queries are seen
+after this delay has passed, the bridge will start to send its own queries
+(as if
+.BI mcast_querier
+was enabled).
+
+.TP
+.BI mcast_query_interval " QUERY_INTERVAL "
+interval between queries sent by the bridge after the end of the
+startup phase.
+
+.TP
+.BI mcast_query_response_interval " QUERY_RESPONSE_INTERVAL "
+set the Max Response Time/Maximum Response Delay for IGMP/MLD
+queries sent by the bridge.
+
+.SS bridge vlan global show - list global vlan options.
+
+This command displays the global VLAN options for each VLAN entry.
+
+.TP
+.BI dev " DEV"
+the interface only whose VLAN global options should be listed. Default is to list
+all bridge interfaces.
+
+.TP
+.BI vid " VID"
+the VLAN ID only whose global options should be listed. Default is to list
+all vlans.
+
+.SH bridge vni - VNI filter list
+
+.B vni
+objects contain known VNI IDs for a dst metadata vxlan link.
+
+.P
+The corresponding commands display vni filter entries, add new entries,
+and delete old ones.
+
+.SS bridge vni add - add a new vni filter entry
+
+This command creates a new vni filter entry.
+
+.TP
+.BI dev " NAME"
+the interface with which this vni is associated.
+
+.TP
+.BI vni " VNI"
+the VNI ID that identifies the vni.
+
+.TP
+.BI remote " IPADDR"
+specifies the unicast destination IP address to use in outgoing packets
+when the destination link layer address is not known in the VXLAN device
+forwarding database. This parameter cannot be specified with the group.
+
+.TP
+.BI group " IPADDR"
+specifies the multicast IP address to join for this VNI
+
+.SS bridge vni del - delete a new vni filter entry
+
+This command removes an existing vni filter entry.
+
+.PP
+The arguments are the same as with
+.BR "bridge vni add".
+
+.SS bridge vni show - list vni filtering configuration.
+
+This command displays the current vni filter table.
+
+.PP
+With the
+.B -statistics
+option, the command displays per-vni traffic statistics.
+
+.TP
+.BI dev " NAME"
+shows vni filtering table associated with the vxlan device
+
+.SH bridge monitor - state monitoring
+
+The
+.B bridge
+utility can monitor the state of devices and addresses
+continuously. This option has a slightly different format.
+Namely, the
+.B monitor
+command is the first in the command line and then the object list follows:
+
+.BR "bridge monitor" " [ " all " |"
+.IR OBJECT-LIST " ]"
+
+.I OBJECT-LIST
+is the list of object types that we want to monitor.
+It may contain
+.BR link ", " fdb ", " vlan " and " mdb "."
+If no
+.B file
+argument is given,
+.B bridge
+opens RTNETLINK, listens on it and dumps state changes in the format
+described in previous sections.
+
+.P
+If a file name is given, it does not listen on RTNETLINK,
+but opens the file containing RTNETLINK messages saved in binary format
+and dumps them.
+
+.SH NOTES
+This command uses facilities added in Linux 3.0.
+
+Although the forwarding table is maintained on a per-bridge device basis
+the bridge device is not part of the syntax. This is a limitation of the
+underlying netlink neighbour message protocol. When displaying the
+forwarding table, entries for all bridges are displayed.
+Add/delete/modify commands determine the underlying bridge device
+based on the bridge to which the corresponding ethernet device is attached.
+
+
+.SH SEE ALSO
+.BR ip (8)
+.SH BUGS
+.RB "Please direct bugreports and patches to: " <netdev@vger.kernel.org>
+
+.SH AUTHOR
+Original Manpage by Stephen Hemminger
diff --git a/upstream/fedora-40/man8/btrfs-balance.8 b/upstream/fedora-40/man8/btrfs-balance.8
new file mode 100644
index 00000000..c30684c6
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-balance.8
@@ -0,0 +1,584 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-BALANCE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-balance \- balance block groups on a btrfs filesystem
+.SH SYNOPSIS
+.sp
+\fBbtrfs balance\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+The primary purpose of the balance feature is to spread block groups across
+all devices so they match constraints defined by the respective profiles. See
+\fI\%mkfs.btrfs(8)\fP section \fI\%PROFILES\fP
+for more details.
+The scope of the balancing process can be further tuned by use of filters that
+can select the block groups to process. Balance works only on a mounted
+filesystem. Extent sharing is preserved and reflinks are not broken.
+Files are not defragmented nor recompressed, file extents are preserved
+but the physical location on devices will change.
+.sp
+The balance operation is cancellable by the user. The on\-disk state of the
+filesystem is always consistent so an unexpected interruption (e.g. system crash,
+reboot) does not corrupt the filesystem. The progress of the balance operation
+is temporarily stored as an internal state and will be resumed upon mount,
+unless the mount option \fIskip_balance\fP is specified.
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+Running balance without filters will take a lot of time as it basically move
+data/metadata from the whole filesystem and needs to update all block
+pointers.
+.UNINDENT
+.UNINDENT
+.sp
+The filters can be used to perform following actions:
+.INDENT 0.0
+.IP \(bu 2
+convert block group profiles (filter \fIconvert\fP)
+.IP \(bu 2
+make block group usage more compact (filter \fIusage\fP)
+.IP \(bu 2
+perform actions only on a given device (filters \fIdevid\fP, \fIdrange\fP)
+.UNINDENT
+.sp
+The filters can be applied to a combination of block group types (data,
+metadata, system). Note that changing only the \fIsystem\fP type needs the force
+option. Otherwise \fIsystem\fP gets automatically converted whenever \fImetadata\fP
+profile is converted.
+.sp
+When metadata redundancy is reduced (e.g. from RAID1 to single) the force option
+is also required and it is noted in system log.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The balance operation needs enough work space, i.e. space that is completely
+unused in the filesystem, otherwise this may lead to ENOSPC reports. See
+the section \fIENOSPC\fP for more details.
+.UNINDENT
+.UNINDENT
+.SH COMPATIBILITY
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The balance subcommand also exists under the \fBbtrfs filesystem\fP namespace.
+This still works for backward compatibility but is deprecated and should not
+be used any more.
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+A short syntax \fBbtrfs balance <path>\fP works due to backward compatibility
+but is deprecated and should not be used any more. Use \fBbtrfs balance start\fP
+command instead.
+.UNINDENT
+.UNINDENT
+.SH PERFORMANCE IMPLICATIONS
+.sp
+Balancing operations are very IO intensive and can also be quite CPU intensive,
+impacting other ongoing filesystem operations. Typically large amounts of data
+are copied from one location to another, with corresponding metadata updates.
+.sp
+Depending upon the block group layout, it can also be seek heavy. Performance
+on rotational devices is noticeably worse compared to SSDs or fast arrays.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B cancel <path>
+cancels a running or paused balance, the command will block and wait until the
+current block group being processed completes
+.sp
+Since kernel 5.7 the response time of the cancellation is significantly
+improved, on older kernels it might take a long time until currently
+processed chunk is completely finished.
+.TP
+.B pause <path>
+pause running balance operation, this will store the state of the balance
+progress and used filters to the filesystem
+.TP
+.B resume <path>
+resume interrupted balance, the balance status must be stored on the filesystem
+from previous run, e.g. after it was paused or forcibly interrupted and mounted
+again with \fIskip_balance\fP
+.TP
+.B start [options] <path>
+start the balance operation according to the specified filters, without any filters
+the data and metadata from the whole filesystem are moved. The process runs in
+the foreground.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The balance command without filters will basically move everything in the
+filesystem to a new physical location on devices (i.e. it does not affect the
+logical properties of file extents like offsets within files and extent
+sharing). The run time is potentially very long, depending on the filesystem
+size. To prevent starting a full balance by accident, the user is warned and
+has a few seconds to cancel the operation before it starts. The warning and
+delay can be skipped with \fI\-\-full\-balance\fP option.
+.UNINDENT
+.UNINDENT
+.sp
+Please note that the filters must be written together with the \fI\-d\fP, \fI\-m\fP and
+\fI\-s\fP options, because they\(aqre optional and bare \fI\-d\fP and \fI\-m\fP also work and
+mean no filters.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+When the target profile for conversion filter is \fIraid5\fP or \fIraid6\fP,
+there\(aqs a safety timeout of 10 seconds to warn users about the status of the feature
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-d[<filters>]
+act on data block groups, see section \fI\%FILTERS\fP for details about \fIfilters\fP
+.TP
+.B \-m[<filters>]
+act on metadata chunks, see \fI\%FILTERS\fP for details about \fIfilters\fP
+.TP
+.B \-s[<filters>]
+act on system chunks (requires \fI\-f\fP), see \fI\%FILTERS\fP for details about \fIfilters\fP\&.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-f
+force a reduction of metadata integrity, e.g. when going from \fIraid1\fP to
+\fIsingle\fP, or skip safety timeout when the target conversion profile is \fIraid5\fP
+or \fIraid6\fP
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-background|\-\-bg
+run the balance operation asynchronously in the background, uses \fBfork(2)\fP to
+start the process that calls the kernel ioctl
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-enqueue
+wait if there\(aqs another exclusive operation running, otherwise continue
+.TP
+.B \-v
+(deprecated) alias for global \(aq\-v\(aq option
+.UNINDENT
+.TP
+.B status [\-v] <path>
+Show status of running or paused balance.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.UNINDENT
+.SH FILTERS
+.sp
+From kernel 3.3 onwards, BTRFS balance can limit its action to a subset of the
+whole filesystem, and can be used to change the replication configuration (e.g.
+convert data from \fBsingle\fP to \fBRAID1\fP).
+.sp
+Balance can be limited to a block group profile with the following options:
+.INDENT 0.0
+.IP \(bu 2
+\fB\-d\fP for data block groups
+.IP \(bu 2
+\fB\-m\fP for metadata block groups (also implicitly applies to \fI\-s\fP)
+.IP \(bu 2
+\fB\-s\fP for system block groups
+.UNINDENT
+.sp
+The options have an optional parameter which means that the parameter must start
+right after the option without a space (this is mandatory getopt syntax), like
+\fB\-dusage=10\fP\&. Options for all block group types can be specified in one command.
+.sp
+A filter has the following structure: \fBfilter[=params][,filter=...]\fP
+.sp
+To combine multiple filters use \fB,\fP, without spaces. Example: \fB\-dconvert=raid1,soft\fP
+.sp
+BTRFS can have different profiles on a single device or the same profile on
+multiple device.
+.sp
+The main reason why you want to have different profiles for data and metadata
+is to provide additional protection of the filesystem\(aqs metadata when devices fail,
+since a single sector of unrecoverable metadata will break the filesystem,
+while a single sector of lost data can be trivially recovered by deleting the broken file.
+.sp
+Before changing profiles, make sure there is enough unallocated space on
+existing drives to create new metadata block groups (for filesystems
+over 50GiB, this is \fB1GB * (number_of_devices + 2))\fP\&.
+.sp
+Default profiles on BTRFS are:
+.INDENT 0.0
+.IP \(bu 2
+data: \fBsingle\fP
+.IP \(bu 2
+.INDENT 2.0
+.TP
+.B metadata:
+.INDENT 7.0
+.IP \(bu 2
+single devices: \fBdup\fP
+.IP \(bu 2
+multiple devices: \fBraid1\fP
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+The available filter types are:
+.SS Filter types
+.INDENT 0.0
+.TP
+.B profiles=<profiles>
+Balances only block groups with the given profiles. Parameters
+are a list of profile names separated by \fB|\fP (pipe).
+.TP
+.B usage=<percent>, usage=<range>
+Balances only block groups with usage under the given percentage. The
+value of 0 is allowed and will clean up completely unused block groups, this
+should not require any new work space allocated. You may want to use \fIusage=0\fP
+in case balance is returning ENOSPC and your filesystem is not too full.
+.sp
+The argument may be a single value or a range. The single value \fBN\fP means \fIat
+most N percent used\fP, equivalent to \fB\&..N\fP range syntax. Kernels prior to 4.4
+accept only the single value format.
+The minimum range boundary is inclusive, maximum is exclusive.
+.TP
+.B devid=<id>
+Balances only block groups which have at least one chunk on the given
+device. To list devices with ids use \fBbtrfs filesystem show\fP\&.
+.TP
+.B drange=<range>
+Balance only block groups which overlap with the given byte range on any
+device. Use in conjunction with \fBdevid\fP to filter on a specific device. The
+parameter is a range specified as \fBstart..end\fP\&.
+.TP
+.B vrange=<range>
+Balance only block groups which overlap with the given byte range in the
+filesystem\(aqs internal virtual address space. This is the address space that
+most reports from btrfs in the kernel log use. The parameter is a range
+specified as \fBstart..end\fP\&.
+.TP
+.B convert=<profile>
+Convert each selected block group to the given profile name identified by
+parameters.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Starting with kernel 4.5, the \fBdata\fP chunks can be converted to/from the
+\fBDUP\fP profile on a single device.
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Starting with kernel 4.6, all profiles can be converted to/from \fBDUP\fP on
+multi\-device filesystems.
+.UNINDENT
+.UNINDENT
+.TP
+.B limit=<number>, limit=<range>
+Process only given number of chunks, after all filters are applied. This can be
+used to specifically target a chunk in connection with other filters (\fBdrange\fP,
+\fBvrange\fP) or just simply limit the amount of work done by a single balance run.
+.sp
+The argument may be a single value or a range. The single value \fBN\fP means \fIat
+most N chunks\fP, equivalent to \fB\&..N\fP range syntax. Kernels prior to 4.4 accept
+only the single value format. The range minimum and maximum are inclusive.
+.TP
+.B stripes=<range>
+Balance only block groups which have the given number of stripes. The parameter
+is a range specified as \fBstart..end\fP\&. Makes sense for block group profiles that
+utilize striping, i.e. RAID0/10/5/6. The range minimum and maximum are
+inclusive.
+.TP
+.B soft
+Takes no parameters. Only has meaning when converting between profiles, or
+When doing convert from one profile to another and soft mode is on,
+chunks that already have the target profile are left untouched.
+This is useful e.g. when half of the filesystem was converted earlier but got
+cancelled.
+.sp
+The soft mode switch is (like every other filter) per\-type.
+For example, this means that we can convert metadata chunks the \(dqhard\(dq way
+while converting data chunks selectively with soft switch.
+.UNINDENT
+.sp
+Profile names, used in \fBprofiles\fP and \fBconvert\fP are one of:
+.INDENT 0.0
+.IP \(bu 2
+\fBraid0\fP
+.IP \(bu 2
+\fBraid1\fP
+.IP \(bu 2
+\fBraid1c3\fP
+.IP \(bu 2
+\fBraid1c4\fP
+.IP \(bu 2
+\fBraid10\fP
+.IP \(bu 2
+\fBraid5\fP
+.IP \(bu 2
+\fBraid6\fP
+.IP \(bu 2
+\fBdup\fP
+.IP \(bu 2
+\fBsingle\fP
+.UNINDENT
+.sp
+The mixed data/metadata profiles can be converted in the same way, but conversion
+between mixed and non\-mixed is not implemented. For the constraints of the
+profiles please refer to \fI\%mkfs.btrfs(8)\fP section
+\fI\%PROFILES\fP\&.
+.SH ENOSPC
+.sp
+The way balance operates, it usually needs to temporarily create a new block
+group and move the old data there, before the old block group can be removed.
+For that it needs the work space, otherwise it fails for ENOSPC reasons.
+This is not the same ENOSPC as if the free space is exhausted. This refers to
+the space on the level of block groups, which are bigger parts of the filesystem
+that contain many file extents.
+.sp
+The free work space can be calculated from the output of the \fBbtrfs filesystem show\fP
+command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Label: \(aqBTRFS\(aq uuid: 8a9d72cd\-ead3\-469d\-b371\-9c7203276265
+ Total devices 2 FS bytes used 77.03GiB
+ devid 1 size 53.90GiB used 51.90GiB path /dev/sdc2
+ devid 2 size 53.90GiB used 51.90GiB path /dev/sde1
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fIsize\fP \- \fIused\fP = \fIfree work space\fP
+.sp
+\fI53.90GiB\fP \- \fI51.90GiB\fP = \fI2.00GiB\fP
+.sp
+An example of a filter that does not require workspace is \fIusage=0\fP\&. This will
+scan through all unused block groups of a given type and will reclaim the
+space. After that it might be possible to run other filters.
+.sp
+\fBCONVERSIONS ON MULTIPLE DEVICES\fP
+.sp
+Conversion to profiles based on striping (RAID0, RAID5/6) require the work
+space on each device. An interrupted balance may leave partially filled block
+groups that consume the work space.
+.SH EXAMPLES
+.sp
+A more comprehensive example when going from one to multiple devices, and back,
+can be found in section \fITYPICAL USECASES\fP of \fI\%btrfs\-device(8)\fP\&.
+.SS MAKING BLOCK GROUP LAYOUT MORE COMPACT
+.sp
+The layout of block groups is not normally visible; most tools report only
+summarized numbers of free or used space, but there are still some hints
+provided.
+.sp
+Let\(aqs use the following real life example and start with the output:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs filesystem df /path
+Data, single: total=75.81GiB, used=64.44GiB
+System, RAID1: total=32.00MiB, used=20.00KiB
+Metadata, RAID1: total=15.87GiB, used=8.84GiB
+GlobalReserve, single: total=512.00MiB, used=0.00B
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Roughly calculating for data, \fI75G \- 64G = 11G\fP, the used/total ratio is
+about \fI85%\fP\&. How can we can interpret that:
+.INDENT 0.0
+.IP \(bu 2
+chunks are filled by 85% on average, i.e. the \fIusage\fP filter with anything
+smaller than 85 will likely not affect anything
+.IP \(bu 2
+in a more realistic scenario, the space is distributed unevenly, we can
+assume there are completely used chunks and the remaining are partially filled
+.UNINDENT
+.sp
+Compacting the layout could be used on both. In the former case it would spread
+data of a given chunk to the others and removing it. Here we can estimate that
+roughly 850 MiB of data have to be moved (85% of a 1 GiB chunk).
+.sp
+In the latter case, targeting the partially used chunks will have to move less
+data and thus will be faster. A typical filter command would look like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs balance start \-dusage=50 /path
+Done, had to relocate 2 out of 97 chunks
+
+$ btrfs filesystem df /path
+Data, single: total=74.03GiB, used=64.43GiB
+System, RAID1: total=32.00MiB, used=20.00KiB
+Metadata, RAID1: total=15.87GiB, used=8.84GiB
+GlobalReserve, single: total=512.00MiB, used=0.00B
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+As you can see, the \fItotal\fP amount of data is decreased by just 1 GiB, which is
+an expected result. Let\(aqs see what will happen when we increase the estimated
+usage filter.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs balance start \-dusage=85 /path
+Done, had to relocate 13 out of 95 chunks
+
+$ btrfs filesystem df /path
+Data, single: total=68.03GiB, used=64.43GiB
+System, RAID1: total=32.00MiB, used=20.00KiB
+Metadata, RAID1: total=15.87GiB, used=8.85GiB
+GlobalReserve, single: total=512.00MiB, used=0.00B
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Now the used/total ratio is about 94% and we moved about \fI74G \- 68G = 6G\fP of
+data to the remaining block groups, i.e. the 6GiB are now free of filesystem
+structures, and can be reused for new data or metadata block groups.
+.sp
+We can do a similar exercise with the metadata block groups, but this should
+not typically be necessary, unless the used/total ratio is really off. Here
+the ratio is roughly 50% but the difference as an absolute number is \(dqa few
+gigabytes\(dq, which can be considered normal for a workload with snapshots or
+reflinks updated frequently.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs balance start \-musage=50 /path
+Done, had to relocate 4 out of 89 chunks
+
+$ btrfs filesystem df /path
+Data, single: total=68.03GiB, used=64.43GiB
+System, RAID1: total=32.00MiB, used=20.00KiB
+Metadata, RAID1: total=14.87GiB, used=8.85GiB
+GlobalReserve, single: total=512.00MiB, used=0.00B
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Just 1 GiB decrease, which possibly means there are block groups with good
+utilization. Making the metadata layout more compact would in turn require
+updating more metadata structures, i.e. lots of IO. As running out of metadata
+space is a more severe problem, it\(aqs not necessary to keep the utilization
+ratio too high. For the purpose of this example, let\(aqs see the effects of
+further compaction:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs balance start \-musage=70 /path
+Done, had to relocate 13 out of 88 chunks
+
+$ btrfs filesystem df .
+Data, single: total=68.03GiB, used=64.43GiB
+System, RAID1: total=32.00MiB, used=20.00KiB
+Metadata, RAID1: total=11.97GiB, used=8.83GiB
+GlobalReserve, single: total=512.00MiB, used=0.00B
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS GETTING RID OF COMPLETELY UNUSED BLOCK GROUPS
+.sp
+Normally the balance operation needs a work space, to temporarily move the
+data before the old block groups gets removed. If there\(aqs no work space, it
+ends with \fIno space left\fP\&.
+.sp
+There\(aqs a special case when the block groups are completely unused, possibly
+left after removing lots of files or deleting snapshots. Removing empty block
+groups is automatic since 3.18. The same can be achieved manually with a
+notable exception that this operation does not require the work space. Thus it
+can be used to reclaim unused block groups to make it available.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs balance start \-dusage=0 /path
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This should lead to decrease in the \fItotal\fP numbers in the \fBbtrfs filesystem df\fP output.
+.SH EXIT STATUS
+.sp
+Unless indicated otherwise below, all \fBbtrfs balance\fP subcommands
+return a zero exit status if they succeed, and non zero in case of
+failure.
+.sp
+The \fBpause\fP, \fBcancel\fP, and \fBresume\fP subcommands exit with a status of
+\fB2\fP if they fail because a balance operation was not running.
+.sp
+The \fBstatus\fP subcommand exits with a status of \fB0\fP if a balance
+operation is not running, \fB1\fP if the command\-line usage is incorrect
+or a balance operation is still running, and \fB2\fP on other errors.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP,
+\fI\%btrfs\-device(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-check.8 b/upstream/fedora-40/man8/btrfs-check.8
new file mode 100644
index 00000000..59d0a764
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-check.8
@@ -0,0 +1,230 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-CHECK" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-check \- check or repair a btrfs filesystem
+.SH SYNOPSIS
+.sp
+\fBbtrfs check\fP [options] <device>
+.SH DESCRIPTION
+.sp
+The filesystem checker is used to verify structural integrity of a filesystem
+and attempt to repair it if requested. It is recommended to unmount the
+filesystem prior to running the check, but it is possible to start checking a
+mounted filesystem (see \fI\%\-\-force\fP).
+.sp
+By default, \fBbtrfs check\fP will not modify the device but you can reaffirm that
+by the option \fI\-\-readonly\fP\&.
+.sp
+\fBbtrfsck\fP is an alias of \fBbtrfs check\fP command and is now deprecated.
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+Do not use \fI\-\-repair\fP unless you are advised to do so by a developer
+or an experienced user, and then only after having accepted that no \fIfsck\fP
+successfully repair all types of filesystem corruption. E.g. some other software
+or hardware bugs can fatally damage a volume.
+.UNINDENT
+.UNINDENT
+.sp
+The structural integrity check verifies if internal filesystem objects or
+data structures satisfy the constraints, point to the right objects or are
+correctly connected together.
+.sp
+There are several cross checks that can detect wrong reference counts of shared
+extents, backreferences, missing extents of inodes, directory and inode
+connectivity etc.
+.sp
+The amount of memory required can be high, depending on the size of the
+filesystem, similarly the run time. Check the modes that can also affect that.
+.SH SAFE OR ADVISORY OPTIONS
+.INDENT 0.0
+.TP
+.B \-b|\-\-backup
+use the first valid set of backup roots stored in the superblock
+.sp
+This can be combined with \fI\-\-super\fP if some of the superblocks are damaged.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-check\-data\-csum
+verify checksums of data blocks
+.sp
+This expects that the filesystem is otherwise OK, and is basically an offline
+\fIscrub\fP that does not repair data from spare copies.
+.TP
+.BI \-\-chunk\-root \ <bytenr>
+use the given offset \fIbytenr\fP for the chunk tree root
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-E|\-\-subvol\-extents <subvolid>
+show extent state for the given subvolume
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-\-mode \ <MODE>
+select mode of operation regarding memory and IO
+.sp
+The \fIMODE\fP can be one of:
+.INDENT 7.0
+.TP
+.B original
+The metadata are read into memory and verified, thus the requirements are high
+on large filesystems and can even lead to out\-of\-memory conditions. The
+possible workaround is to export the block device over network to a machine
+with enough memory.
+.TP
+.B lowmem
+This mode is supposed to address the high memory consumption at the cost of
+increased IO when it needs to re\-read blocks. This may increase run time.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-p|\-\-progress
+indicate progress at various checking phases
+.TP
+.B \-Q|\-\-qgroup\-report
+verify qgroup accounting and compare against filesystem accounting
+.TP
+.B \-r|\-\-tree\-root <bytenr>
+use the given offset \(aqbytenr\(aq for the tree root
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-readonly
+(default)
+run in read\-only mode, this option exists to calm potential panic when users
+are going to run the checker
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-s|\-\-super <N>
+use Nth superblock copy, valid values are 0, 1 or 2 if the
+respective superblock offset is within the device size
+.sp
+This can be used to use a different starting point if some of the primary
+superblock is damaged.
+.TP
+.B \-\-clear\-space\-cache v1|v2
+completely remove the free space cache of the given version
+.sp
+See also the \fIclear_cache\fP mount option.
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+This option is deprecated, please use \fIbtrfs rescue clear\-space\-cache\fP
+instead, this option would be removed in the future eventually.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SH DANGEROUS OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-repair
+enable the repair mode and attempt to fix problems where possible
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+There\(aqs a warning and 10 second delay when this option is run without
+\fI\-\-force\fP to give users a chance to think twice before running repair, the
+warnings in documentation have shown to be insufficient.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-\-init\-csum\-tree
+create a new checksum tree and recalculate checksums in all files
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+Do not blindly use this option to fix checksum mismatch problems.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-\-init\-extent\-tree
+build the extent tree from scratch
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+Do not use unless you know what you\(aqre doing.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-force
+allow work on a mounted filesystem and skip mount checks. Note that
+this should work fine on a quiescent or read\-only mounted filesystem
+but may crash if the device is changed externally, e.g. by the kernel
+module.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+It is possible to run with \-\-repair but on a mounted filesystem
+that will most likely lead to a corruption unless the filesystem
+is in a quiescent state which may not be possible to guarantee.
+.UNINDENT
+.UNINDENT
+.sp
+This option also skips the delay and warning in the repair mode (see
+\fI\-\-repair\fP).
+.UNINDENT
+.SH DEPRECATED OR MOVED OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-clear\-ino\-cache
+(removed: 6.7)
+.sp
+remove leftover items pertaining to the deprecated \fIinode cache\fP feature,
+please use \fI\%btrfs rescue clear\-ino\-cache\fP
+instead
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs check\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP,
+\fI\%btrfs\-scrub(8)\fP,
+\fI\%btrfs\-rescue(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-convert.8 b/upstream/fedora-40/man8/btrfs-convert.8
new file mode 100644
index 00000000..fded5087
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-convert.8
@@ -0,0 +1,253 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-CONVERT" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-convert \- convert from ext2/3/4 or reiserfs filesystem to btrfs in-place
+.SH SYNOPSIS
+.sp
+\fBbtrfs\-convert\fP [options] <device>
+.SH DESCRIPTION
+.sp
+The \fBbtrfs\-convert\fP tool can be used to convert existing source filesystem
+image to a btrfs filesystem in\-place. The original filesystem image is
+accessible in subvolume named like \fIext2_saved\fP as file \fIimage\fP\&.
+.sp
+Supported filesystems:
+.INDENT 0.0
+.IP \(bu 2
+ext2, ext3, ext4 \-\- original feature, always built in
+.IP \(bu 2
+reiserfs \-\- since version 4.13, optionally built, requires libreiserfscore 3.6.27
+.IP \(bu 2
+NTFS \-\- external tool \fI\%https://github.com/maharmstone/ntfs2btrfs\fP
+.UNINDENT
+.sp
+The list of supported source filesystem by a given binary is listed at the end
+of help (option \fI\-\-help\fP).
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+If you are going to perform rollback to the original filesystem, you
+should not execute \fBbtrfs balance\fP command on the converted filesystem. This
+will change the extent layout and make \fBbtrfs\-convert\fP unable to rollback.
+.UNINDENT
+.UNINDENT
+.sp
+The conversion utilizes free space of the original filesystem. The exact
+estimate of the required space cannot be foretold. The final btrfs metadata
+might occupy several gigabytes on a hundreds\-gigabyte filesystem.
+.sp
+If the ability to rollback is no longer important, the it is recommended to
+perform a few more steps to transition the btrfs filesystem to a more compact
+layout. This is because the conversion inherits the original data blocks\(aq
+fragmentation, and also because the metadata blocks are bound to the original
+free space layout.
+.sp
+Due to different constraints, it is only possible to convert filesystems that
+have a supported data block size (i.e. the same that would be valid for
+\fBmkfs.btrfs\fP). This is typically the system page size (4KiB on x86_64
+machines).
+.sp
+\fBBEFORE YOU START\fP
+.sp
+The source filesystem must be clean, e.g. no journal to replay or no repairs
+needed. The respective \fBfsck\fP utility must be run on the source filesystem prior
+to conversion. Please refer to the manual pages in case you encounter problems.
+.sp
+For ext2/3/4:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# e2fsck \-fvy /dev/sdx
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For reiserfs:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# reiserfsck \-fy /dev/sdx
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Skipping that step could lead to incorrect results on the target filesystem,
+but it may work.
+.sp
+\fBREMOVE THE ORIGINAL FILESYSTEM METADATA\fP
+.sp
+By removing the subvolume named like \fIext2_saved\fP or \fIreiserfs_saved\fP, all
+metadata of the original filesystem will be removed:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs subvolume delete /mnt/ext2_saved
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+At this point it is not possible to do a rollback. The filesystem is usable but
+may be impacted by the fragmentation inherited from the original filesystem.
+.sp
+\fBMAKE FILE DATA MORE CONTIGUOUS\fP
+.sp
+An optional but recommended step is to run defragmentation on the entire
+filesystem. This will attempt to make file extents more contiguous.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs filesystem defrag \-v \-r \-f \-t 32M /mnt/btrfs
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Verbose recursive defragmentation (\fI\-v\fP, \fI\-r\fP), flush data per\-file (\fI\-f\fP) with
+target extent size 32MiB (\fI\-t\fP).
+.sp
+\fBATTEMPT TO MAKE BTRFS METADATA MORE COMPACT\fP
+.sp
+Optional but recommended step.
+.sp
+The metadata block groups after conversion may be smaller than the default size
+(256MiB or 1GiB). Running a balance will attempt to merge the block groups.
+This depends on the free space layout (and fragmentation) and may fail due to
+lack of enough work space. This is a soft error leaving the filesystem usable
+but the block group layout may remain unchanged.
+.sp
+Note that balance operation takes a lot of time, please see also
+\fI\%btrfs\-balance(8)\fP\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs balance start \-m /mnt/btrfs
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.BI \-\-csum \ <type>\fR,\fB \ \-\-checksum \ <type>
+Specify the checksum algorithm. Default is \fIcrc32c\fP\&. Valid values are \fIcrc32c\fP,
+\fIxxhash\fP, \fIsha256\fP or \fIblake2\fP\&. To mount such filesystem kernel must support the
+checksums as well.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-d|\-\-no\-datasum
+disable data checksum calculations and set the NODATASUM file flag, this can speed
+up the conversion
+.TP
+.B \-i|\-\-no\-xattr
+ignore xattrs and ACLs of files
+.TP
+.B \-n|\-\-no\-inline
+disable inlining of small files to metadata blocks, this will decrease the metadata
+consumption and may help to convert a filesystem with low free space
+.TP
+.B \-N|\-\-nodesize <SIZE>
+set filesystem nodesize, the tree block size in which btrfs stores its metadata.
+The default value is 16KiB (16384) or the page size, whichever is bigger.
+Must be a multiple of the sectorsize, but not larger than 65536. See
+\fI\%mkfs.btrfs(8)\fP for more details.
+.TP
+.B \-r|\-\-rollback
+rollback to the original ext2/3/4 filesystem if possible
+.TP
+.B \-l|\-\-label <LABEL>
+set filesystem label during conversion
+.TP
+.B \-L|\-\-copy\-label
+use label from the converted filesystem
+.TP
+.B \-O|\-\-features <feature1>[,<feature2>...]
+A list of filesystem features enabled the at time of conversion. Not all features
+are supported by old kernels. To disable a feature, prefix it with \fI^\fP\&.
+Description of the features is in section
+\fI\%FILESYSTEM FEATURES\fP of
+\fI\%mkfs.btrfs(8)\fP\&.
+.sp
+To see all available features that btrfs\-convert supports run:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+btrfs\-convert \-O list\-all
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.TP
+.B \-p|\-\-progress
+show progress of conversion (a heartbeat indicator and number of inodes
+processed), on by default
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-no\-progress
+disable progress and show only the main phases of conversion
+.TP
+.BI \-\-uuid \ <SPEC>
+set the FSID of the new filesystem based on \(aqSPEC\(aq:
+.INDENT 7.0
+.IP \(bu 2
+\fInew\fP \- (default) generate UUID for the FSID of btrfs
+.IP \(bu 2
+\fIcopy\fP \- copy UUID from the source filesystem
+.IP \(bu 2
+\fIUUID\fP \- a conforming UUID value, the 36 byte string representation
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs\-convert\fP will return 0 if no error happened.
+If any problems happened, 1 will be returned.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-device.8 b/upstream/fedora-40/man8/btrfs-device.8
new file mode 100644
index 00000000..5789f4fa
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-device.8
@@ -0,0 +1,484 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-DEVICE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-device \- manage devices of btrfs filesystems
+.SH SYNOPSIS
+.sp
+\fBbtrfs device\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+The \fBbtrfs device\fP command group is used to manage devices of the btrfs filesystems.
+.SH DEVICE MANAGEMENT
+.sp
+BTRFS filesystem can be created on top of single or multiple block devices.
+Devices can be then added, removed or replaced on demand. Data and metadata are
+organized in allocation profiles with various redundancy policies. There\(aqs some
+similarity with traditional RAID levels, but this could be confusing to users
+familiar with the traditional meaning. Due to the similarity, the RAID
+terminology is widely used in the documentation. See \fI\%mkfs.btrfs(8)\fP for more
+details and the exact profile capabilities and constraints.
+.sp
+The device management works on a mounted filesystem. Devices can be added,
+removed or replaced, by commands provided by \fBbtrfs device\fP and \fBbtrfs replace\fP\&.
+.sp
+The profiles can be also changed, provided there\(aqs enough workspace to do the
+conversion, using the \fBbtrfs balance\fP command and namely the filter \fIconvert\fP\&.
+.INDENT 0.0
+.TP
+.B Type
+The block group profile type is the main distinction of the information stored
+on the block device. User data are called \fIData\fP, the internal data structures
+managed by filesystem are \fIMetadata\fP and \fISystem\fP\&.
+.TP
+.B Profile
+A profile describes an allocation policy based on the redundancy/replication
+constraints in connection with the number of devices. The profile applies to
+data and metadata block groups separately. E.g. \fIsingle\fP, \fIRAID1\fP\&.
+.TP
+.B RAID level
+Where applicable, the level refers to a profile that matches constraints of the
+standard RAID levels. At the moment the supported ones are: RAID0, RAID1,
+RAID10, RAID5 and RAID6.
+.UNINDENT
+.SH TYPICAL USE CASES
+.SS Starting with a single\-device filesystem
+.sp
+Assume we\(aqve created a filesystem on a block device \fB/dev/sda\fP with profile
+\fIsingle/single\fP (data/metadata), the device size is 50GiB and we\(aqve used the
+whole device for the filesystem. The mount point is \fB/mnt\fP\&.
+.sp
+The amount of data stored is 16GiB, metadata have allocated 2GiB.
+.SS Add new device
+.sp
+We want to increase the total size of the filesystem and keep the profiles. The
+size of the new device \fB/dev/sdb\fP is 100GiB.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs device add /dev/sdb /mnt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The amount of free data space increases by less than 100GiB, some space is
+allocated for metadata.
+.SS Convert to RAID1
+.sp
+Now we want to increase the redundancy level of both data and metadata, but
+we\(aqll do that in steps. Note, that the device sizes are not equal and we\(aqll use
+that to show the capabilities of split data/metadata and independent profiles.
+.sp
+The constraint for RAID1 gives us at most 50GiB of usable space and exactly 2
+copies will be stored on the devices.
+.sp
+First we\(aqll convert the metadata. As the metadata occupy less than 50GiB and
+there\(aqs enough workspace for the conversion process, we can do:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs balance start \-mconvert=raid1 /mnt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This operation can take a while, because all metadata have to be moved and all
+block pointers updated. Depending on the physical locations of the old and new
+blocks, the disk seeking is the key factor affecting performance.
+.sp
+You\(aqll note that the system block group has been also converted to RAID1, this
+normally happens as the system block group also holds metadata (the physical to
+logical mappings).
+.sp
+What changed:
+.INDENT 0.0
+.IP \(bu 2
+available data space decreased by 3GiB, usable roughly (50 \- 3) + (100 \- 3) = 144 GiB
+.IP \(bu 2
+metadata redundancy increased
+.UNINDENT
+.sp
+IOW, the unequal device sizes allow for combined space for data yet improved
+redundancy for metadata. If we decide to increase redundancy of data as well,
+we\(aqre going to lose 50GiB of the second device for obvious reasons.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs balance start \-dconvert=raid1 /mnt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The balance process needs some workspace (i.e. a free device space without any
+data or metadata block groups) so the command could fail if there\(aqs too much
+data or the block groups occupy the whole first device.
+.sp
+The device size of \fB/dev/sdb\fP as seen by the filesystem remains unchanged, but
+the logical space from 50\-100GiB will be unused.
+.SS Remove device
+.sp
+Device removal must satisfy the profile constraints, otherwise the command
+fails. For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs device remove /dev/sda /mnt
+ERROR: error removing device \(aq/dev/sda\(aq: unable to go below two devices on raid1
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In order to remove a device, you need to convert the profile in this case:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs balance start \-mconvert=dup \-dconvert=single /mnt
+$ btrfs device remove /dev/sda /mnt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B add [\-Kf] <device> [<device>...] <path>
+Add device(s) to the filesystem identified by \fIpath\fP\&.
+.sp
+If applicable, a whole device discard (TRIM) operation is performed prior to
+adding the device. A device with existing filesystem detected by \fBblkid(8)\fP
+will prevent device addition and has to be forced. Alternatively the filesystem
+can be wiped from the device using e.g. the \fBwipefs(8)\fP tool.
+.sp
+The operation is instant and does not affect existing data. The operation merely
+adds the device to the filesystem structures and creates some block groups
+headers.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-K|\-\-nodiscard
+do not perform discard (TRIM) by default
+.TP
+.B \-f|\-\-force
+force overwrite of existing filesystem on the given disk(s)
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-enqueue
+wait if there\(aqs another exclusive operation running, otherwise continue
+.UNINDENT
+.TP
+.B remove [options] <device>|<devid> [<device>|<devid>...] <path>
+Remove device(s) from a filesystem identified by <path>
+.sp
+Device removal must satisfy the profile constraints, otherwise the command
+fails and cannot be enforced. The filesystem must be converted to
+profile(s) that would allow the removal. This can for example happen when
+going down from 2 devices to 1 and using the RAID1 profile. See the
+section \fI\%Typical use cases\fP\&.
+.sp
+The operation can take long as it needs to move all data from the device.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+It\(aqs possible to specify more than one device on the command
+line but the devices will be removed one by one, not at once.
+This means that the remaining devices to be deleted can be
+still used for writes. In that case there\(aqs a warning and safety
+timeout as this can be confusing and unexpected. The timeout can
+be overridden by option \fI\-\-force\fP\&.
+.UNINDENT
+.UNINDENT
+.sp
+It is possible to delete the device that was used to mount the filesystem. The
+device entry in the mount table (\fB/proc/self/mounts\fP) will be
+replaced by another device name with the lowest device id.
+.sp
+If the filesystem is mounted in degraded mode (\fI\-o degraded\fP), special term
+\fImissing\fP can be used for \fIdevice\fP\&. In that case, the first device that is
+described by the filesystem metadata, but not present at the mount time will be
+removed.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+In most cases, there is only one missing device in degraded mode,
+otherwise mount fails. If there are two or more devices missing (e.g. possible
+in RAID6), you need specify \fImissing\fP as many times as the number of missing
+devices to remove all of them.
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-\-enqueue
+wait if there\(aqs another exclusive operation running, otherwise continue
+.TP
+.B \-\-force
+skip the safety timeout when there are multiple devices for removal, this
+does not force removing devices that would break the profile constraints
+.UNINDENT
+.TP
+.B delete <device>|<devid> [<device>|<devid>...] <path>
+Alias of remove kept for backward compatibility
+.TP
+.B replace <command> [options] <path>
+Alias of whole command group \fIbtrfs replace\fP for convenience. See
+\fI\%btrfs\-replace(8)\fP\&.
+.TP
+.B ready <device>
+Wait until all devices of a multiple\-device filesystem are scanned and
+registered within the kernel module. This is to provide a way for automatic
+filesystem mounting tools to wait before the mount can start. The device scan
+is only one of the preconditions and the mount can fail for other reasons.
+Normal users usually do not need this command and may safely ignore it.
+.TP
+.B scan [options] [<device> [<device>...]]
+Scan devices for a btrfs filesystem and register them with the kernel module.
+This allows mounting multiple\-device filesystem by specifying just one from the
+whole group.
+.sp
+If no devices are passed, all block devices that blkid reports to contain btrfs
+are scanned.
+.sp
+The options \fI\-\-all\-devices\fP or \fI\-d\fP can be used as a fallback in case blkid is
+not available. If used, behavior is the same as if no devices are passed.
+.sp
+The command can be run repeatedly. Devices that have been already registered
+remain as such. Reloading the kernel module will drop this information. There\(aqs
+an alternative way of mounting multiple\-device filesystem without the need for
+prior scanning. See the mount option
+\fI\%device (in btrfs\-man5)\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-d|\-\-all\-devices
+Enumerate and register all devices, use as a fallback in case blkid is not
+available.
+.TP
+.B \-u|\-\-forget
+Unregister a given device or all stale devices if no path is given, the device
+must be unmounted otherwise it\(aqs an error.
+.UNINDENT
+.TP
+.B stats [options] <path>|<device>
+Read and print the device IO error statistics for all devices of the given
+filesystem identified by \fIpath\fP or for a single \fIdevice\fP\&. The filesystem must
+be mounted. See section \fI\%DEVICE STATS\fP
+for more information about the reported statistics and the meaning.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-z|\-\-reset
+Print the stats and reset the values to zero afterwards.
+.TP
+.B \-c|\-\-check
+Check if the stats are all zeros and return 0 if it is so. Set bit 6 of the
+return code if any of the statistics is no\-zero. The error values is 65 if
+reading stats from at least one device failed, otherwise it\(aqs 64.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-T
+Print stats in a tabular form, devices as rows and stats as columns
+.UNINDENT
+.TP
+.B usage [options] <path> [<path>...]::
+Show detailed information about internal allocations on devices.
+.sp
+The level of detail can differ if the command is run under a regular or the
+root user (due to use of restricted ioctls). The first example below is for
+normal user (warning included) and the next one with root on the same
+filesystem:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+WARNING: cannot read detailed chunk info, per\-device usage will not be shown, run as root
+/dev/sdc1, ID: 1
+ Device size: 931.51GiB
+ Device slack: 0.00B
+ Unallocated: 931.51GiB
+
+/dev/sdc1, ID: 1
+ Device size: 931.51GiB
+ Device slack: 0.00B
+ Data,single: 641.00GiB
+ Data,RAID0/3: 1.00GiB
+ Metadata,single: 19.00GiB
+ System,single: 32.00MiB
+ Unallocated: 271.48GiB
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.IP \(bu 2
+\fIDevice size\fP \-\- size of the device as seen by the filesystem (may be
+different than actual device size)
+.IP \(bu 2
+\fIDevice slack\fP \-\- portion of device not used by the filesystem but
+still available in the physical space provided by the device, e.g.
+after a device shrink
+.IP \(bu 2
+\fIData,single\fP, \fIMetadata,single\fP, \fISystem,single\fP \-\- in general, list
+of block group type (Data, Metadata, System) and profile (single,
+RAID1, ...) allocated on the device
+.IP \(bu 2
+\fIData,RAID0/3\fP \-\- in particular, striped profiles
+RAID0/RAID10/RAID5/RAID6 with the number of devices on which the
+stripes are allocated, multiple occurrences of the same profile can
+appear in case a new device has been added and all new available
+stripes have been used for writes
+.IP \(bu 2
+\fIUnallocated\fP \-\- remaining space that the filesystem can still use
+for new block groups
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-b|\-\-raw
+raw numbers in bytes, without the \fIB\fP suffix
+.TP
+.B \-h|\-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-H
+print human friendly numbers, base 1000
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-k|\-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-m|\-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-g|\-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-t|\-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.sp
+If conflicting options are passed, the last one takes precedence.
+.UNINDENT
+.SH DEVICE STATS
+.sp
+The device stats keep persistent record of several error classes related to
+doing IO. The current values are printed at mount time and updated during
+filesystem lifetime or from a scrub run.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs device stats /dev/sda3
+[/dev/sda3].write_io_errs 0
+[/dev/sda3].read_io_errs 0
+[/dev/sda3].flush_io_errs 0
+[/dev/sda3].corruption_errs 0
+[/dev/sda3].generation_errs 0
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B write_io_errs
+Failed writes to the block devices, means that the layers beneath the
+filesystem were not able to satisfy the write request.
+.TP
+.B read_io_errors
+Read request analogy to write_io_errs.
+.TP
+.B flush_io_errs
+Number of failed writes with the \fIFLUSH\fP flag set. The flushing is a method of
+forcing a particular order between write requests and is crucial for
+implementing crash consistency. In case of btrfs, all the metadata blocks must
+be permanently stored on the block device before the superblock is written.
+.TP
+.B corruption_errs
+A block checksum mismatched or a corrupted metadata header was found.
+.TP
+.B generation_errs
+The block generation does not match the expected value (e.g. stored in the
+parent node).
+.UNINDENT
+.sp
+Since kernel 5.14 the device stats are also available in textual form in
+\fB/sys/fs/btrfs/FSID/devinfo/DEVID/error_stats\fP\&.
+.SH EXIT STATUS
+.sp
+\fBbtrfs device\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.sp
+If the \fI\-c\fP option is used, \fIbtrfs device stats\fP will add 64 to the
+exit status if any of the error counters is non\-zero.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-balance(8)\fP
+\fI\%btrfs\-device(8)\fP,
+\fI\%btrfs\-replace(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-filesystem.8 b/upstream/fedora-40/man8/btrfs-filesystem.8
new file mode 100644
index 00000000..f73467d9
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-filesystem.8
@@ -0,0 +1,651 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-FILESYSTEM" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-filesystem \- command group that primarily does work on the whole filesystems
+.SH SYNOPSIS
+.sp
+\fBbtrfs filesystem\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+\fBbtrfs filesystem\fP is used to perform several whole filesystem level tasks,
+including all the regular filesystem operations like resizing, space stats,
+label setting/getting, and defragmentation. There are other whole filesystem
+tasks like scrub or balance that are grouped in separate commands.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B df [options] <path>
+Show a terse summary information about allocation of block group types of a given
+mount point. The original purpose of this command was a debugging helper. The
+output needs to be further interpreted and is not suitable for quick overview.
+.sp
+An example with description:
+.INDENT 7.0
+.IP \(bu 2
+device size: \fI1.9TiB\fP, one device, no RAID
+.IP \(bu 2
+filesystem size: \fI1.9TiB\fP
+.IP \(bu 2
+created with: \fBmkfs.btrfs \-d single \-m single\fP
+.UNINDENT
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs filesystem df /path
+Data, single: total=1.15TiB, used=1.13TiB
+System, single: total=32.00MiB, used=144.00KiB
+Metadata, single: total=12.00GiB, used=6.45GiB
+GlobalReserve, single: total=512.00MiB, used=0.00B
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.IP \(bu 2
+\fIData\fP, \fISystem\fP and \fIMetadata\fP are separate block group types.
+\fIGlobalReserve\fP is an artificial and internal emergency space, see
+below.
+.IP \(bu 2
+\fIsingle\fP \-\- the allocation profile, defined at mkfs time
+.IP \(bu 2
+\fItotal\fP \-\- sum of space reserved for all allocation profiles of the
+given type, i.e. all Data/single. Note that it\(aqs not total size of
+filesystem.
+.IP \(bu 2
+\fIused\fP \-\- sum of used space of the above, i.e. file extents, metadata blocks
+.UNINDENT
+.sp
+\fIGlobalReserve\fP is an artificial and internal emergency space. It is used e.g.
+when the filesystem is full. Its \fItotal\fP size is dynamic based on the
+filesystem size, usually not larger than 512MiB, \fIused\fP may fluctuate.
+.sp
+The GlobalReserve is a portion of Metadata. In case the filesystem metadata is
+exhausted, \fIGlobalReserve/total + Metadata/used = Metadata/total\fP\&. Otherwise
+there appears to be some unused space of Metadata.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-b|\-\-raw
+raw numbers in bytes, without the \fIB\fP suffix
+.TP
+.B \-h|\-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-H
+print human friendly numbers, base 1000
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-k|\-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-m|\-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-g|\-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-t|\-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.sp
+If conflicting options are passed, the last one takes precedence.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B defragment [options] <file>|<dir> [<file>|<dir>...]
+Defragment file data on a mounted filesystem. Requires kernel 2.6.33 and newer.
+.sp
+If \fI\-r\fP is passed, files in dir will be defragmented recursively (not
+descending to subvolumes, mount points and directory symlinks).
+The start position and the number of bytes to defragment can be specified by
+start and length using \fI\-s\fP and \fI\-l\fP options below.
+Extents bigger than value given by \fI\-t\fP will be skipped, otherwise this value
+is used as a target extent size, but is only advisory and may not be reached
+if the free space is too fragmented.
+Use 0 to take the kernel default, which is 256KiB but may change in the future.
+You can also turn on compression in defragment operations.
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+Defragmenting with Linux kernel versions < 3.9 or ≥ 3.14\-rc2 as well as
+with Linux stable kernel versions ≥ 3.10.31, ≥ 3.12.12 or ≥ 3.13.4 will break up
+the reflinks of COW data (for example files copied with \fBcp \-\-reflink\fP,
+snapshots or de\-duplicated data).
+This may cause considerable increase of space usage depending on the broken up
+reflinks.
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Directory arguments without \fI\-r\fP do not defragment files recursively but will
+defragment certain internal trees (extent tree and the subvolume tree). This has been
+confusing and could be removed in the future.
+.UNINDENT
+.UNINDENT
+.sp
+For \fIstart\fP, \fIlen\fP, \fIsize\fP it is possible to append
+units designator: \fIK\fP, \fIM\fP, \fIG\fP, \fIT\fP, \fIP\fP, or \fIE\fP, which represent
+KiB, MiB, GiB, TiB, PiB, or EiB, respectively (case does not matter).
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-c[<algo>]
+compress file contents while defragmenting. Optional argument selects the compression
+algorithm, \fIzlib\fP (default), \fIlzo\fP or \fIzstd\fP\&. Currently it\(aqs not possible to select no
+compression. See also section \fIEXAMPLES\fP\&.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-r
+defragment files recursively in given directories, does not descend to
+subvolumes or mount points
+.TP
+.B \-f
+flush data for each file before going to the next file.
+.sp
+This will limit the amount of dirty data to current file, otherwise the amount
+accumulates from several files and will increase system load. This can also lead
+to ENOSPC if there\(aqs too much dirty data to write and it\(aqs not possible to make
+the reservations for the new data (i.e. how the COW design works).
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-s <start>[kKmMgGtTpPeE]
+defragmentation will start from the given offset, default is beginning of a file
+.TP
+.B \-l <len>[kKmMgGtTpPeE]
+defragment only up to \fIlen\fP bytes, default is the file size
+.TP
+.B \-t <size>[kKmMgGtTpPeE]
+target extent size, do not touch extents bigger than \fIsize\fP, default: 32MiB
+.sp
+The value is only advisory and the final size of the extents may differ,
+depending on the state of the free space and fragmentation or other internal
+logic. Reasonable values are from tens to hundreds of megabytes.
+.UNINDENT
+.INDENT 7.0
+.TP
+.BI \-\-step \ SIZE
+Perform defragmention in the range in SIZE steps and flush (\fI\-f\fP) after each one.
+The range is default (the whole file) or given by \fI\-s\fP and \fI\-l\fP, split into
+the steps or done in one go if the step is larger. Minimum range size is 256KiB.
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.TP
+.B du [options] <path> [<path>..]
+Calculate disk usage of the target files using FIEMAP. For individual
+files, it will report a count of total bytes, and exclusive (not
+shared) bytes. We also calculate a \(aqset shared\(aq value which is
+described below.
+.sp
+Each argument to \fBbtrfs filesystem du\fP will have a \fIset shared\fP value
+calculated for it. We define each \fIset\fP as those files found by a
+recursive search of an argument (recursion descends to subvolumes but not
+mount points). The \fIset shared\fP value then is a sum of all shared space
+referenced by the set.
+.sp
+\fIset shared\fP takes into account overlapping shared extents, hence it
+isn\(aqt as simple as adding up shared extents.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-s|\-\-summarize
+display only a total for each argument
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-raw
+raw numbers in bytes, without the \fIB\fP suffix.
+.TP
+.B \-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to the IEC standard.
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard.
+.TP
+.B \-\-kbytes
+show sizes in KiB, or kB with \-\-si.
+.TP
+.B \-\-mbytes
+show sizes in MiB, or MB with \-\-si.
+.TP
+.B \-\-gbytes
+show sizes in GiB, or GB with \-\-si.
+.TP
+.B \-\-tbytes
+show sizes in TiB, or TB with \-\-si.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B label [<device>|<mountpoint>] [<newlabel>]
+Show or update the label of a filesystem. This works on a mounted filesystem or
+a filesystem image.
+.sp
+The \fInewlabel\fP argument is optional. Current label is printed if the argument
+is omitted.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The maximum allowable length shall be less than 256 chars and must not contain
+a newline. The trailing newline is stripped automatically.
+.UNINDENT
+.UNINDENT
+.TP
+.B mkswapfile [\-s size] file
+Create a new file that\(aqs suitable and formatted as a swapfile. Default
+size is 2GiB, fixed page size 4KiB, minimum size is 40KiB.
+.sp
+A swapfile must be created in a specific way: NOCOW and preallocated.
+Subvolume containing a swapfile cannot be snapshotted and blocks of an
+activated swapfile cannot be balanced.
+.sp
+Swapfile creation can be achieved by standalone commands too. Activation
+needs to be done by command \fBswapon(8)\fP\&. See also command
+\fBbtrfs inspect\-internal map\-swapfile\fP
+and the \fI\%Swapfile feature\fP description.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The command is a simplified version of \(aqmkswap\(aq, if you want to set
+label, page size, or other parameters please use \(aqmkswap\(aq proper.
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-s|\-\-size SIZE
+Create swapfile of a given size SIZE (accepting k/m/g/e/p
+suffix).
+.TP
+.B \-U|\-\-uuid UUID
+specify UUID to use, or a special value: clear (all zeros), random,
+time (time\-based random)
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B resize [options] [<devid>:][+/\-]<size>[kKmMgGtTpPeE]|[<devid>:]max <path>
+Resize a mounted filesystem identified by \fIpath\fP\&. A particular device
+can be resized by specifying a \fIdevid\fP\&.
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+If \fIpath\fP is a file containing a BTRFS image then resize does not work
+as expected and does not resize the image. This would resize the underlying
+filesystem instead.
+.UNINDENT
+.UNINDENT
+.sp
+The \fIdevid\fP can be found in the output of \fBbtrfs filesystem show\fP and
+defaults to 1 if not specified.
+The \fIsize\fP parameter specifies the new size of the filesystem.
+If the prefix \fI+\fP or \fI\-\fP is present the size is increased or decreased
+by the quantity \fIsize\fP\&.
+If no units are specified, bytes are assumed for \fIsize\fP\&.
+Optionally, the size parameter may be suffixed by one of the following
+unit designators: \fIK\fP, \fIM\fP, \fIG\fP, \fIT\fP, \fIP\fP, or \fIE\fP, which represent
+KiB, MiB, GiB, TiB, PiB, or EiB, respectively (case does not matter).
+.sp
+If \fImax\fP is passed, the filesystem will occupy all available space on the
+device respecting \fIdevid\fP (remember, devid 1 by default).
+.sp
+The resize command does not manipulate the size of underlying
+partition. If you wish to enlarge/reduce a filesystem, you must make sure you
+can expand the partition before enlarging the filesystem and shrink the
+partition after reducing the size of the filesystem. This can done using
+\fBfdisk(8)\fP or \fBparted(8)\fP to delete the existing partition and recreate
+it with the new desired size. When recreating the partition make sure to use
+the same starting partition offset as before.
+.sp
+Growing is usually instant as it only updates the size. However, shrinking could
+take a long time if there are data in the device area that\(aqs beyond the new
+end. Relocation of the data takes time.
+.sp
+See also section \fIEXAMPLES\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-\-enqueue
+wait if there\(aqs another exclusive operation running, otherwise continue
+.UNINDENT
+.TP
+.B show [options] [<path>|<uuid>|<device>|<label>]
+Show the btrfs filesystem with some additional info about devices and space
+allocation.
+.sp
+If no option none of \fIpath\fP/\fIuuid\fP/\fIdevice\fP/\fIlabel\fP is passed, information
+about all the BTRFS filesystems is shown, both mounted and unmounted.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-m|\-\-mounted
+probe kernel for mounted BTRFS filesystems
+.TP
+.B \-d|\-\-all\-devices
+scan all devices under \fB/dev\fP, otherwise the devices list is extracted from the
+\fB/proc/partitions\fP file. This is a fallback option if there\(aqs no device node
+manager (like udev) available in the system.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-raw
+raw numbers in bytes, without the \fIB\fP suffix
+.TP
+.B \-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.TP
+.B \-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.TP
+.B sync <path>
+Force a sync of the filesystem at \fIpath\fP, similar to the \fBsync(1)\fP command. In
+addition, it starts cleaning of deleted subvolumes. To wait for the subvolume
+deletion to complete use the \fBbtrfs subvolume sync\fP command.
+.TP
+.B usage [options] <path> [<path>...]
+Show detailed information about internal filesystem usage. This is supposed to
+replace the \fBbtrfs filesystem df\fP command in the long run.
+.sp
+The level of detail can differ if the command is run under a regular or the
+root user (due to use of restricted ioctl). For both there\(aqs a summary section
+with information about space usage:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs filesystem usage /path
+WARNING: cannot read detailed chunk info, RAID5/6 numbers will be incorrect, run as root
+Overall:
+ Device size: 1.82TiB
+ Device allocated: 1.17TiB
+ Device unallocated: 669.99GiB
+ Device missing: 0.00B
+ Device slack: 1.00GiB
+ Used: 1.14TiB
+ Free (estimated): 692.57GiB (min: 692.57GiB)
+ Free (statfs, df) 692.57GiB
+ Data ratio: 1.00
+ Metadata ratio: 1.00
+ Global reserve: 512.00MiB (used: 0.00B)
+ Multiple profiles: no
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.IP \(bu 2
+\fIDevice size\fP \-\- sum of raw device capacity available to the
+filesystem, note that this may not be the same as the total device
+size (the difference is accounted as slack)
+.IP \(bu 2
+\fIDevice allocated\fP \-\- sum of total space allocated for
+data/metadata/system profiles, this also accounts space reserved but
+not yet used for extents
+.IP \(bu 2
+\fIDevice unallocated\fP \-\- the remaining unallocated space for future
+allocations (difference of the above two numbers)
+.IP \(bu 2
+\fIDevice missing\fP \-\- sum of capacity of all missing devices
+.IP \(bu 2
+\fIDevice slack\fP \-\- sum of slack space on all devices (difference
+between entire device size and the space occupied by filesystem)
+.IP \(bu 2
+\fIUsed\fP \-\- sum of the used space of data/metadata/system profiles, not
+including the reserved space
+.IP \(bu 2
+\fIFree (estimated)\fP \-\- approximate size of the remaining free space
+usable for data, including currently allocated space and estimating
+the usage of the unallocated space based on the block group profiles,
+the \fImin\fP is the lower bound of the estimate in case multiple
+profiles are present
+.IP \(bu 2
+\fIFree (statfs, df)\fP \-\- the amount of space available for data as
+reported by the \fBstatfs/statvfs\fP syscall, also returned as \fIAvail\fP in the
+output of \fBdf\fP\&. The value is calculated in a different way and may
+not match the estimate in some cases (e.g. multiple profiles).
+.IP \(bu 2
+\fIData ratio\fP \-\- ratio of total space for data including redundancy or
+parity to the effectively usable data space, e.g. single is 1.0, RAID1
+is 2.0 and for RAID5/6 it depends on the number of devices
+.IP \(bu 2
+\fIMetadata ratio\fP \-\- ditto, for metadata
+.IP \(bu 2
+\fIGlobal reserve\fP \-\- portion of metadata currently used for global
+block reserve, used for emergency purposes (like deletion on a full
+filesystem)
+.IP \(bu 2
+\fIMultiple profiles\fP \-\- what block group types (data, metadata) have
+more than one profile (single, raid1, ...), see \fI\%btrfs(5)\fP section
+\fI\%FILESYSTEMS WITH MULTIPLE PROFILES\fP\&.
+.UNINDENT
+.sp
+And on a zoned filesystem there are two more lines in the \fIDevice\fP section:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Device zone unusable: 5.13GiB
+Device zone size: 256.00MiB
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.IP \(bu 2
+\fIDevice zone unusable\fP \-\- sum of of space that\(aqs been used in the
+past but now is not due to COW and not referenced anymore, the chunks
+have to be reclaimed and zones reset to make it usable again
+.IP \(bu 2
+\fIDevice zone size\fP \-\- the reported zone size of the host\-managed
+device, same for all devices
+.UNINDENT
+.sp
+The root user will also see stats broken down by block group types:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Data,single: Size:1.15TiB, Used:1.13TiB (98.26%)
+ /dev/sdb 1.15TiB
+
+Metadata,single: Size:12.00GiB, Used:6.45GiB (53.75%)
+ /dev/sdb 12.00GiB
+
+System,single: Size:32.00MiB, Used:144.00KiB (0.44%)
+ /dev/sdb 32.00MiB
+
+Unallocated:
+ /dev/sdb 669.99GiB
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fIData\fP is block group type, \fIsingle\fP is block group profile, \fISize\fP is total
+size occupied by this type, \fIUsed\fP is the actually used space, the percent is
+ratio of \fIUsed/Size\fP\&. The \fIUnallocated\fP is remaining space.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-b|\-\-raw
+raw numbers in bytes, without the \fIB\fP suffix
+.TP
+.B \-h|\-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-H
+print human friendly numbers, base 1000
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-k|\-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-m|\-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-g|\-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-t|\-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-T
+show data in tabular format
+.UNINDENT
+.sp
+If conflicting options are passed, the last one takes precedence.
+.UNINDENT
+.SH EXAMPLES
+.sp
+\fB$ btrfs filesystem defrag \-v \-r dir/\fP
+.sp
+Recursively defragment files under \fBdir/\fP, print files as they are processed.
+The file names will be printed in batches, similarly the amount of data triggered
+by defragmentation will be proportional to last N printed files. The system dirty
+memory throttling will slow down the defragmentation but there can still be a lot
+of IO load and the system may stall for a moment.
+.sp
+\fB$ btrfs filesystem defrag \-v \-r \-f dir/\fP
+.sp
+Recursively defragment files under \fBdir/\fP, be verbose and wait until all blocks
+are flushed before processing next file. You can note slower progress of the
+output and lower IO load (proportional to currently defragmented file).
+.sp
+\fB$ btrfs filesystem defrag \-v \-r \-f \-clzo dir/\fP
+.sp
+Recursively defragment files under \fBdir/\fP, be verbose, wait until all blocks are
+flushed and force file compression.
+.sp
+\fB$ btrfs filesystem defrag \-v \-r \-t 64M dir/\fP
+.sp
+Recursively defragment files under \fBdir/\fP, be verbose and try to merge extents
+to be about 64MiB. As stated above, the success rate depends on actual free
+space fragmentation and the final result is not guaranteed to meet the target
+even if run repeatedly.
+.sp
+\fB$ btrfs filesystem resize \-1G /path\fP
+.sp
+\fB$ btrfs filesystem resize 1:\-1G /path\fP
+.sp
+Shrink size of the filesystem\(aqs device id 1 by 1GiB. The first syntax expects a
+device with id 1 to exist, otherwise fails. The second is equivalent and more
+explicit. For a single\-device filesystem it\(aqs typically not necessary to
+specify the devid though.
+.sp
+\fB$ btrfs filesystem resize max /path\fP
+.sp
+\fB$ btrfs filesystem resize 1:max /path\fP
+.sp
+Let\(aqs assume that devid 1 exists and the filesystem does not occupy the whole
+block device, e.g. it has been enlarged and we want to grow the filesystem. By
+simply using \fImax\fP as size we will achieve that.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+There are two ways to minimize the filesystem on a given device. The
+\fBbtrfs inspect\-internal min\-dev\-size\fP command, or iteratively shrink in steps.
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs filesystem\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-subvolume(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-find-root.8 b/upstream/fedora-40/man8/btrfs-find-root.8
new file mode 100644
index 00000000..4dd6969d
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-find-root.8
@@ -0,0 +1,63 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-FIND-ROOT" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-find-root \- filter to find btrfs root
+.SH SYNOPSIS
+.sp
+\fBbtrfs\-find\-root\fP [options] <device>
+.SH DESCRIPTION
+.sp
+\fBbtrfs\-find\-root\fP is used to find the satisfied root, you can filter by
+root tree\(aqs objectid, generation, level.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-a
+Search through all metadata extents, even the root has been already found.
+.TP
+.BI \-g \ <generation>
+Filter root tree by it\(aqs original transaction id, tree root\(aqs generation in default.
+.TP
+.BI \-o \ <objectid>
+Filter root tree by it\(aqs objectid,tree root\(aqs objectid in default.
+.TP
+.BI \-l \ <level>
+Filter root tree by b\-tree\(aqs level, level 0 in default.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs\-find\-root\fP will return 0 if no error happened.
+If any problems happened, 1 will be returned.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-image.8 b/upstream/fedora-40/man8/btrfs-image.8
new file mode 100644
index 00000000..c369ee4d
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-image.8
@@ -0,0 +1,90 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-IMAGE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-image \- create/restore an image of the filesystem
+.SH SYNOPSIS
+.sp
+\fBbtrfs\-image\fP [options] <source> <target>
+.SH DESCRIPTION
+.sp
+\fBbtrfs\-image\fP is used to create an image of a btrfs filesystem.
+All data will be zeroed, but metadata and the like is preserved.
+Mainly used for debugging purposes.
+.sp
+In the dump mode, source is the btrfs device/file and target is the output
+file (use \fI\-\fP for stdout).
+.sp
+In the restore mode (option \fI\-r\fP), source is the dumped image and target is the btrfs device/file.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-r
+Restore metadump image. By default, this fixes super\(aqs chunk tree, by
+using 1 stripe pointing to primary device, so that file system can be
+restored by running tree log reply if possible. To restore without
+changing number of stripes in chunk tree check \fI\-o\fP option.
+.TP
+.BI \-c \ <value>
+Compression level (0 ~ 9).
+.TP
+.BI \-t \ <value>
+Number of threads (1 ~ 32) to be used to process the image dump or restore.
+.TP
+.B \-o
+Use the old restore method, this does not fixup the chunk tree so the restored
+file system will not be able to be mounted.
+.TP
+.B \-s
+Sanitize the file names when generating the image. One \-s means just
+generate random garbage, which means that the directory indexes won\(aqt match up
+since the hashes won\(aqt match with the garbage filenames. Using \fI\-s\fP will
+calculate a collision for the filename so that the hashes match, and if it
+can\(aqt calculate a collision then it will just generate garbage. The collision
+calculator is very time and CPU intensive so only use it if you are having
+problems with your file system tree and need to have it mostly working.
+.TP
+.B \-w
+Walk all the trees manually and copy any blocks that are referenced. Use this
+option if your extent tree is corrupted to make sure that all of the metadata is
+captured.
+.TP
+.B \-m
+Restore for multiple devices, more than 1 device should be provided.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs\-image\fP will return 0 if no error happened.
+If any problems happened, 1 will be returned.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-inspect-internal.8 b/upstream/fedora-40/man8/btrfs-inspect-internal.8
new file mode 100644
index 00000000..25160caf
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-inspect-internal.8
@@ -0,0 +1,336 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-INSPECT-INTERNAL" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-inspect-internal \- query various internal information
+.SH SYNOPSIS
+.sp
+\fBbtrfs inspect\-internal\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+This command group provides an interface to query internal information. The
+functionality ranges from a simple UI to an ioctl or a more complex query that
+assembles the result from several internal structures. The latter usually
+requires calls to privileged ioctls.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B dump\-super [options] <device> [device...]
+Show btrfs superblock information stored on given devices in textual form.
+By default the first superblock is printed, more details about all copies or
+additional backup data can be printed.
+.sp
+Besides verification of the filesystem signature, there are no other sanity
+checks. The superblock checksum status is reported, the device item and
+filesystem UUIDs are checked and reported.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The meaning of option \fI\-s\fP has changed in version 4.8 to be consistent
+with other tools to specify superblock copy rather the offset. The old way still
+works, but prints a warning. Please update your scripts to use \fI\-\-bytenr\fP
+instead. The option \fI\-i\fP has been deprecated.
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-f|\-\-full
+print full superblock information, including the system chunk array and backup roots
+.TP
+.B \-a|\-\-all
+print information about all present superblock copies (cannot be used together
+with \fI\-s\fP option)
+.UNINDENT
+.INDENT 7.0
+.TP
+.BI \-i \ <super>
+(deprecated since 4.8, same behaviour as \fI\-\-super\fP)
+.TP
+.BI \-\-bytenr \ <bytenr>
+specify offset to a superblock in a non\-standard location at \fIbytenr\fP, useful
+for debugging (disables the \fI\-f\fP option)
+.sp
+If there are multiple options specified, only the last one applies.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-F|\-\-force
+attempt to print the superblock even if a valid BTRFS signature is not found;
+the result may be completely wrong if the data does not resemble a superblock
+.TP
+.B \-s|\-\-super <bytenr>
+(see compatibility note above)
+.sp
+specify which mirror to print, valid values are 0, 1 and 2 and the superblock
+must be present on the device with a valid signature, can be used together with
+\fI\-\-force\fP
+.UNINDENT
+.TP
+.B dump\-tree [options] <device> [device...]
+Dump tree structures from a given device in textual form, expand keys to human
+readable equivalents where possible.
+This is useful for analyzing filesystem state or inconsistencies and has
+a positive educational effect on understanding the internal filesystem structure.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Contains file names, consider that if you\(aqre asked to send the dump for
+analysis. Does not contain file data.
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-e|\-\-extents
+print only extent\-related information: extent and device trees
+.TP
+.B \-d|\-\-device
+print only device\-related information: tree root, chunk and device trees
+.TP
+.B \-r|\-\-roots
+print only short root node information, i.e. the root tree keys
+.TP
+.B \-R|\-\-backups
+same as \fI\-\-roots\fP plus print backup root info, i.e. the backup root keys and
+the respective tree root block offset
+.TP
+.B \-u|\-\-uuid
+print only the uuid tree information, empty output if the tree does not exist
+.UNINDENT
+.INDENT 7.0
+.TP
+.BI \-b \ <block_num>
+print info of the specified block only, can be specified multiple times
+.TP
+.B \-\-follow
+use with \fI\-b\fP, print all children tree blocks of \fI<block_num>\fP
+.TP
+.B \-\-dfs
+(default up to 5.2)
+.sp
+use depth\-first search to print trees, the nodes and leaves are
+intermixed in the output
+.TP
+.B \-\-bfs
+(default since 5.3)
+.sp
+use breadth\-first search to print trees, the nodes are printed before all
+leaves
+.TP
+.B \-\-hide\-names
+print a placeholder \fIHIDDEN\fP instead of various names, useful for developers to
+inspect the dump while keeping potentially sensitive information hidden
+.sp
+This is:
+.INDENT 7.0
+.IP \(bu 2
+directory entries (files, directories, subvolumes)
+.IP \(bu 2
+default subvolume
+.IP \(bu 2
+extended attributes (name, value)
+.IP \(bu 2
+hardlink names (if stored inside another item or as extended references in standalone items)
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Lengths are not hidden because they can be calculated from the item size anyway.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-\-csum\-headers
+print b\-tree node checksums stored in headers (metadata)
+.TP
+.B \-\-csum\-items
+print checksums stored in checksum items (data)
+.TP
+.B \-\-noscan
+do not automatically scan the system for other devices from the same
+filesystem, only use the devices provided as the arguments
+.TP
+.BI \-t \ <tree_id>
+print only the tree with the specified ID, where the ID can be numerical or
+common name in a flexible human readable form
+.sp
+The tree id name recognition rules:
+.INDENT 7.0
+.IP \(bu 2
+case does not matter
+.IP \(bu 2
+the C source definition, e.g. BTRFS_ROOT_TREE_OBJECTID
+.IP \(bu 2
+short forms without BTRFS_ prefix, without _TREE and _OBJECTID suffix, e.g. ROOT_TREE, ROOT
+.IP \(bu 2
+convenience aliases, e.g. DEVICE for the DEV tree, CHECKSUM for CSUM
+.IP \(bu 2
+unrecognized ID is an error
+.UNINDENT
+.UNINDENT
+.TP
+.B inode\-resolve [\-v] <ino> <path>
+(needs root privileges)
+.sp
+resolve paths to all files with given inode number \fIino\fP in a given subvolume
+at \fIpath\fP, i.e. all hardlinks
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.TP
+.B logical\-resolve [\-Pvo] [\-s <bufsize>] <logical> <path>
+(needs root privileges)
+.sp
+resolve paths to all files at given \fIlogical\fP address in the linear filesystem space
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-P
+skip the path resolving and print the inodes instead
+.TP
+.B \-o
+ignore offsets, find all references to an extent instead of a single block.
+Requires kernel support for the V2 ioctl (added in 4.15). The results might need
+further processing to filter out unwanted extents by the offset that is supposed
+to be obtained by other means.
+.TP
+.BI \-s \ <bufsize>
+set internal buffer for storing the file names to \fIbufsize\fP, default is 64KiB,
+maximum 16MiB. Buffer sizes over 64Kib require kernel support for the V2 ioctl
+(added in 4.15).
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B map\-swapfile [options] <file>
+(needs root privileges)
+.sp
+Find device\-specific physical offset of \fIfile\fP that can be used for
+hibernation. Also verify that the \fIfile\fP is suitable as a swapfile.
+See also command \fBbtrfs filesystem mkswapfile\fP and the
+\fI\%Swapfile feature\fP description.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Do not use \fBfilefrag\fP or \fIFIEMAP\fP ioctl values reported as
+physical, this is different due to internal filesystem mappings.
+The hibernation expects offset relative to the physical block device.
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-r|\-\-resume\-offset
+print only the value suitable as resume offset for file \fI/sys/power/resume_offset\fP
+.UNINDENT
+.TP
+.B min\-dev\-size [options] <path>
+(needs root privileges)
+.sp
+return the minimum size the device can be shrunk to, without performing any
+resize operation, this may be useful before executing the actual resize operation
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.BI \-\-id \ <id>
+specify the device \fIid\fP to query, default is 1 if this option is not used
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B rootid <path>
+for a given file or directory, return the containing tree root id, but for a
+subvolume itself return its own tree id (i.e. subvol id)
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The result is undefined for the so\-called empty subvolumes (identified by
+inode number 2), but such a subvolume does not contain any files anyway
+.UNINDENT
+.UNINDENT
+.TP
+.B subvolid\-resolve <subvolid> <path>
+(needs root privileges)
+.sp
+resolve the absolute path of the subvolume id \fIsubvolid\fP
+.TP
+.B tree\-stats [options] <device>
+(needs root privileges)
+.sp
+Print sizes and statistics of trees. This takes a device as an argument
+and not a mount point unlike other commands.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+In case the the filesystem is still mounted it\(aqs possible to
+run the command but the results may be inaccurate or various
+errors may be printed in case there are ongoing writes to the
+filesystem. A warning is printed in such case.
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-b
+Print raw numbers in bytes.
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs inspect\-internal\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-map-logical.8 b/upstream/fedora-40/man8/btrfs-map-logical.8
new file mode 100644
index 00000000..c40866f1
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-map-logical.8
@@ -0,0 +1,65 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-MAP-LOGICAL" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-map-logical \- map btrfs logical extent to physical extent
+.SH SYNOPSIS
+.sp
+\fBbtrfs\-map\-logical\fP <options> <device>
+.SH DESCRIPTION
+.sp
+\fBbtrfs\-map\-logical\fP can be used to find out what the physical offsets are
+on the mirrors, the result is dumped to stdout by default.
+.sp
+Mainly used for debug purpose.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-l|\-\-logical <logical_num>
+Logical extent to map.
+.TP
+.B \-c|\-\-copy <copy>
+Copy of the extent to read(usually 1 or 2).
+.TP
+.B \-o|\-\-output <filename>
+Output file to hold the extent.
+.TP
+.B \-b|\-\-bytes <bytes>
+Number of bytes to read.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs\-map\-logical\fP will return 0 if no error happened.
+If any problems happened, 1 will be returned.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-property.8 b/upstream/fedora-40/man8/btrfs-property.8
new file mode 100644
index 00000000..1d7330d6
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-property.8
@@ -0,0 +1,180 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-PROPERTY" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-property \- get/set/list properties for given filesystem object
+.SH SYNOPSIS
+.sp
+\fBbtrfs property\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+\fBbtrfs property\fP is used to get/set/list property for given filesystem object.
+The object can be an inode (file or directory), subvolume or the whole
+filesystem.
+.sp
+\fBbtrfs property\fP provides an unified and user\-friendly method to tune different
+btrfs properties instead of using the traditional method like \fBchattr(1)\fP or
+\fBlsattr(1)\fP\&.
+.SS Object types
+.sp
+A property might apply to several object types so in some cases it\(aqs necessary
+to specify that explicitly, however it\(aqs not needed in the most common case of
+files and directories.
+.sp
+The subcommands take parameter \fI\-t\fP, use first letter as a shortcut (\fIf/s/d/i\fP)
+of the type:
+.INDENT 0.0
+.IP \(bu 2
+filesystem
+.IP \(bu 2
+subvolume
+.IP \(bu 2
+device
+.IP \(bu 2
+inode (file or directory)
+.UNINDENT
+.SS Inode properties
+.INDENT 0.0
+.TP
+.B compression
+compression algorithm set for an inode (it\(aqs not possible to set the
+compression level this way), possible values:
+.INDENT 7.0
+.IP \(bu 2
+\fIlzo\fP
+.IP \(bu 2
+\fIzlib\fP
+.IP \(bu 2
+\fIzstd\fP
+.IP \(bu 2
+\fIno\fP or \fInone\fP \- disable compression (equivalent to \fBchattr +m\fP)
+.IP \(bu 2
+\fI\(dq\(dq\fP (empty string) \- set the default value
+.INDENT 2.0
+.INDENT 3.5
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This has changed in version 5.18 of btrfs\-progs and
+requires kernel 5.14 or newer to work.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SS Subvolume properties
+.INDENT 0.0
+.TP
+.B ro
+read\-only flag of subvolume: true or false. Please also see section \fISUBVOLUME FLAGS\fP
+in \fI\%btrfs\-subvolume(8)\fP for possible implications regarding incremental send.
+.UNINDENT
+.SS Filesystem properties
+.INDENT 0.0
+.TP
+.B label
+label of the filesystem. For an unmounted filesystem, provide a path to a block
+device as object. For a mounted filesystem, specify a mount point.
+.UNINDENT
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B get [\-t <type>] <object> [<name>]
+Read value of a property \fIname\fP of btrfs \fIobject\fP of given \fItype\fP,
+empty \fIname\fP will read all of them
+.TP
+.B list [\-t <type>] <object>
+List available properties with their descriptions for the given object.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B set [\-f] [\-t <type>] <object> <name> <value>
+Set \fIvalue\fP of property \fIname\fP on a given btrfs object.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-f
+Force the change. Changing some properties may involve safety checks or
+additional changes that depend on the properties semantics.
+.UNINDENT
+.UNINDENT
+.SH EXAMPLES
+.sp
+Set compression on a file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ touch file1
+$ btrfs prop get file1
+[ empty output ]
+$ btrfs prop set file1 compression zstd
+$ btrfs prop get file1
+compression=zstd
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Make a writeable subvolume read\-only:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs subvol create subvol1
+[ fill subvol1 with data ]
+$ btrfs prop get subvol1
+ro=false
+$ btrfs prop set subvol1 ro true
+ro=true
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs property\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP,
+\fBlsattr(1)\fP,
+\fBchattr(1)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-qgroup.8 b/upstream/fedora-40/man8/btrfs-qgroup.8
new file mode 100644
index 00000000..71718ce5
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-qgroup.8
@@ -0,0 +1,316 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-QGROUP" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-qgroup \- control the quota group of a btrfs filesystem
+.SH SYNOPSIS
+.sp
+\fBbtrfs qgroup\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+\fBbtrfs qgroup\fP is used to control quota group (qgroup) of a btrfs filesystem.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+To use qgroup you need to enable quota first using \fBbtrfs quota enable\fP
+command.
+.UNINDENT
+.UNINDENT
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+Qgroup is not stable yet and will impact performance in current mainline
+kernel (v4.14).
+.UNINDENT
+.UNINDENT
+.SH QGROUP
+.sp
+Quota groups or qgroup in btrfs make a tree hierarchy, the leaf qgroups are
+attached to subvolumes. The size limits are set per qgroup and apply when any
+limit is reached in tree that contains a given subvolume.
+.sp
+The limits are separated between shared and exclusive and reflect the extent
+ownership. For example a fresh snapshot shares almost all the blocks with the
+original subvolume, new writes to either subvolume will raise towards the
+exclusive limit.
+.sp
+The qgroup identifiers conform to \fIlevel/id\fP where level 0 is reserved to the
+qgroups associated with subvolumes. Such qgroups are created automatically.
+.sp
+The qgroup hierarchy is built by commands \fBcreate\fP and \fBassign\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+If the qgroup of a subvolume is destroyed, quota about the subvolume will
+not be functional until qgroup \fI0/<subvolume id>\fP is created again.
+.UNINDENT
+.UNINDENT
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B assign [options] <src> <dst> <path>
+Assign qgroup \fIsrc\fP as the child qgroup of \fIdst\fP in the btrfs filesystem
+identified by \fIpath\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-\-rescan
+(default since: 4.19) Automatically schedule quota rescan if the new qgroup
+assignment would lead to quota inconsistency. See \fIQUOTA RESCAN\fP for more
+information.
+.TP
+.B \-\-no\-rescan
+Explicitly ask not to do a rescan, even if the assignment will make the quotas
+inconsistent. This may be useful for repeated calls where the rescan would add
+unnecessary overhead.
+.UNINDENT
+.TP
+.B create <qgroupid> <path>
+Create a subvolume quota group.
+.sp
+For the \fI0/<subvolume id>\fP qgroup, a qgroup can be created even before the
+subvolume is created.
+.TP
+.B destroy <qgroupid> <path>
+Destroy a qgroup.
+.sp
+If a qgroup is not isolated, meaning it is a parent or child qgroup, then it
+can only be destroyed after the relationship is removed.
+.TP
+.B clear\-stale <path>
+Clear all stale qgroups whose subvolume does not exist anymore, this is the
+level 0 qgroup like 0/subvolid. Higher level qgroups are not deleted even
+if they don\(aqt have any child qgroups.
+.TP
+.B limit [options] <size>|none [<qgroupid>] <path>
+Limit the size of a qgroup to \fIsize\fP or no limit in the btrfs filesystem
+identified by \fIpath\fP\&.
+.sp
+If \fIqgroupid\fP is not given, qgroup of the subvolume identified by \fIpath\fP
+is used if possible.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-c
+limit amount of data after compression. This is the default, it is currently not
+possible to turn off this option.
+.TP
+.B \-e
+limit space exclusively assigned to this qgroup.
+.UNINDENT
+.TP
+.B remove <src> <dst> <path>
+Remove the relationship between child qgroup \fIsrc\fP and parent qgroup \fIdst\fP in
+the btrfs filesystem identified by \fIpath\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-\-rescan
+(default since: 4.19) Automatically schedule quota rescan if the removed qgroup
+relation would lead to quota inconsistency. See \fIQUOTA RESCAN\fP for more
+information.
+.TP
+.B \-\-no\-rescan
+Explicitly ask not to do a rescan, even if the removal will make the quotas
+inconsistent. This may be useful for repeated calls where the rescan would add
+unnecessary overhead.
+.UNINDENT
+.TP
+.B show [options] <path>
+Show all qgroups in the btrfs filesystem identified by <path>.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-p
+print parent qgroup id.
+.TP
+.B \-c
+print child qgroup id.
+.TP
+.B \-r
+print limit of referenced size of qgroup.
+.TP
+.B \-e
+print limit of exclusive size of qgroup.
+.TP
+.B \-F
+list all qgroups which impact the given path(include ancestral qgroups)
+.TP
+.B \-f
+list all qgroups which impact the given path(exclude ancestral qgroups)
+.TP
+.B \-\-raw
+raw numbers in bytes, without the \fIB\fP suffix.
+.TP
+.B \-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to the IEC standard.
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard.
+.TP
+.B \-\-kbytes
+show sizes in KiB, or kB with \-\-si.
+.TP
+.B \-\-mbytes
+show sizes in MiB, or MB with \-\-si.
+.TP
+.B \-\-gbytes
+show sizes in GiB, or GB with \-\-si.
+.TP
+.B \-\-tbytes
+show sizes in TiB, or TB with \-\-si.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-sort=[+/\-]<attr>[,[+/\-]<attr>]...
+list qgroups in order of <attr>.
+.sp
+<attr> can be one or more of qgroupid,rfer,excl,max_rfer,max_excl.
+.sp
+Prefix \fI+\fP means ascending order and \fI\-\fP means descending order of \fIattr\fP\&.
+If no prefix is given, use ascending order by default.
+.sp
+If multiple \fIattr\fP values are given, use comma to separate.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-sync
+To retrieve information after updating the state of qgroups,
+force sync of the filesystem identified by \fIpath\fP before getting information.
+.UNINDENT
+.UNINDENT
+.SH QUOTA RESCAN
+.sp
+The rescan reads all extent sharing metadata and updates the respective qgroups
+accordingly.
+.sp
+The information consists of bytes owned exclusively (\fIexcl\fP) or shared/referred
+to (\fIrfer\fP). There\(aqs no explicit information about which extents are shared or
+owned exclusively. This means when qgroup relationship changes, extent owners
+change and qgroup numbers are no longer consistent unless we do a full rescan.
+.sp
+However there are cases where we can avoid a full rescan, if a subvolume whose
+\fIrfer\fP number equals its \fIexcl\fP number, which means all bytes are exclusively
+owned, then assigning/removing this subvolume only needs to add/subtract \fIrfer\fP
+number from its parent qgroup. This can speed up the rescan.
+.SH EXAMPLES
+.SS Make a parent group that has two quota group children
+.sp
+Given the following filesystem mounted at \fB/mnt/my\-vault\fP
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Label: none uuid: 60d2ab3b\-941a\-4f22\-8d1a\-315f329797b2
+ Total devices 1 FS bytes used 128.00KiB
+ devid 1 size 5.00GiB used 536.00MiB path /dev/vdb
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Enable quota and create subvolumes. Check subvolume ids.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ cd /mnt/my\-vault
+$ btrfs quota enable .
+$ btrfs subvolume create a
+$ btrfs subvolume create b
+$ btrfs subvolume list .
+
+ID 261 gen 61 top level 5 path a
+ID 262 gen 62 top level 5 path b
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create qgroup and set limit to 10MiB.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs qgroup create 1/100 .
+$ btrfs qgroup limit 10M 1/100 .
+$ btrfs qgroup assign 0/261 1/100 .
+$ btrfs qgroup assign 0/262 1/100 .
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+And check qgroups.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ btrfs qgroup show .
+
+qgroupid rfer excl
+\-\-\-\-\-\-\-\- \-\-\-\- \-\-\-\-
+0/5 16.00KiB 16.00KiB
+0/261 16.00KiB 16.00KiB
+0/262 16.00KiB 16.00KiB
+1/100 32.00KiB 32.00KiB
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs qgroup\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-quota(8)\fP,
+\fI\%btrfs\-subvolume(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-quota.8 b/upstream/fedora-40/man8/btrfs-quota.8
new file mode 100644
index 00000000..e1181252
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-quota.8
@@ -0,0 +1,379 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-QUOTA" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-quota \- control the global quota status of a btrfs filesystem
+.SH SYNOPSIS
+.sp
+\fBbtrfs quota\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+The commands under \fBbtrfs quota\fP are used to affect the global status of quotas
+of a btrfs filesystem. The quota groups (qgroups) are managed by the subcommand
+\fI\%btrfs\-qgroup(8)\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Qgroups are different than the traditional user quotas and designed
+to track shared and exclusive data per\-subvolume. Please refer to the section
+\fI\%HIERARCHICAL QUOTA GROUP CONCEPTS\fP
+for a detailed description.
+.UNINDENT
+.UNINDENT
+.SS PERFORMANCE IMPLICATIONS
+.sp
+When quotas are activated, they affect all extent processing, which takes a
+performance hit. Activation of qgroups is not recommended unless the user
+intends to actually use them.
+.SS STABILITY STATUS
+.sp
+The qgroup implementation has turned out to be quite difficult as it affects
+the core of the filesystem operation. Qgroup users have hit various corner cases
+over time, such as incorrect accounting or system instability. The situation is
+gradually improving and issues found and fixed.
+.SH HIERARCHICAL QUOTA GROUP CONCEPTS
+.sp
+The concept of quota has a long\-standing tradition in the Unix world. Ever
+since computers allow multiple users to work simultaneously in one filesystem,
+there is the need to prevent one user from using up the entire space. Every
+user should get his fair share of the available resources.
+.sp
+In case of files, the solution is quite straightforward. Each file has an
+\fIowner\fP recorded along with it, and it has a size. Traditional quota just
+restricts the total size of all files that are owned by a user. The concept is
+quite flexible: if a user hits his quota limit, the administrator can raise it
+on the fly.
+.sp
+On the other hand, the traditional approach has only a poor solution to
+restrict directories.
+At installation time, the harddisk can be partitioned so that every directory
+(e.g. \fB/usr\fP, \fB/var\fP, ...) that needs a limit gets its own partition. The obvious
+problem is that those limits cannot be changed without a reinstallation. The
+btrfs subvolume feature builds a bridge. Subvolumes correspond in many ways to
+partitions, as every subvolume looks like its own filesystem. With subvolume
+quota, it is now possible to restrict each subvolume like a partition, but keep
+the flexibility of quota. The space for each subvolume can be expanded or
+restricted on the fly.
+.sp
+As subvolumes are the basis for snapshots, interesting questions arise as to
+how to account used space in the presence of snapshots. If you have a file
+shared between a subvolume and a snapshot, whom to account the file to? The
+creator? Both? What if the file gets modified in the snapshot, should only
+these changes be accounted to it? But wait, both the snapshot and the subvolume
+belong to the same user home. I just want to limit the total space used by
+both! But somebody else might not want to charge the snapshots to the users.
+.sp
+Btrfs subvolume quota solves these problems by introducing groups of subvolumes
+and let the user put limits on them. It is even possible to have groups of
+groups. In the following, we refer to them as \fIqgroups\fP\&.
+.sp
+Each qgroup primarily tracks two numbers, the amount of total referenced
+space and the amount of exclusively referenced space.
+.INDENT 0.0
+.TP
+.B referenced
+space is the amount of data that can be reached from any of the
+subvolumes contained in the qgroup, while
+.TP
+.B exclusive
+is the amount of data where all references to this data can be reached
+from within this qgroup.
+.UNINDENT
+.SS Subvolume quota groups
+.sp
+The basic notion of the Subvolume Quota feature is the quota group, short
+qgroup. Qgroups are notated as \fIlevel/id\fP, e.g. the qgroup 3/2 is a qgroup of
+level 3. For level 0, the leading \fI0/\fP can be omitted.
+Qgroups of level 0 get created automatically when a subvolume/snapshot gets
+created. The ID of the qgroup corresponds to the ID of the subvolume, so 0/5
+is the qgroup for the root subvolume.
+For the \fBbtrfs qgroup\fP command, the path to the subvolume can also be used
+instead of \fI0/ID\fP\&. For all higher levels, the ID can be chosen freely.
+.sp
+Each qgroup can contain a set of lower level qgroups, thus creating a hierarchy
+of qgroups. Figure 1 shows an example qgroup tree.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ +\-\-\-+
+ |2/1|
+ +\-\-\-+
+ / \e
+ +\-\-\-+/ \e+\-\-\-+
+ |1/1| |1/2|
+ +\-\-\-+ +\-\-\-+
+ / \e / \e
+ +\-\-\-+/ \e+\-\-\-+/ \e+\-\-\-+
+qgroups |0/1| |0/2| |0/3|
+ +\-+\-+ +\-\-\-+ +\-\-\-+
+ | / \e / \e
+ | / \e / \e
+ | / \e / \e
+extents 1 2 3 4
+
+Figure 1: Sample qgroup hierarchy
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+At the bottom, some extents are depicted showing which qgroups reference which
+extents. It is important to understand the notion of \fIreferenced\fP vs
+\fIexclusive\fP\&. In the example, qgroup 0/2 references extents 2 and 3, while 1/2
+references extents 2\-4, 2/1 references all extents.
+.sp
+On the other hand, extent 1 is exclusive to 0/1, extent 2 is exclusive to 0/2,
+while extent 3 is neither exclusive to 0/2 nor to 0/3. But because both
+references can be reached from 1/2, extent 3 is exclusive to 1/2. All extents
+are exclusive to 2/1.
+.sp
+So exclusive does not mean there is no other way to reach the extent, but it
+does mean that if you delete all subvolumes contained in a qgroup, the extent
+will get deleted.
+.sp
+Exclusive of a qgroup conveys the useful information how much space will be
+freed in case all subvolumes of the qgroup get deleted.
+.sp
+All data extents are accounted this way. Metadata that belongs to a specific
+subvolume (i.e. its filesystem tree) is also accounted. Checksums and extent
+allocation information are not accounted.
+.sp
+In turn, the referenced count of a qgroup can be limited. All writes beyond
+this limit will lead to a \(aqQuota Exceeded\(aq error.
+.SS Inheritance
+.sp
+Things get a bit more complicated when new subvolumes or snapshots are created.
+The case of (empty) subvolumes is still quite easy. If a subvolume should be
+part of a qgroup, it has to be added to the qgroup at creation time. To add it
+at a later time, it would be necessary to at least rescan the full subvolume
+for a proper accounting.
+.sp
+Creation of a snapshot is the hard case. Obviously, the snapshot will
+reference the exact amount of space as its source, and both source and
+destination now have an exclusive count of 0 (the filesystem nodesize to be
+precise, as the roots of the trees are not shared). But what about qgroups of
+higher levels? If the qgroup contains both the source and the destination,
+nothing changes. If the qgroup contains only the source, it might lose some
+exclusive.
+.sp
+But how much? The tempting answer is, subtract all exclusive of the source from
+the qgroup, but that is wrong, or at least not enough. There could have been
+an extent that is referenced from the source and another subvolume from that
+qgroup. This extent would have been exclusive to the qgroup, but not to the
+source subvolume. With the creation of the snapshot, the qgroup would also
+lose this extent from its exclusive set.
+.sp
+So how can this problem be solved? In the instant the snapshot gets created, we
+already have to know the correct exclusive count. We need to have a second
+qgroup that contains all the subvolumes as the first qgroup, except the
+subvolume we want to snapshot. The moment we create the snapshot, the
+exclusive count from the second qgroup needs to be copied to the first qgroup,
+as it represents the correct value. The second qgroup is called a tracking
+qgroup. It is only there in case a snapshot is needed.
+.SS Use cases
+.sp
+Below are some use cases that do not mean to be extensive. You can find your
+own way how to integrate qgroups.
+.SS Single\-user machine
+.sp
+\fBReplacement for partitions.\fP
+The simplest use case is to use qgroups as simple replacement for partitions.
+Btrfs takes the disk as a whole, and \fB/\fP, \fB/usr\fP, \fB/var\fP, etc. are created as
+subvolumes. As each subvolume gets it own qgroup automatically, they can
+simply be restricted. No hierarchy is needed for that.
+.sp
+\fBTrack usage of snapshots.\fP
+When a snapshot is taken, a qgroup for it will automatically be created with
+the correct values. \fIReferenced\fP will show how much is in it, possibly shared
+with other subvolumes. \fIExclusive\fP will be the amount of space that gets freed
+when the subvolume is deleted.
+.SS Multi\-user machine
+.sp
+\fBRestricting homes.\fP
+When you have several users on a machine, with home directories probably under
+\fB/home\fP, you might want to restrict \fB/home\fP as a whole, while restricting every
+user to an individual limit as well. This is easily accomplished by creating a
+qgroup for \fB/home\fP , e.g. 1/1, and assigning all user subvolumes to it.
+Restricting this qgroup will limit /home, while every user subvolume can get
+its own (lower) limit.
+.sp
+\fBAccounting snapshots to the user.\fP
+Let\(aqs say the user is allowed to create snapshots via some mechanism. It would
+only be fair to account space used by the snapshots to the user. This does not
+mean the user doubles his usage as soon as he takes a snapshot. Of course,
+files that are present in his home and the snapshot should only be accounted
+once. This can be accomplished by creating a qgroup for each user, say
+\fI1/UID\fP\&. The user home and all snapshots are assigned to this qgroup.
+Limiting it will extend the limit to all snapshots, counting files only once.
+To limit \fB/home\fP as a whole, a higher level group 2/1 replacing 1/1 from the
+previous example is needed, with all user qgroups assigned to it.
+.sp
+\fBDo not account snapshots.\fP
+On the other hand, when the snapshots get created automatically, the user has
+no chance to control them, so the space used by them should not be accounted to
+him. This is already the case when creating snapshots in the example from
+the previous section.
+.sp
+\fBSnapshots for backup purposes.\fP
+This scenario is a mixture of the previous two. The user can create snapshots,
+but some snapshots for backup purposes are being created by the system. The
+user\(aqs snapshots should be accounted to the user, not the system. The solution
+is similar to the one from section \fIAccounting snapshots to the user\fP, but do
+not assign system snapshots to user\(aqs qgroup.
+.SS Simple quotas (squota)
+.sp
+As detailed in this document, qgroups can handle many complex extent sharing
+and unsharing scenarios while maintaining an accurate count of exclusive and
+shared usage. However, this flexibility comes at a cost: many of the
+computations are global, in the sense that we must count up the number of trees
+referring to an extent after its references change. This can slow down
+transaction commits and lead to unacceptable latencies, especially in cases
+where snapshots scale up.
+.sp
+To work around this limitation of qgroups, btrfs also supports a second set of
+quota semantics: \fIsimple quotas\fP or \fIsquotas\fP\&. Squotas fully share the qgroups API
+and hierarchical model, but do not track shared vs. exclusive usage. Instead,
+they account all extents to the subvolume that first allocated it. With a bit
+of new bookkeeping, this allows all accounting decisions to be local to the
+allocation or freeing operation that deals with the extents themselves, and
+fully avoids the complex and costly back\-reference resolutions.
+.sp
+\fBExample\fP
+.sp
+To illustrate the difference between squotas and qgroups, consider the following
+basic example assuming a nodesize of 16KiB.
+.INDENT 0.0
+.IP 1. 3
+create subvolume 256
+.IP 2. 3
+rack up 1GiB of data and metadata usage in 256
+.IP 3. 3
+snapshot 256, creating subvolume 257
+.IP 4. 3
+COW 512MiB of the data and metadata in 257
+.IP 5. 3
+delete everything in 256
+.UNINDENT
+.sp
+At each step, qgroups would have the following accounting:
+.INDENT 0.0
+.IP 1. 3
+0/256: 16KiB excl 0 shared
+.IP 2. 3
+0/256: 1GiB excl 0 shared
+.IP 3. 3
+0/256: 0 excl 1GiB shared; 0/257: 0 excl 1GiB shared
+.IP 4. 3
+0/256: 512MiB excl 512MiB shared; 0/257: 512MiB excl 512MiB shared
+.IP 5. 3
+0/256: 16KiB excl 0 shared; 0/257: 1GiB excl 0 shared
+.UNINDENT
+.sp
+Whereas under squotas, the accounting would look like:
+.INDENT 0.0
+.IP 1. 3
+0/256: 16KiB excl 16KiB shared
+.IP 2. 3
+0/256: 1GiB excl 1GiB shared
+.IP 3. 3
+0/256: 1GiB excl 1GiB shared; 0/257: 16KiB excl 16KiB shared
+.IP 4. 3
+0/256: 1GiB excl 1GiB shared; 0/257: 512MiB excl 512MiB shared
+.IP 5. 3
+0/256: 512MiB excl 512MiB shared; 0/257: 512MiB excl 512MiB shared
+.UNINDENT
+.sp
+Note that since the original snapshotted 512MiB are still referenced by 257,
+they cannot be freed from 256, even after 256 is emptied, or even deleted.
+.sp
+\fBSummary\fP
+.sp
+If you want some of power and flexibility of quotas for tracking and limiting
+subvolume usage, but want to avoid the performance penalty of accurately
+tracking extent ownership life cycles, then squotas can be a useful option.
+.sp
+Furthermore, squotas is targeted at use cases where the original extent is
+immutable, like image snapshotting for container startup, in which case we avoid
+these awkward scenarios where a subvolume is empty or deleted but still has
+significant extents accounted to it. However, as long as you are aware of the
+accounting semantics, they can handle mutable original extents.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B disable <path>
+Disable subvolume quota support for a filesystem.
+.TP
+.B enable [options] <path>
+Enable subvolume quota support for a filesystem. At this point it\(aqs
+possible the two modes of accounting. The \fIfull\fP means that extent
+ownership by subvolumes will be tracked all the time, \fIsimple\fP will
+account everything to the first owner. See the section for more details.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-s|\-\-simple
+use simple quotas (squotas) instead of full qgroup accounting
+.UNINDENT
+.TP
+.B rescan [options] <path>
+Trash all qgroup numbers and scan the metadata again with the current config.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-s|\-\-status
+show status of a running rescan operation.
+.TP
+.B \-w|\-\-wait
+start rescan and wait for it to finish (can be already in progress)
+.TP
+.B \-W|\-\-wait\-norescan
+wait for rescan to finish without starting it
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs quota\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-qgroup(8)\fP,
+\fI\%btrfs\-subvolume(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-receive.8 b/upstream/fedora-40/man8/btrfs-receive.8
new file mode 100644
index 00000000..d206b010
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-receive.8
@@ -0,0 +1,159 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-RECEIVE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-receive \- receive subvolumes from send stream
+.SH SYNOPSIS
+.sp
+\fBbtrfs receive\fP [options] <path>
+.sp
+or
+.sp
+\fBbtrfs receive\fP \-\-dump [options]
+.SH DESCRIPTION
+.sp
+Receive a stream of changes and replicate one or more subvolumes that were
+previously generated by \fBbtrfs send\fP\&. The received subvolumes are stored to
+\fIpath\fP, unless \fI\-\-dump\fP option is given.
+.sp
+If \fI\-\-dump\fP option is specified, \fBbtrfs receive\fP will only do the validation of
+the stream, and print the stream metadata, one operation per line.
+.sp
+\fBbtrfs receive\fP will fail in the following cases:
+.INDENT 0.0
+.IP 1. 3
+receiving subvolume already exists
+.IP 2. 3
+previously received subvolume has been changed after it was received
+.IP 3. 3
+default subvolume has changed or you didn\(aqt mount the filesystem at the toplevel subvolume
+.UNINDENT
+.sp
+A subvolume is made read\-only after the receiving process finishes successfully (see BUGS below).
+.sp
+\fBOptions\fP
+.INDENT 0.0
+.TP
+.BI \-f \ <FILE>
+read the stream from \fIFILE\fP instead of stdin,
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-C|\-\-chroot
+confine the process to \fIpath\fP using \fBchroot(1)\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-e
+terminate after receiving an \fIend cmd\fP marker in the stream.
+.sp
+Without this option the receiver side terminates only in case
+of an error on end of file.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-E|\-\-max\-errors <NERR>
+terminate as soon as NERR errors occur while stream processing commands from
+the stream
+.sp
+Default value is 1. A value of 0 means no limit.
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-m \ <ROOTMOUNT>
+the root mount point of the destination filesystem
+.sp
+By default the mount point is searched in :\fI\%file:/proc/self\fP/mounts\(ga.
+If \fB/proc\fP is not accessible, e.g. in a chroot environment, use this option to
+tell us where this filesystem is mounted.
+.TP
+.B \-\-force\-decompress
+if the stream contains compressed data (see \fI\-\-compressed\-data\fP in
+\fI\%btrfs\-send(8)\fP), always decompress it instead of writing it with
+encoded I/O
+.TP
+.B \-\-dump
+dump the stream metadata, one line per operation
+.sp
+Does not require the \fIpath\fP parameter. The filesystem remains unchanged.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-q|\-\-quiet
+(deprecated) alias for global \fI\-q\fP option
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.sp
+\fBGlobal options\fP
+.INDENT 0.0
+.TP
+.B \-v|\-\-verbose
+increase verbosity about performed actions, print details about each operation
+.TP
+.B \-q|\-\-quiet
+suppress all messages except errors
+.UNINDENT
+.SH BUGS
+.sp
+\fBbtrfs receive\fP sets the subvolume read\-only after it completes
+successfully. However, while the receive is in progress, users who have
+write access to files or directories in the receiving \fIpath\fP can add,
+remove, or modify files, in which case the resulting read\-only subvolume
+will not be an exact copy of the sent subvolume.
+.sp
+If the intention is to create an exact copy, the receiving \fIpath\fP
+should be protected from access by users until the receive operation
+has completed and the subvolume is set to read\-only.
+.sp
+Additionally, receive does not currently do a very good job of validating
+that an incremental send stream actually makes sense, and it is thus
+possible for a specially crafted send stream to create a subvolume with
+reflinks to arbitrary files in the same filesystem. Because of this,
+users are advised to not use \fIbtrfs receive\fP on send streams from
+untrusted sources, and to protect trusted streams when sending them
+across untrusted networks.
+.SH EXIT STATUS
+.sp
+\fBbtrfs receive\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-send(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-replace.8 b/upstream/fedora-40/man8/btrfs-replace.8
new file mode 100644
index 00000000..d5bb007c
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-replace.8
@@ -0,0 +1,179 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-REPLACE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-replace \- replace devices managed by btrfs with other device
+.SH SYNOPSIS
+.sp
+\fBbtrfs replace\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+\fBbtrfs replace\fP is used to replace btrfs managed devices with other device.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B cancel <mount_point>
+Cancel a running device replace operation.
+.TP
+.B start [options] <srcdev>|<devid> <targetdev> <path>
+Replace device of a btrfs filesystem.
+.sp
+On a live filesystem, duplicate the data to the target device which
+is currently stored on the source device.
+If the source device is not available anymore, or if the \-r option is set,
+the data is built only using the RAID redundancy mechanisms.
+After completion of the operation, the source device is removed from the
+filesystem.
+If the \fIsrcdev\fP is a numerical value, it is assumed to be the device id
+of the filesystem which is mounted at \fIpath\fP, otherwise it is
+the path to the source device. If the source device is disconnected,
+from the system, you have to use the devid parameter format.
+The \fItargetdev\fP needs to be same size or larger than the \fIsrcdev\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The filesystem has to be resized to fully take advantage of a
+larger target device; this can be achieved with
+\fBbtrfs filesystem resize <devid>:max /path\fP
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-r
+only read from \fIsrcdev\fP if no other zero\-defect mirror exists.
+(enable this if your drive has lots of read errors, the access would be very
+slow)
+.TP
+.B \-f
+force using and overwriting \fItargetdev\fP even if it looks like
+it contains a valid btrfs filesystem.
+.sp
+A valid filesystem is assumed if a btrfs superblock is found which contains a
+correct checksum. Devices that are currently mounted are
+never allowed to be used as the \fItargetdev\fP\&.
+.TP
+.B \-B
+no background replace.
+.TP
+.B \-\-enqueue
+wait if there\(aqs another exclusive operation running, otherwise continue
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-K|\-\-nodiscard
+Do not perform whole device TRIM operation on devices that are capable of that.
+This does not affect discard/trim operation when the filesystem is mounted.
+Please see the mount option \fIdiscard\fP for that in \fI\%btrfs(5)\fP\&.
+.UNINDENT
+.TP
+.B status [\-1] <mount_point>
+Print status and progress information of a running device replace operation.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-1
+print once instead of print continuously until the replace
+operation finishes (or is cancelled)
+.UNINDENT
+.UNINDENT
+.SH EXAMPLES
+.SS Replacing an online drive with a bigger one
+.sp
+Given the following filesystem mounted at \fB/mnt/my\-vault\fP
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Label: \(aqMyVault\(aq uuid: ae20903e\-b72d\-49ba\-b944\-901fc6d888a1
+ Total devices 2 FS bytes used 1TiB
+ devid 1 size 1TiB used 500.00GiB path /dev/sda
+ devid 2 size 1TiB used 500.00GiB path /dev/sdb
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In order to replace \fB/dev/sda\fP (\fIdevid 1\fP) with a bigger drive located at
+\fB/dev/sdc\fP you would run the following:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+btrfs replace start 1 /dev/sdc /mnt/my\-vault/
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+You can monitor progress via:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+btrfs replace status /mnt/my\-vault/
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+After the replacement is complete, as per the docs at \fI\%btrfs\-filesystem(8)\fP in
+order to use the entire storage space of the new drive you need to run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+btrfs filesystem resize 1:max /mnt/my\-vault/
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs replace\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-device(8)\fP,
+\fI\%btrfs\-filesystem(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-rescue.8 b/upstream/fedora-40/man8/btrfs-rescue.8
new file mode 100644
index 00000000..441e07c0
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-rescue.8
@@ -0,0 +1,195 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-RESCUE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-rescue \- recover a damaged btrfs filesystem
+.SH SYNOPSIS
+.sp
+\fBbtrfs rescue\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+\fBbtrfs rescue\fP is used to try to recover a damaged btrfs filesystem.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B chunk\-recover [options] <device>
+Recover the chunk tree by scanning the devices
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-y
+assume an answer of \fIyes\fP to all questions.
+.TP
+.B \-h
+help.
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Since \fBchunk\-recover\fP will scan the whole device, it will be very
+slow especially executed on a large device.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B fix\-device\-size <device>
+fix device size and super block total bytes values that do not match
+.sp
+Kernel 4.11 starts to check the device size more strictly and this might
+mismatch the stored value of total bytes. See the exact error message below.
+Newer kernel will refuse to mount the filesystem where the values do not match.
+This error is not fatal and can be fixed. This command will fix the device
+size values if possible.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+BTRFS error (device sdb): super_total_bytes 92017859088384 mismatch with fs_devices total_rw_bytes 92017859094528
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The mismatch may also exhibit as a kernel warning:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+WARNING: CPU: 3 PID: 439 at fs/btrfs/ctree.h:1559 btrfs_update_device+0x1c5/0x1d0 [btrfs]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B clear\-ino\-cache <device>
+Remove leftover items pertaining to the deprecated \fIinode cache\fP feature.
+.sp
+The \fIinode cache\fP feature (enabled by mount option \(dqinode_cache\(dq) has been
+completely removed in 5.11 kernel.
+.TP
+.B clear\-space\-cache <v1|v2> <device>
+Completely remove the on\-disk data of free space cache of given version.
+.sp
+Especially for v1 free space cache, \fIclear_cache\fP mount option would only
+remove the cache for updated block groups, the remaining would not be removed.
+Thus this command is provided to manually clear the free space cache.
+.TP
+.B clear\-uuid\-tree <device>
+Clear UUID tree, so that kernel can re\-generate it at next read\-write
+mount.
+.sp
+Since kernel v4.16 there are more sanity check performed, and sometimes
+non\-critical trees like UUID tree can cause problems and reject the mount.
+In such case, clearing UUID tree may make the filesystem to be mountable again
+without much risk as it\(aqs built from other trees.
+.TP
+.B super\-recover [options] <device>
+Recover bad superblocks from good copies.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-y
+assume an answer of \fIyes\fP to all questions.
+.TP
+.B \-v
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.TP
+.B zero\-log <device>
+clear the filesystem log tree
+.sp
+This command will clear the filesystem log tree. This may fix a specific
+set of problem when the filesystem mount fails due to the log replay. See below
+for sample stack traces that may show up in system log.
+.sp
+The common case where this happens was fixed a long time ago,
+so it is unlikely that you will see this particular problem, but the command is
+kept around.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Clearing the log may lead to loss of changes that were made
+since the last transaction commit. This may be up to 30 seconds
+(default commit period) or less if the commit was implied by
+other filesystem activity.
+.UNINDENT
+.UNINDENT
+.sp
+One can determine whether \fBzero\-log\fP is needed according to the kernel
+backtrace:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+? replay_one_dir_item+0xb5/0xb5 [btrfs]
+? walk_log_tree+0x9c/0x19d [btrfs]
+? btrfs_read_fs_root_no_radix+0x169/0x1a1 [btrfs]
+? btrfs_recover_log_trees+0x195/0x29c [btrfs]
+? replay_one_dir_item+0xb5/0xb5 [btrfs]
+? btree_read_extent_buffer_pages+0x76/0xbc [btrfs]
+? open_ctree+0xff6/0x132c [btrfs]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the errors are like above, then \fBzero\-log\fP should be used to clear
+the log and the filesystem may be mounted normally again. The keywords to look
+for are \(aqopen_ctree\(aq which says that it\(aqs during mount and function names
+that contain \fIreplay\fP, \fIrecover\fP or \fIlog_tree\fP\&.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs rescue\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-check(8)\fP,
+\fI\%btrfs\-scrub(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-restore.8 b/upstream/fedora-40/man8/btrfs-restore.8
new file mode 100644
index 00000000..79916614
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-restore.8
@@ -0,0 +1,147 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-RESTORE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-restore \- try to restore files from a damaged filesystem image
+.SH SYNOPSIS
+.sp
+\fBbtrfs restore\fP [options] <device> <path> | \-l <device>
+.SH DESCRIPTION
+.sp
+\fBbtrfs restore\fP is used to try to salvage files from a damaged filesystem and
+restore them into \fIpath\fP or just list the subvolume tree roots. The filesystem
+image is not modified.
+.sp
+If the filesystem is damaged and cannot be repaired by the other tools
+(\fI\%btrfs\-check(8)\fP or \fI\%btrfs\-rescue(8)\fP),
+\fBbtrfs restore\fP could be used to
+retrieve file data, as far as the metadata are readable. The checks done by
+restore are less strict and the process is usually able to get far enough to
+retrieve data from the whole filesystem. This comes at a cost that some data
+might be incomplete or from older versions if they\(aqre available.
+.sp
+There are several options to attempt restoration of various file metadata type.
+You can try a dry run first to see how well the process goes and use further
+options to extend the set of restored metadata.
+.sp
+For images with damaged tree structures, there are several options to point the
+process to some spare copy.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-s|\-\-snapshots
+get also snapshots that are skipped by default
+.TP
+.B \-x|\-\-xattr
+get extended attributes
+.TP
+.B \-m|\-\-metadata
+restore owner, mode and times for files and directories
+.TP
+.B \-S|\-\-symlinks
+restore symbolic links as well as normal files
+.TP
+.B \-i|\-\-ignore\-errors
+ignore errors during restoration and continue
+.TP
+.B \-o|\-\-overwrite
+overwrite directories/files in \fIpath\fP, e.g. for repeated runs
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-t \ <bytenr>
+use \fIbytenr\fP to read the root tree
+.TP
+.BI \-f \ <bytenr>
+only restore files that are under specified subvolume root pointed by \fIbytenr\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-u|\-\-super <mirror>
+use given superblock mirror identified by <mirror>, it can be 0,1 or 2
+.TP
+.B \-r|\-\-root <rootid>
+only restore files that are under a specified subvolume whose objectid is \fIrootid\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-d
+find directory
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-l|\-\-list\-roots
+list subvolume tree roots, can be used as argument for \fI\-r\fP
+.TP
+.B \-D|\-\-dry\-run
+dry run (only list files that would be recovered)
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-\-path\-regex \ <regex>
+restore only filenames matching a regular expression (\fBregex(7)\fP)
+with a mandatory format
+.sp
+\fB^/(|home(|/username(|/Desktop(|/.*))))$\fP
+.sp
+The format is not very comfortable and restores all files in the
+directories in the whole path, so this is not useful for restoring
+single file in a deep hierarchy.
+.TP
+.B \-c
+ignore case (\fI\-\-path\-regex\fP only)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-v|\-\-verbose
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.sp
+\fBGlobal options\fP
+.INDENT 0.0
+.TP
+.B \-v|\-\-verbose
+be verbose and print what is being restored
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs restore\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-check(8)\fP,
+\fI\%btrfs\-rescue(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-scrub.8 b/upstream/fedora-40/man8/btrfs-scrub.8
new file mode 100644
index 00000000..e415fac8
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-scrub.8
@@ -0,0 +1,398 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-SCRUB" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-scrub \- scrub btrfs filesystem, verify block checksums
+.SH SYNOPSIS
+.sp
+\fBbtrfs scrub\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+Scrub is a pass over all filesystem data and metadata and verifying the
+checksums. If a valid copy is available (replicated block group profiles) then
+the damaged one is repaired. All copies of the replicated profiles are validated.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Scrub is not a filesystem checker (fsck) and does not verify nor repair
+structural damage in the filesystem. It really only checks checksums of data
+and tree blocks, it doesn\(aqt ensure the content of tree blocks is valid and
+consistent. There\(aqs some validation performed when metadata blocks are read
+from disk (\fI\%Tree checker\fP) but it\(aqs not extensive and cannot substitute
+full \fI\%btrfs\-check(8)\fP run.
+.UNINDENT
+.UNINDENT
+.sp
+The user is supposed to run it manually or via a periodic system service. The
+recommended period is a month but it could be less. The estimated device bandwidth
+utilization is about 80% on an idle filesystem.
+.sp
+The scrubbing status is recorded in \fB/var/lib/btrfs/\fP in textual files named
+\fIscrub.status.UUID\fP for a filesystem identified by the given UUID. (Progress
+state is communicated through a named pipe in file \fIscrub.progress.UUID\fP in the
+same directory.) The status file is updated every 5 seconds. A resumed scrub
+will continue from the last saved position.
+.sp
+Scrub can be started only on a mounted filesystem, though it\(aqs possible to
+scrub only a selected device. See \fI\%btrfs scrub start\fP for more.
+.SS Bandwidth and IO limiting
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBionice(1)\fP may not be generally supported by all IO schedulers and
+the options to \fBbtrfs scrub start\fP may not work as expected.
+.UNINDENT
+.UNINDENT
+.sp
+In the past when the \fI\%CFQ IO scheduler\fP was generally used
+the \fBionice(1)\fP syscalls set the priority to \fIidle\fP so the IO would not
+interfere with regular IO. Since the kernel 5.0 the CFQ is not available.
+.sp
+The IO scheduler known to support that is \fI\%BFQ\fP, but first read the
+documentation before using it!
+.sp
+For other commonly used schedulers like \fI\%mq\-deadline\fP it\(aqs recommended to use
+\fIcgroup2 IO controller\fP which could be managed by e.g. \fIsystemd\fP
+(documented in \fBsystemd.resource\-control\fP). However, starting scrub like that
+is not yet completely straightforward. The IO controller must know the physical
+device of the filesystem and create a slice so all processes started from that
+belong to the same accounting group.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ systemd\-run \-p \(dqIOBandwidthReadMax=/dev/sdx 10M\(dq btrfs scrub start \-B /
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Since linux 5.14 it\(aqs possible to set the per\-device bandwidth limits in a
+BTRFS\-specific way using files \fB/sys/fs/btrfs/FSID/devinfo/DEVID/scrub_speed_max\fP\&.
+This setting is not persistent, lasts until the filesystem is unmounted.
+Currently set limits can be displayed by command \fI\%btrfs scrub
+limit\fP\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ echo 100m > /sys/fs/btrfs/9b5fd16e\-1b64\-4f9b\-904a\-74e74c0bbadc/devinfo/1/scrub_speed_max
+$ btrfs scrub limit /
+UUID: 9b5fd16e\-1b64\-4f9b\-904a\-74e74c0bbadc
+Id Limit Path
+\-\- \-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-
+ 1 100.00MiB /dev/sdx
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B cancel <path>|<device>
+If a scrub is running on the filesystem identified by \fIpath\fP or
+\fIdevice\fP, cancel it.
+.sp
+If a \fIdevice\fP is specified, the corresponding filesystem is found and
+\fBbtrfs scrub cancel\fP behaves as if it was called on that filesystem.
+The progress is saved in the status file so \fBbtrfs scrub resume\fP can
+continue from the last position.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B limit [options] <path>
+Show or set scrub limits on devices of the given filesystem.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-d|\-\-devid DEVID
+select the device by DEVID to apply the limit
+.TP
+.B \-l|\-\-limit SIZE
+set the limit of the device to SIZE (size units with suffix),
+or 0 to reset to \fIunlimited\fP
+.TP
+.B \-a|\-\-all
+apply the limit to all devices
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-raw
+print all numbers raw values in bytes without the \fIB\fP suffix
+.TP
+.B \-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to
+the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.TP
+.B \-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.TP
+.B resume [\-BdqrR] <path>|<device>
+Resume a cancelled or interrupted scrub on the filesystem identified by
+\fIpath\fP or on a given \fIdevice\fP\&. The starting point is read from the
+status file if it exists.
+.sp
+This does not start a new scrub if the last scrub finished successfully.
+.sp
+\fBOptions\fP
+.sp
+see \fBscrub start\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B start [\-BdrRf] <path>|<device>
+Start a scrub on all devices of the mounted filesystem identified by
+\fIpath\fP or on a single \fIdevice\fP\&. If a scrub is already running, the new
+one will not start. A device of an unmounted filesystem cannot be
+scrubbed this way.
+.sp
+Without options, scrub is started as a background process. The
+automatic repairs of damaged copies are performed by default for block
+group profiles with redundancy. No\-repair can be enabled by option \fI\-r\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-B
+do not background and print scrub statistics when finished
+.TP
+.B \-d
+print separate statistics for each device of the filesystem
+(\fI\-B\fP only) at the end
+.TP
+.B \-r
+run in read\-only mode, do not attempt to correct anything, can
+be run on a read\-only filesystem
+.TP
+.B \-R
+raw print mode, print full data instead of summary
+.TP
+.B \-f
+force starting new scrub even if a scrub is already running,
+this can useful when scrub status file is damaged and reports a
+running scrub although it is not, but should not normally be
+necessary
+.UNINDENT
+.sp
+\fBDeprecated options\fP
+.INDENT 7.0
+.TP
+.BI \-c \ <ioprio_class>
+set IO priority class (see \fBionice(1)\fP manual page) if the IO
+scheduler configured for the device supports ionice. This is
+only supported by BFQ or Kyber but is \fInot\fP supported by
+mq\-deadline. Please read the section about
+\fI\%IO limiting\fP\&.
+.TP
+.BI \-n \ <ioprio_classdata>
+set IO priority classdata (see \fBionice(1)\fP manpage)
+.TP
+.B \-q
+(deprecated) alias for global \fI\-q\fP option
+.UNINDENT
+.TP
+.B status [options] <path>|<device>
+Show status of a running scrub for the filesystem identified by \fIpath\fP
+or for the specified \fIdevice\fP\&.
+.sp
+If no scrub is running, show statistics of the last finished or
+cancelled scrub for that filesystem or device.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-d
+print separate statistics for each device of the filesystem
+.TP
+.B \-R
+print all raw statistics without postprocessing as returned by
+the status ioctl
+.TP
+.B \-\-raw
+print all numbers raw values in bytes without the \fIB\fP suffix
+.TP
+.B \-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to
+the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.TP
+.B \-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.sp
+A status on a filesystem without any error looks like the following:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs scrub start /
+# btrfs scrub status /
+UUID: 76fac721\-2294\-4f89\-a1af\-620cde7a1980
+Scrub started: Wed Apr 10 12:34:56 2023
+Status: running
+Duration: 0:00:05
+Time left: 0:00:05
+ETA: Wed Apr 10 12:35:01 2023
+Total to scrub: 28.32GiB
+Bytes scrubbed: 13.76GiB (48.59%)
+Rate: 2.75GiB/s
+Error summary: no errors found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+With some errors found:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Error summary: csum=72
+ Corrected: 2
+ Uncorrectable: 72
+ Unverified: 0
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.IP \(bu 2
+\fICorrected\fP \-\- number of bad blocks that were repaired from another copy
+.IP \(bu 2
+\fIUncorrectable\fP \-\- errors detected at read time but not possible to repair from other copy
+.IP \(bu 2
+\fIUnverified\fP \-\- transient errors, first read failed but a retry
+succeeded, may be affected by lower layers that group or split IO requests
+.IP \(bu 2
+\fIError summary\fP \-\- followed by a more detailed list of errors found
+.INDENT 2.0
+.IP \(bu 2
+\fIcsum\fP \-\- checksum mismatch
+.IP \(bu 2
+\fIsuper\fP \-\- super block errors, unless the error is fixed
+immediately, the next commit will overwrite superblock
+.IP \(bu 2
+\fIverify\fP \-\- metadata block header errors
+.IP \(bu 2
+\fIread\fP \-\- blocks can\(aqt be read due to IO errors
+.UNINDENT
+.UNINDENT
+.sp
+It\(aqs possible to set a per\-device limit via file
+\fBsysfs/fs/btrfs/FSID/devinfo/scrub_speed_max\fP\&. In that case
+the limit is printed on the \fIRate:\fP line if option \fI\-d\fP is specified,
+or without it on a single\-device filesystem. Read more about tat in
+section about \fI\%scrub IO limiting\fP\&.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Rate: 989.0MiB/s (limit 1.0G/s)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+On a multi\-device filesystem with at least one device limit the
+overall stats cannot print the limit without \fI\-d\fP so there\(aqs a not that
+some limits are set:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Rate: 36.37MiB/s (some device limits set)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs scrub\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure:
+.INDENT 0.0
+.TP
+.B 1
+scrub couldn\(aqt be performed
+.TP
+.B 2
+there is nothing to resume
+.TP
+.B 3
+scrub found uncorrectable errors
+.UNINDENT
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-select-super.8 b/upstream/fedora-40/man8/btrfs-select-super.8
new file mode 100644
index 00000000..cbf1079a
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-select-super.8
@@ -0,0 +1,80 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-SELECT-SUPER" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-select-super \- overwrite primary superblock with a backup copy
+.SH SYNOPSIS
+.sp
+\fBbtrfs\-select\-super\fP \-s number <device>
+.SH DESCRIPTION
+.sp
+Destructively overwrite all copies of the superblock with a specified copy.
+This helps in certain cases, for example when write barriers were disabled
+during a power failure and not all superblocks were written, or if the primary
+superblock is damaged, e.g. accidentally overwritten.
+.sp
+The filesystem specified by \fIdevice\fP must not be mounted.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Prior to overwriting the primary superblock, please make sure that the
+backup copies are valid!
+.UNINDENT
+.UNINDENT
+.sp
+To dump a superblock use the \fBbtrfs inspect\-internal dump\-super\fP command.
+.sp
+Then run the check (in the non\-repair mode) using the command \fBbtrfs check \-s\fP
+where \fI\-s\fP specifies the superblock copy to use.
+.sp
+Superblock copies exist in the following offsets on the device:
+.INDENT 0.0
+.IP \(bu 2
+primary: 64KiB (65536)
+.IP \(bu 2
+1st copy: 64MiB (67108864)
+.IP \(bu 2
+2nd copy: 256GiB (274877906944)
+.UNINDENT
+.sp
+A superblock size is 4KiB (4096).
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-s|\-\-super <N>
+use Nth superblock copy, valid values are 0 1 or 2 if the
+respective superblock offset is within the device size
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fI\%btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-send.8 b/upstream/fedora-40/man8/btrfs-send.8
new file mode 100644
index 00000000..0f0ca7d8
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-send.8
@@ -0,0 +1,146 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-SEND" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-send \- generate a stream of changes between two subvolume snapshots
+.SH SYNOPSIS
+.sp
+\fBbtrfs send\fP [\-ve] [\-p <parent>] [\-c <clone\-src>] [\-f <outfile>] <subvol> [<subvol>...]
+.SH DESCRIPTION
+.sp
+This command will generate a stream of instructions that describe changes
+between two subvolume snapshots. The stream can be consumed by the \fBbtrfs receive\fP
+command to replicate the sent snapshot on a different filesystem.
+The command operates in two modes: full and incremental.
+.sp
+All snapshots involved in one send command must be read\-only, and this status
+cannot be changed as long as there\(aqs a running send operation that uses the
+snapshot. Read\-only mount of the subvolume is not sufficient, there\(aqs no way to
+guarantee that there won\(aqt be any other writable mount of the same subvolume
+that would potentially write while send would be running.
+.sp
+In the full mode, the entire snapshot data and metadata will end up in the
+stream.
+.sp
+In the incremental mode (options \fI\-p\fP and \fI\-c\fP), previously sent snapshots that
+are available on both the sending and receiving side can be used to reduce the
+amount of information that has to be sent to reconstruct the sent snapshot on a
+different filesystem.
+.sp
+The \fI\-p <parent>\fP option can be omitted when \fI\-c <clone\-src>\fP options are
+given, in which case \fBbtrfs send\fP will determine a suitable parent from among
+the clone sources.
+.sp
+You must not specify clone sources unless you guarantee that these snapshots
+are exactly in the same state on both sides\-\-both for the sender and the
+receiver. For implications of changed read\-write status of a received snapshot
+please see section \fISUBVOLUME FLAGS\fP in \fI\%btrfs\-subvolume(8)\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 0.0
+.TP
+.B \-e
+if sending multiple subvolumes at once, use the new format and omit the
+\fIend cmd\fP marker in the stream separating the subvolumes
+.TP
+.BI \-p \ <parent>
+send an incremental stream from \fIparent\fP to \fIsubvol\fP
+.TP
+.BI \-c \ <clone\-src>
+use this snapshot as a clone source for an incremental send (multiple
+allowed)
+.TP
+.BI \-f \ <outfile>
+output is normally written to standard output so it can be, for
+example, piped to btrfs receive. Use this option to write it to a file
+instead.
+.TP
+.B \-\-no\-data
+send in \fINO_FILE_DATA\fP mode
+.sp
+The output stream does not contain any file data and thus cannot be
+used to transfer changes. This mode is faster and is useful to show the
+differences in metadata.
+.TP
+.BI \-\-proto \ <N>
+use send protocol version N
+.sp
+The default is 1, which was the original protocol version. Version 2
+encodes file data slightly more efficiently; it is also required for
+sending compressed data directly (see \fI\-\-compressed\-data\fP). Version 2
+requires at least btrfs\-progs 6.0 on both the sender and receiver and
+at least Linux 6.0 on the sender. Passing 0 means to use the highest
+version supported by the running kernel.
+.TP
+.B \-\-compressed\-data
+send data that is compressed on the filesystem directly without
+decompressing it
+.sp
+If the receiver supports the \fIBTRFS_IOC_ENCODED_WRITE\fP ioctl (added in
+Linux 6.0), it can also write it directly without decompressing it.
+Otherwise, the receiver will fall back to decompressing it and writing
+it normally.
+.sp
+This requires protocol version 2 or higher. If \fI\-\-proto\fP was not used,
+then \fI\-\-compressed\-data\fP implies \fI\-\-proto 2\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-q|\-\-quiet
+(deprecated) alias for global \fI\-q\fP option
+.TP
+.B \-v|\-\-verbose
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.sp
+\fBGlobal options\fP
+.INDENT 0.0
+.TP
+.B \-q|\-\-quiet
+suppress all messages except errors
+.TP
+.B \-v|\-\-verbose
+increase output verbosity, print generated commands in a readable form
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs send\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-receive(8)\fP,
+\fI\%btrfs\-subvolume(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs-subvolume.8 b/upstream/fedora-40/man8/btrfs-subvolume.8
new file mode 100644
index 00000000..1ac17e3e
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs-subvolume.8
@@ -0,0 +1,573 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-SUBVOLUME" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs-subvolume \- manage btrfs subvolumes
+.SH SYNOPSIS
+.sp
+\fBbtrfs subvolume\fP <subcommand> [<args>]
+.SH DESCRIPTION
+.sp
+\fBbtrfs subvolume\fP is used to create/delete/list/show btrfs subvolumes and
+snapshots.
+.sp
+A BTRFS subvolume is a part of filesystem with its own independent
+file/directory hierarchy and inode number namespace. Subvolumes can share file
+extents. A snapshot is also subvolume, but with a given initial content of the
+original subvolume. A subvolume has always inode number 256.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+A subvolume in BTRFS is not like an LVM logical volume, which is block\-level
+snapshot while BTRFS subvolumes are file extent\-based.
+.UNINDENT
+.UNINDENT
+.sp
+A subvolume looks like a normal directory, with some additional operations
+described below. Subvolumes can be renamed or moved, nesting subvolumes is not
+restricted but has some implications regarding snapshotting. The numeric id
+(called \fIsubvolid\fP or \fIrootid\fP) of the subvolume is persistent and cannot be
+changed.
+.sp
+A subvolume in BTRFS can be accessed in two ways:
+.INDENT 0.0
+.IP \(bu 2
+like any other directory that is accessible to the user
+.IP \(bu 2
+like a separately mounted filesystem (options \fIsubvol\fP or \fIsubvolid\fP)
+.UNINDENT
+.sp
+In the latter case the parent directory is not visible and accessible. This is
+similar to a bind mount, and in fact the subvolume mount does exactly that.
+.sp
+A freshly created filesystem is also a subvolume, called \fItop\-level\fP,
+internally has an id 5. This subvolume cannot be removed or replaced by another
+subvolume. This is also the subvolume that will be mounted by default, unless
+the default subvolume has been changed (see \fI\%btrfs subvolume set\-default\fP).
+.sp
+A snapshot is a subvolume like any other, with given initial content. By
+default, snapshots are created read\-write. File modifications in a snapshot
+do not affect the files in the original subvolume.
+.sp
+Subvolumes can be given capacity limits, through the qgroups/quota facility, but
+otherwise share the single storage pool of the whole btrfs filesystem. They may
+even share data between themselves (through deduplication or snapshotting).
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+A snapshot is not a backup: snapshots work by use of BTRFS\(aq copy\-on\-write
+behaviour. A snapshot and the original it was taken from initially share all
+of the same data blocks. If that data is damaged in some way (cosmic rays,
+bad disk sector, accident with dd to the disk), then the snapshot and the
+original will both be damaged. Snapshots are useful to have local online
+\(dqcopies\(dq of the filesystem that can be referred back to, or to implement a
+form of deduplication, or to fix the state of a filesystem for making a full
+backup without anything changing underneath it. They do not in themselves
+make your data any safer.
+.UNINDENT
+.UNINDENT
+.SH SUBVOLUME FLAGS
+.sp
+The subvolume flag currently implemented is the \fIro\fP property (read\-only
+status). Read\-write subvolumes have that set to \fIfalse\fP, snapshots as \fItrue\fP\&.
+In addition to that, a plain snapshot will also have last change generation and
+creation generation equal.
+.sp
+Read\-only snapshots are building blocks of incremental send (see
+\fI\%btrfs\-send(8)\fP) and the whole use case relies on unmodified snapshots where
+the relative changes are generated from. Thus, changing the subvolume flags
+from read\-only to read\-write will break the assumptions and may lead to
+unexpected changes in the resulting incremental stream.
+.sp
+A snapshot that was created by send/receive will be read\-only, with different
+last change generation, read\-only and with set \fIreceived_uuid\fP which identifies
+the subvolume on the filesystem that produced the stream. The use case relies
+on matching data on both sides. Changing the subvolume to read\-write after it
+has been received requires to reset the \fIreceived_uuid\fP\&. As this is a notable
+change and could potentially break the incremental send use case, performing
+it by \fI\%btrfs property set\fP requires force if that is
+really desired by user.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The safety checks have been implemented in 5.14.2, any subvolumes previously
+received (with a valid \fIreceived_uuid\fP) and read\-write status may exist and
+could still lead to problems with send/receive. You can use \fI\%btrfs subvolume show\fP
+to identify them. Flipping the flags to read\-only and back to
+read\-write will reset the \fIreceived_uuid\fP manually. There may exist a
+convenience tool in the future.
+.UNINDENT
+.UNINDENT
+.SH NESTED SUBVOLUMES
+.sp
+There are no restrictions for subvolume creation, so it\(aqs up to the user how to
+organize them, whether to have a flat layout (all subvolumes are direct
+descendants of the toplevel one), or nested.
+.sp
+What should be mentioned early is that a snapshotting is not recursive, so a
+subvolume or a snapshot is effectively a barrier and no files in the nested
+appear in the snapshot. Instead there\(aqs a stub subvolume (also sometimes
+\fIempty subvolume\fP with the same name as original subvolume, with inode number
+2). This can be used intentionally but could be confusing in case of nested
+layouts.
+.SS Case study: system root layouts
+.sp
+There are two ways how the system root directory and subvolume layout could be
+organized. The interesting use case for root is to allow rollbacks to previous
+version, as one atomic step. If the entire filesystem hierarchy starting in \fB/\fP
+is in one subvolume, taking snapshot will encompass all files. This is easy for
+the snapshotting part but has undesirable consequences for rollback. For example,
+log files would get rolled back too, or any data that are stored on the root
+filesystem but are not meant to be rolled back either (database files, VM
+images, ...).
+.sp
+Here we could utilize the snapshotting barrier mentioned above, each directory
+that stores data to be preserved across rollbacks is it\(aqs own subvolume. This
+could be e.g. \fB/var\fP\&. Further more\-fine grained partitioning could be done, e.g.
+adding separate subvolumes for \fB/var/log\fP, \fB/var/cache\fP etc.
+.sp
+That there are separate subvolumes requires separate actions to take the
+snapshots (here it gets disconnected from the system root snapshots). This needs
+to be taken care of by system tools, installers together with selection of which
+directories are highly recommended to be separate subvolumes.
+.SH MOUNT OPTIONS
+.sp
+Mount options are of two kinds, generic (that are handled by VFS layer) and
+specific, handled by the filesystem. The following list shows which are
+applicable to individual subvolume mounts, while there are more options that
+always affect the whole filesystem:
+.INDENT 0.0
+.IP \(bu 2
+generic: noatime/relatime/..., nodev, nosuid, ro, rw, dirsync
+.IP \(bu 2
+fs\-specific: compress, autodefrag, nodatacow, nodatasum
+.UNINDENT
+.sp
+An example of whole filesystem options is e.g. \fIspace_cache\fP, \fIrescue\fP, \fIdevice\fP,
+\fIskip_balance\fP, etc. The exceptional options are \fIsubvol\fP and \fIsubvolid\fP that
+are actually used for mounting a given subvolume and can be specified only once
+for the mount.
+.sp
+Subvolumes belong to a single filesystem and as implemented now all share the
+same specific mount options, changes done by remount have immediate effect. This
+may change in the future.
+.sp
+Mounting a read\-write snapshot as read\-only is possible and will not change the
+\fIro\fP property and flag of the subvolume.
+.sp
+The name of the mounted subvolume is stored in file \fB/proc/self/mountinfo\fP in
+the 4th column:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+27 21 0:19 /subv1 /mnt rw,relatime \- btrfs /dev/sda rw,space_cache
+ ^^^^^^
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH INODE NUMBERS
+.sp
+A proper subvolume has always inode number 256. If a subvolume is nested and
+then a snapshot is taken, then the cloned directory entry representing the
+subvolume becomes empty and the inode has number 2. All other files and
+directories in the target snapshot preserve their original inode numbers.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Inode number is not a filesystem\-wide unique identifier, some applications
+assume that. Please use pair \fIsubvolumeid:inodenumber\fP for that purpose.
+The subvolume id can be read by \fI\%btrfs inspect\-internal rootid\fP
+or by the ioctl \fI\%BTRFS_IOC_INO_LOOKUP\fP\&.
+.UNINDENT
+.UNINDENT
+.SH PERFORMANCE
+.sp
+Subvolume creation needs to flush dirty data that belong to the subvolume, this
+step may take some time, otherwise once there\(aqs nothing else to do, the snapshot
+is instant and in the metadata it only creates a new tree root copy.
+.sp
+Snapshot deletion has two phases: first its directory is deleted and the
+subvolume is added to a list, then the list is processed one by one and the
+data related to the subvolume get deleted. This is usually called \fIcleaning\fP and
+can take some time depending on the amount of shared blocks (can be a lot of
+metadata updates), and the number of currently queued deleted subvolumes.
+.SH SUBVOLUME AND SNAPSHOT
+.sp
+A subvolume is a part of filesystem with its own independent
+file/directory hierarchy. Subvolumes can share file extents. A snapshot is
+also subvolume, but with a given initial content of the original subvolume.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+A subvolume in btrfs is not like an LVM logical volume, which is block\-level
+snapshot while btrfs subvolumes are file extent\-based.
+.UNINDENT
+.UNINDENT
+.sp
+A subvolume looks like a normal directory, with some additional operations
+described below. Subvolumes can be renamed or moved, nesting subvolumes is not
+restricted but has some implications regarding snapshotting.
+.sp
+A subvolume in btrfs can be accessed in two ways:
+.INDENT 0.0
+.IP \(bu 2
+like any other directory that is accessible to the user
+.IP \(bu 2
+like a separately mounted filesystem (options \fIsubvol\fP or \fIsubvolid\fP)
+.UNINDENT
+.sp
+In the latter case the parent directory is not visible and accessible. This is
+similar to a bind mount, and in fact the subvolume mount does exactly that.
+.sp
+A freshly created filesystem is also a subvolume, called \fItop\-level\fP,
+internally has an id 5. This subvolume cannot be removed or replaced by another
+subvolume. This is also the subvolume that will be mounted by default, unless
+the default subvolume has been changed (see subcommand \fI\%set\-default\fP).
+.sp
+A snapshot is a subvolume like any other, with given initial content. By
+default, snapshots are created read\-write. File modifications in a snapshot
+do not affect the files in the original subvolume.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B create [options] [<dest>/]<name> [[<dest2>/]<name2> ...]
+Create subvolume(s) at the destination(s).
+.sp
+If \fIdest\fP part of the path is not given, subvolume \fIname\fP will be
+created in the current directory.
+.sp
+If multiple destinations are given, then the given options are applied to all
+subvolumes.
+.sp
+If failure happens for any of the destinations, the command would
+still retry the remaining destinations, but would return 1 to indicate
+the failure (similar to what \fBmkdir\fP would do.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.BI \-i \ <qgroupid>
+Add the newly created subvolume to a qgroup. This option can be given multiple
+times.
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-p|\-\-parents
+Create any missing parent directories for each argument (like \fBmkdir \-p\fP).
+.UNINDENT
+.TP
+.B delete [options] [<subvolume> [<subvolume>...]], delete \-i|\-\-subvolid <subvolid> <path>
+Delete the subvolume(s) from the filesystem.
+.sp
+If \fIsubvolume\fP is not a subvolume, btrfs returns an error but continues if
+there are more arguments to process.
+.sp
+If \fI\-\-subvolid\fP is used, \fIpath\fP must point to a btrfs filesystem. See
+\fI\%btrfs subvolume list\fP or
+\fI\%btrfs inspect\-internal rootid\fP
+how to get the subvolume id.
+.sp
+The corresponding directory is removed instantly but the data blocks are
+removed later in the background. The command returns immediately. See
+\fI\%btrfs subvolume sync\fP how to wait until the subvolume gets completely removed.
+.sp
+The deletion does not involve full transaction commit by default due to
+performance reasons. As a consequence, the subvolume may appear again after a
+crash. Use one of the \fI\-\-commit\fP options to wait until the operation is
+safely stored on the device.
+.sp
+Deleting subvolume needs sufficient permissions, by default the owner
+cannot delete it unless it\(aqs enabled by a mount option
+\fIuser_subvol_rm_allowed\fP, or deletion is run as root.
+The default subvolume (see \fI\%btrfs subvolume set\-default\fP)
+cannot be deleted and
+returns error (EPERM) and this is logged to the system log. A subvolume that\(aqs
+currently involved in send (see \fI\%btrfs\-send(8)\fP)
+also cannot be deleted until the
+send is finished. This is also logged in the system log.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-c|\-\-commit\-after
+wait for transaction commit at the end of the operation.
+.TP
+.B \-C|\-\-commit\-each
+wait for transaction commit after deleting each subvolume.
+.TP
+.B \-i|\-\-subvolid <subvolid>
+subvolume id to be removed instead of the <path> that should point to the
+filesystem with the subvolume
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-\-delete\-qgroup
+also delete the qgroup 0/subvolid if it exists
+.TP
+.B \-\-no\-delete\-qgroup
+do not delete the 0/subvolid qgroup (default)
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \-v|\-\-verbose
+(deprecated) alias for global \fI\-v\fP option
+.UNINDENT
+.TP
+.B find\-new <subvolume> <last_gen>
+List the recently modified files in a subvolume, after \fIlast_gen\fP generation.
+.TP
+.B get\-default <path>
+Get the default subvolume of the filesystem \fIpath\fP\&.
+.sp
+The output format is similar to \fBsubvolume list\fP command.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B list [options] [\-G [+|\-]<value>] [\-C [+|\-]<value>] [\-\-sort=rootid,gen,ogen,path] <path>
+List the subvolumes present in the filesystem \fIpath\fP\&.
+.sp
+For every subvolume the following information is shown by default:
+.sp
+ID \fIID\fP gen \fIgeneration\fP top level \fIparent_ID\fP path \fIpath\fP
+.sp
+where \fIID\fP is subvolume\(aqs (root)id, \fIgeneration\fP is an internal counter which is
+updated every transaction, \fIparent_ID\fP is the same as the parent subvolume\(aqs id,
+and \fIpath\fP is the relative path of the subvolume to the top level subvolume.
+The subvolume\(aqs ID may be used by the subvolume set\-default command,
+or at mount time via the \fIsubvolid=\fP option.
+.sp
+\fBOptions\fP
+.sp
+Path filtering:
+.INDENT 7.0
+.TP
+.B \-o
+Print only subvolumes below specified <path>. Note that this is not a
+recursive command, and won\(aqt show nested subvolumes under <path>.
+.TP
+.B \-a
+print all the subvolumes in the filesystem and distinguish between
+absolute and relative path with respect to the given \fIpath\fP\&.
+.UNINDENT
+.sp
+Field selection:
+.INDENT 7.0
+.TP
+.B \-p
+print the parent ID
+(\fIparent\fP here means the subvolume which contains this subvolume).
+.TP
+.B \-c
+print the ogeneration of the subvolume, aliases: ogen or origin generation.
+.TP
+.B \-g
+print the generation of the subvolume (default).
+.TP
+.B \-u
+print the UUID of the subvolume.
+.TP
+.B \-q
+print the parent UUID of the subvolume
+(\fIparent\fP here means subvolume of which this subvolume is a snapshot).
+.TP
+.B \-R
+print the UUID of the sent subvolume, where the subvolume is the result of a receive operation.
+.UNINDENT
+.sp
+Type filtering:
+.INDENT 7.0
+.TP
+.B \-s
+only snapshot subvolumes in the filesystem will be listed.
+.TP
+.B \-r
+only readonly subvolumes in the filesystem will be listed.
+.TP
+.B \-d
+list deleted subvolumes that are not yet cleaned.
+.UNINDENT
+.sp
+Other:
+.INDENT 7.0
+.TP
+.B \-t
+print the result as a table.
+.UNINDENT
+.sp
+Sorting:
+.sp
+By default the subvolumes will be sorted by subvolume ID ascending.
+.INDENT 7.0
+.TP
+.B \-G [+|\-]<value>
+list subvolumes in the filesystem that its generation is
+>=, <= or = value. \(aq+\(aq means >= value, \(aq\-\(aq means <= value, If there is
+neither \(aq+\(aq nor \(aq\-\(aq, it means = value.
+.TP
+.B \-C [+|\-]<value>
+list subvolumes in the filesystem that its ogeneration is
+>=, <= or = value. The usage is the same to \fI\-G\fP option.
+.TP
+.B \-\-sort=rootid,gen,ogen,path
+list subvolumes in order by specified items.
+you can add \fI+\fP or \fI\-\fP in front of each items, \fI+\fP means ascending,
+\fI\-\fP means descending. The default is ascending.
+.sp
+for \fI\-\-sort\fP you can combine some items together by \fI,\fP, just like
+\fI\-\-sort=+ogen,\-gen,path,rootid\fP\&.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B set\-default [<subvolume>|<id> <path>]
+Set the default subvolume for the (mounted) filesystem.
+.sp
+Set the default subvolume for the (mounted) filesystem at \fIpath\fP\&. This will hide
+the top\-level subvolume (i.e. the one mounted with \fIsubvol=/\fP or \fIsubvolid=5\fP).
+Takes action on next mount.
+.sp
+There are two ways how to specify the subvolume, by \fIid\fP or by the \fIsubvolume\fP
+path.
+The id can be obtained from \fI\%btrfs subvolume list\fP
+\fI\%btrfs subvolume show\fP or
+\fI\%btrfs inspect\-internal rootid\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B show [options] <path>
+Show more information about a subvolume (UUIDs, generations, times, flags,
+related snapshots).
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+/mnt/btrfs/subvolume
+ Name: subvolume
+ UUID: 5e076a14\-4e42\-254d\-ac8e\-55bebea982d1
+ Parent UUID: \-
+ Received UUID: \-
+ Creation time: 2018\-01\-01 12:34:56 +0000
+ Subvolume ID: 79
+ Generation: 2844
+ Gen at creation: 2844
+ Parent ID: 5
+ Top level ID: 5
+ Flags: \-
+ Snapshot(s):
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-r|\-\-rootid <ID>
+show details about subvolume with root \fIID\fP, looked up in \fIpath\fP
+.TP
+.B \-u|\-\-uuid UUID
+show details about subvolume with the given \fIUUID\fP, looked up in \fIpath\fP
+.UNINDENT
+.TP
+.B snapshot [\-r] [\-i <qgroupid>] <source> <dest>|[<dest>/]<name>
+Create a snapshot of the subvolume \fIsource\fP with the
+name \fIname\fP in the \fIdest\fP directory.
+.sp
+If only \fIdest\fP is given, the subvolume will be named the basename of \fIsource\fP\&.
+If \fIsource\fP is not a subvolume, btrfs returns an error.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-r
+Make the new snapshot read only.
+.TP
+.BI \-i \ <qgroupid>
+Add the newly created subvolume to a qgroup. This option can be given multiple
+times.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B sync <path> [subvolid...]
+Wait until given subvolume(s) are completely removed from the filesystem after
+deletion. If no subvolume id is given, wait until all current deletion requests
+are completed, but do not wait for subvolumes deleted in the meantime.
+.sp
+If the filesystem status changes to read\-only then the waiting is interrupted.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.BI \-s \ <N>
+sleep N seconds between checks (default: 1)
+.UNINDENT
+.UNINDENT
+.SH EXAMPLES
+.SS Deleting a subvolume
+.sp
+If we want to delete a subvolume called \fIfoo\fP from a btrfs volume mounted at
+\fB/mnt/bar\fP we could run the following:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+btrfs subvolume delete /mnt/bar/foo
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs subvolume\fP returns a zero exit status if it succeeds. A non\-zero value is
+returned in case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs\-qgroup(8)\fP,
+\fI\%btrfs\-quota(8)\fP,
+\fI\%btrfs\-send(8)\fP,
+\fI\%mkfs.btrfs(8)\fP,
+\fBmount(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfs.8 b/upstream/fedora-40/man8/btrfs.8
new file mode 100644
index 00000000..f20beee4
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfs.8
@@ -0,0 +1,223 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfs \- a toolbox to manage btrfs filesystems
+.SH SYNOPSIS
+.sp
+\fBbtrfs\fP [global] <group> [<group>...] <command> [<args>]
+.SH DESCRIPTION
+.sp
+The \fBbtrfs\fP utility is a toolbox for managing btrfs filesystems. There are
+command groups to work with subvolumes, devices, for whole filesystem or other
+specific actions. See section \fI\%COMMANDS\fP\&.
+.sp
+There are also standalone tools for some tasks like \fI\%btrfs\-convert(8)\fP or
+\fI\%btrfstune(8)\fP that were separate historically and/or haven\(aqt been merged to the
+main utility. See section \fI\%STANDALONE TOOLS\fP
+for more details.
+.sp
+For other topics (mount options, etc) please refer to the separate manual
+page \fI\%btrfs(5)\fP\&.
+.SH COMMAND SYNTAX
+.sp
+Any command name can be shortened so long as the shortened form is unambiguous,
+however, it is recommended to use full command names in scripts. All command
+groups have their manual page named \fBbtrfs\-<group>\fP\&.
+.sp
+For example: it is possible to run \fBbtrfs sub snaps\fP instead of
+\fBbtrfs subvolume snapshot\fP\&.
+But \fBbtrfs file s\fP is not allowed, because \fBfile s\fP may be interpreted
+both as \fBfilesystem show\fP and as \fBfilesystem sync\fP\&.
+.sp
+If the command name is ambiguous, the list of conflicting options is
+printed.
+.sp
+\fISizes\fP, both upon input and output, can be expressed in either SI or IEC\-I
+units (see \fI\%numfmt(1)\fP)
+with the suffix \fIB\fP appended.
+All numbers will be formatted according to the rules of the \fIC\fP locale
+(ignoring the shell locale, see \fI\%locale(7)\fP).
+.sp
+For an overview of a given command use \fBbtrfs command \-\-help\fP
+or \fBbtrfs [command...] \-\-help \-\-full\fP to print all available options.
+.sp
+There are global options that are passed between \fIbtrfs\fP and the \fIgroup\fP name
+and affect behaviour not specific to the command, e.g. verbosity or the type
+of the output.
+.INDENT 0.0
+.TP
+.BI \-\-format \ <format>
+if supported by the command, print subcommand output in that format (text, json)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-v|\-\-verbose
+increase verbosity of the subcommand
+.TP
+.B \-q|\-\-quiet
+print only errors
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-\-log \ <level>
+set log level (default, info, verbose, debug, quiet)
+.UNINDENT
+.sp
+The remaining options are relevant only for the main tool:
+.INDENT 0.0
+.TP
+.B \-\-help
+print condensed help for all subcommands
+.TP
+.B \-\-version
+print version string
+.UNINDENT
+.SH COMMANDS
+.INDENT 0.0
+.TP
+.B balance
+Balance btrfs filesystem chunks across single or several devices.
+See \fI\%btrfs\-balance(8)\fP for details.
+.TP
+.B check
+Do off\-line check on a btrfs filesystem.
+See \fI\%btrfs\-check(8)\fP for details.
+.TP
+.B device
+Manage devices managed by btrfs, including add/delete/scan and so
+on. See \fI\%btrfs\-device(8)\fP for details.
+.TP
+.B filesystem
+Manage a btrfs filesystem, including label setting/sync and so on.
+See \fI\%btrfs\-filesystem(8)\fP for details.
+.TP
+.B inspect\-internal
+Debug tools for developers/hackers.
+See \fI\%btrfs\-inspect\-internal(8)\fP for details.
+.TP
+.B property
+Get/set a property from/to a btrfs object.
+See \fI\%btrfs\-property(8)\fP for details.
+.TP
+.B qgroup
+Manage quota group(qgroup) for btrfs filesystem.
+See \fI\%btrfs\-qgroup(8)\fP for details.
+.TP
+.B quota
+Manage quota on btrfs filesystem like enabling/rescan and etc.
+See \fI\%btrfs\-quota(8)\fP and \fI\%btrfs\-qgroup(8)\fP for details.
+.TP
+.B receive
+Receive subvolume data from stdin/file for restore and etc.
+See \fI\%btrfs\-receive(8)\fP for details.
+.TP
+.B replace
+Replace btrfs devices.
+See \fI\%btrfs\-replace(8)\fP for details.
+.TP
+.B rescue
+Try to rescue damaged btrfs filesystem.
+See \fI\%btrfs\-rescue(8)\fP for details.
+.TP
+.B restore
+Try to restore files from a damaged btrfs filesystem.
+See \fI\%btrfs\-restore(8)\fP for details.
+.TP
+.B scrub
+Scrub a btrfs filesystem.
+See \fI\%btrfs\-scrub(8)\fP for details.
+.TP
+.B send
+Send subvolume data to stdout/file for backup and etc.
+See \fI\%btrfs\-send(8)\fP for details.
+.TP
+.B subvolume
+Create/delete/list/manage btrfs subvolume.
+See \fI\%btrfs\-subvolume(8)\fP for details.
+.UNINDENT
+.SH STANDALONE TOOLS
+.sp
+New functionality could be provided using a standalone tool. If the functionality
+proves to be useful, then the standalone tool is declared obsolete and its
+functionality is copied to the main tool. Obsolete tools are removed after a
+long (years) depreciation period.
+.sp
+Tools that are still in active use without an equivalent in \fBbtrfs\fP:
+.INDENT 0.0
+.TP
+.B btrfs\-convert
+in\-place conversion from ext2/3/4 filesystems to btrfs
+.TP
+.B btrfstune
+tweak some filesystem properties on a unmounted filesystem
+.TP
+.B btrfs\-select\-super
+rescue tool to overwrite primary superblock from a spare copy
+.TP
+.B btrfs\-find\-root
+rescue helper to find tree roots in a filesystem
+.UNINDENT
+.sp
+For space\-constrained environments, it\(aqs possible to build a single binary with
+functionality of several standalone tools. This is following the concept of
+busybox where the file name selects the functionality. This works for symlinks
+or hardlinks. The full list can be obtained by \fBbtrfs help \-\-box\fP\&.
+.SH EXIT STATUS
+.sp
+\fBbtrfs\fP returns a zero exit status if it succeeds. Non zero is returned in
+case of failure.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs(5)\fP,
+\fI\%btrfs\-balance(8)\fP,
+\fI\%btrfs\-check(8)\fP,
+\fI\%btrfs\-convert(8)\fP,
+\fI\%btrfs\-device(8)\fP,
+\fI\%btrfs\-filesystem(8)\fP,
+\fI\%btrfs\-inspect\-internal(8)\fP,
+\fI\%btrfs\-property(8)\fP,
+\fI\%btrfs\-qgroup(8)\fP,
+\fI\%btrfs\-quota(8)\fP,
+\fI\%btrfs\-receive(8)\fP,
+\fI\%btrfs\-replace(8)\fP,
+\fI\%btrfs\-rescue(8)\fP,
+\fI\%btrfs\-restore(8)\fP,
+\fI\%btrfs\-scrub(8)\fP,
+\fI\%btrfs\-send(8)\fP,
+\fI\%btrfs\-subvolume(8)\fP,
+\fI\%btrfstune(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/btrfstune.8 b/upstream/fedora-40/man8/btrfstune.8
new file mode 100644
index 00000000..94cc266f
--- /dev/null
+++ b/upstream/fedora-40/man8/btrfstune.8
@@ -0,0 +1,178 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFSTUNE" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+btrfstune \- tune various filesystem parameters
+.SH SYNOPSIS
+.sp
+\fBbtrfstune\fP [options] <device> [<device>...]
+.SH DESCRIPTION
+.sp
+\fBbtrfstune\fP can be used to enable, disable, or set various filesystem
+parameters. The filesystem must be unmounted.
+.sp
+The common use case is to enable features that were not enabled at mkfs time.
+Please make sure that you have kernel support for the features. You can find a
+complete list of features and kernel version of their introduction at
+\fI\%Feature by version\fP page. Also, the manual page
+\fI\%mkfs.btrfs(8)\fP contains more details about the features.
+.sp
+Some of the features could be also enabled on a mounted filesystem by other
+means. Please refer to the \fIFILESYSTEM FEATURES\fP in \fI\%btrfs(5)\fP\&.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-convert\-to\-block\-group\-tree
+(since kernel 6.1)
+.sp
+Convert portions of extent tree that tracks block groups to a separate
+block group tree. This greatly reduces mount time. Can be also enabled
+at mkfs time.
+.TP
+.B \-\-convert\-from\-block\-group\-tree
+(since kernel 6.1)
+.sp
+Convert block groups tracked in standalone block group tree back to
+extent tree and remove \fIblock\-group\-tree\fP feature bit from the filesystem.
+.TP
+.B \-\-convert\-to\-free\-space\-tree
+(since kernel 4.5)
+.sp
+Convert to free\-space\-tree feature (v2 of space cache).
+.TP
+.B \-f
+Allow dangerous changes, e.g. clear the seeding flag or change fsid.
+Make sure that you are aware of the dangers.
+.TP
+.B \-m
+(since kernel: 5.0)
+.sp
+change fsid stored as \fImetadata_uuid\fP to a randomly generated UUID,
+see also \fI\-U\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-M \ <UUID>
+(since kernel: 5.0)
+.sp
+change fsid stored as \fImetadata_uuid\fP to a given UUID, see also \fI\-U\fP
+.sp
+The metadata_uuid is stored only in the superblock and is a backward
+incompatible change. The fsid in metadata blocks remains unchanged and
+is not overwritten, thus the whole operation is significantly faster
+than \fI\-U\fP\&.
+.sp
+The new metadata_uuid can be used for mount by UUID and is also used to
+identify devices of a multi\-device filesystem.
+.TP
+.B \-n
+(since kernel: 3.14)
+.sp
+Enable no\-holes feature (more efficient representation of file holes),
+enabled by mkfs feature \fIno\-holes\fP\&.
+.TP
+.B \-r
+(since kernel: 3.7)
+.sp
+Enable extended inode refs (hardlink limit per file in a directory is
+65536), enabled by mkfs feature \fIextref\fP\&.
+.TP
+.BI \-S \ <0|1>
+Enable seeding on a given device. Value 1 will enable seeding, 0 will
+disable it. A seeding filesystem is forced to be mounted read\-only. A
+new device can be added to the filesystem and will capture all writes
+keeping the seeding device intact. See also section
+\fI\%SEEDING DEVICE\fP
+in \fI\%btrfs(5)\fP\&.
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+Clearing the seeding flag on a device may be dangerous. If a
+previously\-seeding device is changed, all filesystems that used
+that device will become unmountable. Setting the seeding flag
+back will not fix that.
+.sp
+A valid usecase is \fIseeding device as a base image\fP\&. Clear the
+seeding flag, update the filesystem and make it seeding again,
+provided that it\(aqs OK to throw away all filesystems built on
+top of the previous base.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-u
+Change fsid to a randomly generated UUID or continue previous fsid
+change operation in case it was interrupted.
+.TP
+.BI \-U \ <UUID>
+Change fsid to \fIUUID\fP in all metadata blocks.
+.sp
+The \fIUUID\fP should be a 36 bytes string in \fBprintf(3)\fP format
+\fB%08x\-%04x\-%04x\-%04x\-%012x\fP\&.
+If there is a previous unfinished fsid change, it will continue only if the
+\fIUUID\fP matches the unfinished one or if you use the option \fI\-u\fP\&.
+.sp
+All metadata blocks are rewritten, this may take some time, but the final
+filesystem compatibility is unaffected, unlike \fI\-M\fP\&.
+.sp
+\fBWARNING:\fP
+.INDENT 7.0
+.INDENT 3.5
+Cancelling or interrupting a UUID change operation will make
+the filesystem temporarily unmountable. To fix it, rerun
+\fBbtrfstune \-u\fP and let it complete.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-x
+(since kernel: 3.10)
+.sp
+Enable skinny metadata extent refs (more efficient representation of
+extents), enabled by mkfs feature \fIskinny\-metadata\fP\&.
+.sp
+All newly created extents will use the new representation. To
+completely switch the entire filesystem, run a full balance of the
+metadata. Please refer to \fI\%btrfs\-balance(8)\fP\&.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfstune\fP returns 0 if no error happened, 1 otherwise.
+.SH COMPATIBILITY NOTE
+.sp
+This deprecated tool exists for historical reasons but is still in use today.
+Its functionality will be merged to the main tool, at which time \fBbtrfstune\fP
+will be declared obsolete and scheduled for removal.
+.SH SEE ALSO
+.sp
+\fI\%btrfs(5)\fP,
+\fI\%btrfs\-balance(8)\fP,
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/chat.8 b/upstream/fedora-40/man8/chat.8
new file mode 100644
index 00000000..6d10836c
--- /dev/null
+++ b/upstream/fedora-40/man8/chat.8
@@ -0,0 +1,514 @@
+.\" -*- nroff -*-
+.\" manual page [] for chat 1.8
+.\" $Id: chat.8,v 1.11 2004/11/13 12:22:49 paulus Exp $
+.\" SH section heading
+.\" SS subsection heading
+.\" LP paragraph
+.\" IP indented paragraph
+.\" TP hanging label
+.TH CHAT 8 "22 May 1999" "Chat Version 1.22"
+.SH NAME
+chat \- Automated conversational script with a modem
+.SH SYNOPSIS
+.B chat
+[
+.I options
+]
+.I script
+.SH DESCRIPTION
+.LP
+The \fIchat\fR program defines a conversational exchange between the
+computer and the modem. Its primary purpose is to establish the
+connection between the Point-to-Point Protocol Daemon (\fIpppd\fR) and
+the remote's \fIpppd\fR process.
+.SH OPTIONS
+.TP
+.B \-f \fI<chat file>
+Read the chat script from the chat \fIfile\fR. The use of this option
+is mutually exclusive with the chat script parameters. The user must
+have read access to the file. Multiple lines are permitted in the
+file. Space or horizontal tab characters should be used to separate
+the strings.
+.TP
+.B \-t \fI<timeout>
+Set the timeout for the expected string to be received. If the string
+is not received within the time limit then the reply string is not
+sent. An alternate reply may be sent or the script will fail if there
+is no alternate reply string. A failed script will cause the
+\fIchat\fR program to terminate with a non-zero error code.
+.TP
+.B \-r \fI<report file>
+Set the file for output of the report strings. If you use the keyword
+\fIREPORT\fR, the resulting strings are written to this file. If this
+option is not used and you still use \fIREPORT\fR keywords, the
+\fIstderr\fR file is used for the report strings.
+.TP
+.B \-e
+Start with the echo option turned on. Echoing may also be turned on
+or off at specific points in the chat script by using the \fIECHO\fR
+keyword. When echoing is enabled, all output from the modem is echoed
+to \fIstderr\fR.
+.TP
+.B \-E
+Enables environment variable substitution within chat scripts using the
+standard \fI$xxx\fR syntax.
+.TP
+.B \-v
+Request that the \fIchat\fR script be executed in a verbose mode. The
+\fIchat\fR program will then log the execution state of the chat
+script as well as all text received from the modem and the output
+strings sent to the modem. The default is to log through the SYSLOG;
+the logging method may be altered with the \-S and \-s flags.
+.TP
+.B \-V
+Request that the \fIchat\fR script be executed in a stderr verbose
+mode. The \fIchat\fR program will then log all text received from the
+modem and the output strings sent to the modem to the stderr device. This
+device is usually the local console at the station running the chat or
+pppd program.
+.TP
+.B \-s
+Use stderr. All log messages from '\-v' and all error messages will be
+sent to stderr.
+.TP
+.B \-S
+Do not use the SYSLOG. By default, error messages are sent to the
+SYSLOG. The use of \-S will prevent both log messages from '\-v' and
+error messages from being sent to the SYSLOG.
+.TP
+.B \-T \fI<phone number>
+Pass in an arbitrary string, usually a phone number, that will be
+substituted for the \eT substitution metacharacter in a send string.
+.TP
+.B \-U \fI<phone number 2>
+Pass in a second string, usually a phone number, that will be
+substituted for the \eU substitution metacharacter in a send string.
+This is useful when dialing an ISDN terminal adapter that requires two
+numbers.
+.TP
+.B script
+If the script is not specified in a file with the \fI\-f\fR option then
+the script is included as parameters to the \fIchat\fR program.
+.SH CHAT SCRIPT
+.LP
+The \fIchat\fR script defines the communications.
+.LP
+A script consists of one or more "expect\-send" pairs of strings,
+separated by spaces, with an optional "subexpect\-subsend" string pair,
+separated by a dash as in the following example:
+.IP
+ogin:\-BREAK\-ogin: ppp ssword: hello2u2
+.LP
+This line indicates that the \fIchat\fR program should expect the string
+"ogin:". If it fails to receive a login prompt within the time interval
+allotted, it is to send a break sequence to the remote and then expect the
+string "ogin:". If the first "ogin:" is received then the break sequence is
+not generated.
+.LP
+Once it received the login prompt the \fIchat\fR program will send the
+string ppp and then expect the prompt "ssword:". When it receives the
+prompt for the password, it will send the password hello2u2.
+.LP
+A carriage return is normally sent following the reply string. It is not
+expected in the "expect" string unless it is specifically requested by using
+the \er character sequence.
+.LP
+The expect sequence should contain only what is needed to identify the
+string. Since it is normally stored on a disk file, it should not contain
+variable information. It is generally not acceptable to look for time
+strings, network identification strings, or other variable pieces of data as
+an expect string.
+.LP
+To help correct for characters which may be corrupted during the initial
+sequence, look for the string "ogin:" rather than "login:". It is possible
+that the leading "l" character may be received in error and you may never
+find the string even though it was sent by the system. For this reason,
+scripts look for "ogin:" rather than "login:" and "ssword:" rather than
+"password:".
+.LP
+A very simple script might look like this:
+.IP
+ogin: ppp ssword: hello2u2
+.LP
+In other words, expect ....ogin:, send ppp, expect ...ssword:, send hello2u2.
+.LP
+In actual practice, simple scripts are rare. At the vary least, you
+should include sub-expect sequences should the original string not be
+received. For example, consider the following script:
+.IP
+ogin:\-\-ogin: ppp ssword: hello2u2
+.LP
+This would be a better script than the simple one used earlier. This would look
+for the same login: prompt, however, if one was not received, a single
+return sequence is sent and then it will look for login: again. Should line
+noise obscure the first login prompt then sending the empty line will
+usually generate a login prompt again.
+.SH COMMENTS
+Comments can be embedded in the chat script. A comment is a line which
+starts with the \fB#\fR (hash) character in column 1. Such comment
+lines are just ignored by the chat program. If a '#' character is to
+be expected as the first character of the expect sequence, you should
+quote the expect string.
+If you want to wait for a prompt that starts with a # (hash)
+character, you would have to write something like this:
+.IP
+# Now wait for the prompt and send logout string
+.br
+\&'# ' logout
+.LP
+
+.SH SENDING DATA FROM A FILE
+If the string to send starts with an at sign (@), the rest of the
+string is taken to be the name of a file to read to get the string to
+send. If the last character of the data read is a newline, it is
+removed. The file can be a named pipe (or fifo) instead of a regular
+file. This provides a way for \fBchat\fR to communicate with another
+program, for example, a program to prompt the user and receive a
+password typed in.
+.LP
+
+.SH ABORT STRINGS
+Many modems will report the status of the call as a string. These
+strings may be \fBCONNECTED\fR or \fBNO CARRIER\fR or \fBBUSY\fR. It
+is often desirable to terminate the script should the modem fail to
+connect to the remote. The difficulty is that a script would not know
+exactly which modem string it may receive. On one attempt, it may
+receive \fBBUSY\fR while the next time it may receive \fBNO CARRIER\fR.
+.LP
+These "abort" strings may be specified in the script using the \fIABORT\fR
+sequence. It is written in the script as in the following example:
+.IP
+ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
+.LP
+This sequence will expect nothing; and then send the string ATZ. The
+expected response to this is the string \fIOK\fR. When it receives \fIOK\fR,
+the string ATDT5551212 to dial the telephone. The expected string is
+\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder of the
+script is executed. However, should the modem find a busy telephone, it will
+send the string \fIBUSY\fR. This will cause the string to match the abort
+character sequence. The script will then fail because it found a match to
+the abort string. If it received the string \fINO CARRIER\fR, it will abort
+for the same reason. Either string may be received. Either string will
+terminate the \fIchat\fR script.
+.SH CLR_ABORT STRINGS
+This sequence allows for clearing previously set \fBABORT\fR strings.
+\fBABORT\fR strings are kept in an array of a pre-determined size (at
+compilation time); \fBCLR_ABORT\fR will reclaim the space for cleared
+entries so that new strings can use that space.
+.SH SAY STRINGS
+The \fBSAY\fR directive allows the script to send strings to the user
+at the terminal via standard error. If \fBchat\fR is being run by
+pppd, and pppd is running as a daemon (detached from its controlling
+terminal), standard error will normally be redirected to the file
+/etc/ppp/connect\-errors.
+.LP
+\fBSAY\fR strings must be enclosed in single or double quotes. If
+carriage return and line feed are needed in the string to be output,
+you must explicitly add them to your string.
+.LP
+The SAY strings could be used to give progress messages in sections of
+the script where you want to have 'ECHO OFF' but still let the user
+know what is happening. An example is:
+.IP
+ABORT BUSY
+.br
+ECHO OFF
+.br
+SAY "Dialling your ISP...\en"
+.br
+\&'' ATDT5551212
+.br
+TIMEOUT 120
+.br
+SAY "Waiting up to 2 minutes for connection ... "
+.br
+CONNECT ''
+.br
+SAY "Connected, now logging in ...\en"
+.br
+ogin: account
+.br
+ssword: pass
+.br
+$ \ec
+.br
+SAY "Logged in OK ...\en"
+\fIetc ...\fR
+.LP
+This sequence will only present the SAY strings to the user and all
+the details of the script will remain hidden. For example, if the
+above script works, the user will see:
+.IP
+Dialling your ISP...
+.br
+Waiting up to 2 minutes for connection ... Connected, now logging in ...
+.br
+Logged in OK ...
+.LP
+
+.SH REPORT STRINGS
+A \fBreport\fR string is similar to the ABORT string. The difference
+is that the strings, and all characters to the next control character
+such as a carriage return, are written to the report file.
+.LP
+The report strings may be used to isolate the transmission rate of the
+modem's connect string and return the value to the chat user. The
+analysis of the report string logic occurs in conjunction with the
+other string processing such as looking for the expect string. The use
+of the same string for a report and abort sequence is probably not
+very useful, however, it is possible.
+.LP
+The report strings to no change the completion code of the program.
+.LP
+These "report" strings may be specified in the script using the \fIREPORT\fR
+sequence. It is written in the script as in the following example:
+.IP
+REPORT CONNECT ABORT BUSY '' ATDT5551212 CONNECT '' ogin: account
+.LP
+This sequence will expect nothing; and then send the string
+ATDT5551212 to dial the telephone. The expected string is
+\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder
+of the script is executed. In addition the program will write to the
+expect\-file the string "CONNECT" plus any characters which follow it
+such as the connection rate.
+.SH CLR_REPORT STRINGS
+This sequence allows for clearing previously set \fBREPORT\fR strings.
+\fBREPORT\fR strings are kept in an array of a pre-determined size (at
+compilation time); \fBCLR_REPORT\fR will reclaim the space for cleared
+entries so that new strings can use that space.
+.SH ECHO
+The echo options controls whether the output from the modem is echoed
+to \fIstderr\fR. This option may be set with the \fI\-e\fR option, but
+it can also be controlled by the \fIECHO\fR keyword. The "expect\-send"
+pair \fIECHO\fR \fION\fR enables echoing, and \fIECHO\fR \fIOFF\fR
+disables it. With this keyword you can select which parts of the
+conversation should be visible. For instance, with the following
+script:
+.IP
+ABORT 'BUSY'
+.br
+ABORT 'NO CARRIER'
+.br
+\&'' ATZ
+.br
+OK\er\en ATD1234567
+.br
+\er\en \ec
+.br
+ECHO ON
+.br
+CONNECT \ec
+.br
+ogin: account
+.LP
+all output resulting from modem configuration and dialing is not visible,
+but starting with the \fICONNECT\fR (or \fIBUSY\fR) message, everything
+will be echoed.
+.SH HANGUP
+The HANGUP options control whether a modem hangup should be considered
+as an error or not. This option is useful in scripts for dialling
+systems which will hang up and call your system back. The HANGUP
+options can be \fBON\fR or \fBOFF\fR.
+.br
+When HANGUP is set OFF and the modem hangs up (e.g., after the first
+stage of logging in to a callback system), \fBchat\fR will continue
+running the script (e.g., waiting for the incoming call and second
+stage login prompt). As soon as the incoming call is connected, you
+should use the \fBHANGUP ON\fR directive to reinstall normal hang up
+signal behavior. Here is an (simple) example script:
+.IP
+ABORT 'BUSY'
+.br
+\&'' ATZ
+.br
+OK\er\en ATD1234567
+.br
+\er\en \ec
+.br
+CONNECT \ec
+.br
+\&'Callback login:' call_back_ID
+.br
+HANGUP OFF
+.br
+ABORT "Bad Login"
+.br
+\&'Callback Password:' Call_back_password
+.br
+TIMEOUT 120
+.br
+CONNECT \ec
+.br
+HANGUP ON
+.br
+ABORT "NO CARRIER"
+.br
+ogin:\-\-BREAK\-\-ogin: real_account
+.br
+\fIetc ...\fR
+.LP
+.SH TIMEOUT
+The initial timeout value is 45 seconds. This may be changed using the \fB\-t\fR
+parameter.
+.LP
+To change the timeout value for the next expect string, the following
+example may be used:
+.IP
+ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:\-\-ogin: TIMEOUT 5 assword: hello2u2
+.LP
+This will change the timeout to 10 seconds when it expects the login:
+prompt. The timeout is then changed to 5 seconds when it looks for the
+password prompt.
+.LP
+The timeout, once changed, remains in effect until it is changed again.
+.SH SENDING EOT
+The special reply string of \fIEOT\fR indicates that the chat program
+should send an EOT character to the remote. This is normally the
+End-of-file character sequence. A return character is not sent
+following the EOT.
+The EOT sequence may be embedded into the send string using the
+sequence \fI^D\fR.
+.SH GENERATING BREAK
+The special reply string of \fIBREAK\fR will cause a break condition
+to be sent. The break is a special signal on the transmitter. The
+normal processing on the receiver is to change the transmission rate.
+It may be used to cycle through the available transmission rates on
+the remote until you are able to receive a valid login prompt.
+The break sequence may be embedded into the send string using the
+\fI\eK\fR sequence.
+.SH ESCAPE SEQUENCES
+The expect and reply strings may contain escape sequences. All of the
+sequences are legal in the reply string. Many are legal in the expect.
+Those which are not valid in the expect sequence are so indicated.
+.TP
+.B ''
+Expects or sends a null string. If you send a null string then it will still
+send the return character. This sequence may either be a pair of apostrophe
+or quote characters.
+.TP
+.B \eb
+represents a backspace character.
+.TP
+.B \ec
+Suppresses the newline at the end of the reply string. This is the only
+method to send a string without a trailing return character. It must
+be at the end of the send string. For example,
+the sequence hello\ec will simply send the characters h, e, l, l, o.
+.I (not valid in expect.)
+.TP
+.B \ed
+Delay for one second. The program uses sleep(1) which will delay to a
+maximum of one second.
+.I (not valid in expect.)
+.TP
+.B \eK
+Insert a BREAK
+.I (not valid in expect.)
+.TP
+.B \en
+Send a newline or linefeed character.
+.TP
+.B \eN
+Send a null character. The same sequence may be represented by \e0.
+.I (not valid in expect.)
+.TP
+.B \ep
+Pause for a fraction of a second. The delay is 1/10th of a second.
+.I (not valid in expect.)
+.TP
+.B \eq
+Suppress writing the string to the SYSLOG file. The string ?????? is
+written to the log in its place.
+.I (not valid in expect.)
+.TP
+.B \er
+Send or expect a carriage return.
+.TP
+.B \es
+Represents a space character in the string. This may be used when it
+is not desirable to quote the strings which contains spaces. The
+sequence 'HI TIM' and HI\esTIM are the same.
+.TP
+.B \et
+Send or expect a tab character.
+.TP
+.B \eT
+Send the phone number string as specified with the \fI\-T\fR option
+.I (not valid in expect.)
+.TP
+.B \eU
+Send the phone number 2 string as specified with the \fI\-U\fR option
+.I (not valid in expect.)
+.TP
+.B \e\e
+Send or expect a backslash character.
+.TP
+.B \eddd
+Collapse the octal digits (ddd) into a single ASCII character and send that
+character.
+.I (some characters are not valid in expect.)
+.TP
+.B \^^C
+Substitute the sequence with the control character represented by C.
+For example, the character DC1 (17) is shown as \^^Q.
+.I (some characters are not valid in expect.)
+.SH ENVIRONMENT VARIABLES
+Environment variables are available within chat scripts, if the \fI\-E\fR
+option was specified in the command line. The metacharacter \fI$\fR is used
+to introduce the name of the environment variable to substitute. If the
+substitution fails, because the requested environment variable is not set,
+\fInothing\fR is replaced for the variable.
+.SH TERMINATION CODES
+The \fIchat\fR program will terminate with the following completion
+codes.
+.TP
+.B 0
+The normal termination of the program. This indicates that the script
+was executed without error to the normal conclusion.
+.TP
+.B 1
+One or more of the parameters are invalid or an expect string was too
+large for the internal buffers. This indicates that the program as not
+properly executed.
+.TP
+.B 2
+An error occurred during the execution of the program. This may be due
+to a read or write operation failing for some reason or chat receiving
+a signal such as SIGINT.
+.TP
+.B 3
+A timeout event occurred when there was an \fIexpect\fR string without
+having a "\-subsend" string. This may mean that you did not program the
+script correctly for the condition or that some unexpected event has
+occurred and the expected string could not be found.
+.TP
+.B 4
+The first string marked as an \fIABORT\fR condition occurred.
+.TP
+.B 5
+The second string marked as an \fIABORT\fR condition occurred.
+.TP
+.B 6
+The third string marked as an \fIABORT\fR condition occurred.
+.TP
+.B 7
+The fourth string marked as an \fIABORT\fR condition occurred.
+.TP
+.B ...
+The other termination codes are also strings marked as an \fIABORT\fR
+condition.
+.LP
+Using the termination code, it is possible to determine which event
+terminated the script. It is possible to decide if the string "BUSY"
+was received from the modem as opposed to "NO DIAL TONE". While the
+first event may be retried, the second will probably have little
+chance of succeeding during a retry.
+.SH SEE ALSO
+Additional information about \fIchat\fR scripts may be found with UUCP
+documentation. The \fIchat\fR script was taken from the ideas proposed
+by the scripts used by the \fIuucico\fR program.
+.LP
+uucico(1), uucp(1)
+.SH COPYRIGHT
+The \fIchat\fR program is in public domain. This is not the GNU public
+license. If it breaks then you get to keep both pieces.
diff --git a/upstream/fedora-40/man8/clockdiff.8 b/upstream/fedora-40/man8/clockdiff.8
new file mode 100644
index 00000000..52d963ed
--- /dev/null
+++ b/upstream/fedora-40/man8/clockdiff.8
@@ -0,0 +1,112 @@
+'\" t
+.TH "CLOCKDIFF" "8" "" "iputils 20240117" "iputils"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+clockdiff \- measure clock difference between hosts
+.SH "SYNOPSIS"
+.HP \w'\fBclockdiff\fR\ 'u
+\fBclockdiff\fR [\fB\-o\fR] [\fB\-o1\fR] [\fB\-\-time\-format\ \fR\fB\fIctime\ iso\fR\fR] [\fB\-V\fR] {destination}
+.SH "DESCRIPTION"
+.PP
+\fBclockdiff\fR
+Measures clock difference between us and
+\fIdestination\fR
+with 1 msec resolution using ICMP TIMESTAMP [2] packets or, optionally, IP TIMESTAMP option [3] added to ICMP ECHO\&. [1]
+.SH "OPTIONS"
+.PP
+\fB\-o\fR
+.RS 4
+Use IP TIMESTAMP with ICMP ECHO instead of ICMP TIMESTAMP messages\&. It is useful with some destinations, which do not support ICMP TIMESTAMP (f\&.e\&. Solaris <2\&.4)\&.
+.RE
+.PP
+\fB\-o1\fR
+.RS 4
+Slightly different form of
+\fB\-o\fR, namely it uses three\-term IP TIMESTAMP with prespecified hop addresses instead of four term one\&. What flavor works better depends on target host\&. Particularly,
+\fB\-o\fR
+is better for Linux\&.
+.RE
+.PP
+\fB\-T\fR, \fB\-\-time\-format \fR\fB\fIctime iso\fR\fR
+.RS 4
+Print time stamp in output either ISO\-8601 format or classical ctime format\&. The ctime format is default\&. The ISO time stamp includes timezone, and is easier to parse\&.
+.RE
+.PP
+\fB\-I\fR
+.RS 4
+Alias of
+\fB\-\-time\-format \fR\fB\fIiso\fR\fR\fB \fR
+option and argument\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print help and exit\&.
+.RE
+.PP
+\fB\-V\fR, \fB\-\-version\fR
+.RS 4
+Print version and exit\&.
+.RE
+.SH "WARNINGS"
+.PP
+.RS 4
+\(bu Some nodes (Cisco) use non\-standard timestamps, which is allowed by RFC, but makes timestamps mostly useless\&.
+.RE
+.PP
+.RS 4
+\(bu Some nodes generate messed timestamps (Solaris>2\&.4), when run
+\fBxntpd\fR\&. Seems, its IP stack uses a corrupted clock source, which is synchronized to time\-of\-day clock periodically and jumps randomly making timestamps mostly useless\&. Good news is that you can use NTP in this case, which is even better\&.
+.RE
+.PP
+.RS 4
+\(bu
+\fBclockdiff\fR
+shows difference in time modulo 24 days\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBping\fR(8),
+\fBarping\fR(8),
+\fBtracepath\fR(8)\&.
+.SH "REFERENCES"
+.PP
+[1] ICMP ECHO, RFC0792, page 14\&.
+.PP
+[2] ICMP TIMESTAMP, RFC0792, page 16\&.
+.PP
+[3] IP TIMESTAMP option, RFC0791, 3\&.1, page 16\&.
+.SH "AUTHOR"
+.PP
+\fBclockdiff\fR
+was compiled by Alexey Kuznetsov <kuznet@ms2\&.inr\&.ac\&.ru>\&. It was based on code borrowed from BSD
+\fBtimed\fR
+daemon\&.
+.SH "SECURITY"
+.PP
+\fBclockdiff\fR
+requires CAP_NET_RAW and CAP_SYS_NICE capabilities to be executed\&. It is safe to be used as set\-uid root\&.
+.SH "AVAILABILITY"
+.PP
+\fBclockdiff\fR
+is part of
+\fIiputils\fR
+package\&.
diff --git a/upstream/fedora-40/man8/combinedeltarpm.8 b/upstream/fedora-40/man8/combinedeltarpm.8
new file mode 100644
index 00000000..dda815ec
--- /dev/null
+++ b/upstream/fedora-40/man8/combinedeltarpm.8
@@ -0,0 +1,52 @@
+.\" man page for combinedeltarpm
+.\" Copyright (c) 2005 Michael Schroeder <mls@suse.de>
+.\" See LICENSE.BSD for license
+.TH COMBINEDELTARPM 8 "May 2005"
+.SH NAME
+combindeltarpm \- combine multiple deltarpms to a single one
+
+.SH SYNOPSIS
+.B combinedeltarpm
+.RB [ -v ]
+.RB [ -V
+.IR version ]
+.RB [ -z
+.IR compression ]
+.RB [ -S
+.IR signaturerpm ]
+.I olddeltarpms...
+.I newdeltarpm
+
+.SH DESCRIPTION
+combinedeltarpm creates a new deltarpm from multiple old ones.
+Applying the resulting deltarpm has the same effect as applying
+each of the old ones in the specified order. Use the
+.B -v
+option to make combinedeltarpm more verbose about its work.
+.PP
+combinedeltarpm normally produces a V3 format deltarpm, use the
+.B -V
+option to specify a different version if desired. The
+.B -z
+option can be used to specify a different compression method, the
+default is to use the same compression method as used in the
+last of the old deltarpms.
+.PP
+If you want to use a different header
+signature you can also specify a rpm with the
+.B -S
+option which will be used as signature reference. This feature can
+be used to if a deltarpm was made against an unsigned rpm which
+later got signed.
+
+.SH MEMORY CONSIDERATIONS
+The implementation of combinedeltarpm currently unpacks the
+add-blocks of the deltarpms in memory, thus it needs about twice
+the uncompressed payload size of the target rpm.
+
+.SH SEE ALSO
+.BR makedeltarpm (8)
+.BR applydeltarpm (8)
+
+.SH AUTHOR
+Michael Schroeder <mls@suse.de>
diff --git a/upstream/fedora-40/man8/cons.saver.8 b/upstream/fedora-40/man8/cons.saver.8
new file mode 100644
index 00000000..89ff86c7
--- /dev/null
+++ b/upstream/fedora-40/man8/cons.saver.8
@@ -0,0 +1,32 @@
+.\" This file is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+.\" the GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this file; if not, write to the Free Software
+.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+.\" MA 02111-1307 USA
+.\"
+.\" HISTORY:
+.\" 2006-05-16, created by Rodrigo Rubira Branco <rrbranco@br.ibm.com>
+.TH cons.saver 8 "May 16, 2006" Linux "User Manuals"
+.SH NAME
+cons.saver \- general-purpose Linux console screen save and restore server
+.SH SYNOPSIS
+.nf
+.fam C
+cons.saver \fITTY\fP
+.fam T
+.fi
+.SH DESCRIPTION
+.TP
+Invoke this helper program with the Ctrl-o key combination to save and restore the user session on the screen.
+.SH OPTIONS
+cons.saver takes only one argument, the \fITTY\fP \fINAME\fP from which the system will save and restore.
+.SH SECURITY
+Cons.saver does not need to be invoked by root. It only needs read and write access to /dev/vcsa*, which is a priviledged operation. You should create an unprivileged user, make cons.saver setuid to that user, and assure that all the vcsa* are owned by that user too.
+.SH AUTHOR
+Manpage written by Rodrigo Rubira Branco <rrbranco@br.ibm.com>
+.SH SEE ALSO
+\fBmc\fP(1), \fBmcserv\fP(8)
diff --git a/upstream/fedora-40/man8/convertquota.8 b/upstream/fedora-40/man8/convertquota.8
new file mode 100644
index 00000000..5313c7e0
--- /dev/null
+++ b/upstream/fedora-40/man8/convertquota.8
@@ -0,0 +1,73 @@
+.TH CONVERTQUOTA 8 "Fri Aug 20 1999"
+.UC 4
+.SH NAME
+convertquota \- convert quota from old file format to new one
+.SH SYNOPSIS
+.B convertquota
+[
+.B -ug
+]
+.B -e
+.I filesystem
+.LP
+.B convertquota
+[
+.B -ug
+]
+.B -f
+.IR oldformat , newformat
+.I filesystem
+.SH DESCRIPTION
+.B convertquota
+converts old quota files
+.BR quota.user
+and
+.BR quota.group
+to files
+.BR aquota.user
+and
+.BR aquota.group
+in new format currently used by 2.4.0-ac? and newer or by SuSE or Red Hat Linux 2.4 kernels on
+.IR filesystem .
+.PP
+New file format allows using quotas for 32-bit uids / gids, setting quotas for root,
+accounting used space in bytes (and so allowing use of quotas in ReiserFS) and it
+is also architecture independent. This format introduces Radix Tree (a simple form of tree
+structure) to quota file.
+.SH OPTIONS
+.TP
+.B -u, --user
+convert user quota file. This is the default.
+.TP
+.B -g, --group
+convert group quota file.
+.TP
+.B -f, --convert-format \f2oldformat,newformat\f1
+convert quota file from
+.I oldformat
+to
+.IR newformat .
+.TP
+.B -e, --convert-endian
+convert vfsv0 file format from big endian to little endian (old kernels had
+a bug and did not store quota files in little endian format).
+.TP
+.B -V, --version
+print version information.
+.SH FILES
+.TP 20
+.B aquota.user
+new user quota file
+.TP
+.B aquota.group
+new group quota file
+.SH "SEE ALSO"
+.BR quota (1),
+.BR setquota (8),
+.BR edquota (8),
+.BR quotacheck (8),
+.BR quotaon (8),
+.BR repquota (8)
+.SH AUTHOR
+Jan Kara \<jack@suse.cz\>
+
diff --git a/upstream/fedora-40/man8/cron.8 b/upstream/fedora-40/man8/cron.8
new file mode 100644
index 00000000..1286ed56
--- /dev/null
+++ b/upstream/fedora-40/man8/cron.8
@@ -0,0 +1,285 @@
+.\"/* Copyright 1988,1990,1993,1996 by Paul Vixie
+.\" * All rights reserved
+.\" */
+.\"
+.\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (c) 1997,2000 by Internet Software Consortium, Inc.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Modified 2010/09/12 by Colin Dean, Durham University IT Service,
+.\" to add clustering support.
+.\"
+.\" $Id: cron.8,v 1.8 2004/01/23 19:03:32 vixie Exp $
+.\"
+.TH CRON "8" "2013-09-26" "cronie" "System Administration"
+.SH NAME
+crond \- daemon to execute scheduled commands
+.SH SYNOPSIS
+.B crond
+.RB [ -c " | " -h " | " -i " | " -n " | " -p " | " -P " | " -s " | " -m \fP\fI<mail command>\fP ]
+.br
+.B crond
+.B -x
+.RB [ext,sch,proc,pars,load,misc,test,bit]
+.br
+.B crond
+.B -V
+.SH DESCRIPTION
+.I Cron
+is started from
+.I /etc/rc.d/init.d
+or
+.I /etc/init.d
+when classical sysvinit scripts are used. In case systemd is enabled, then unit file is installed into
+.I /lib/systemd/system/crond.service
+and daemon is started by
+.I systemctl start crond.service
+command. It returns immediately, thus, there is no need to need to start it with
+the '&' parameter.
+.PP
+.I Cron
+searches
+.I /var/spool/cron
+for crontab files which are named after accounts in
+.I /etc/passwd;
+The found crontabs are loaded into the memory.
+.I Cron
+also searches for
+.I /etc/anacrontab
+and any files in the
+.I /etc/cron.d
+directory, which have a different format (see
+.BR crontab (5)).
+.I Cron
+examines all stored crontabs and checks each job to see if it needs to be
+run in the current minute. When executing commands, any output is mailed
+to the owner of the crontab (or to the user specified in the
+.I MAILTO
+environment variable in the crontab, if such exists). Any job output can
+also be sent to syslog by using the
+.B "\-s"
+option.
+.PP
+There are two ways how changes in crontables are checked. The first
+method is checking the modtime of a file. The second method is using the
+inotify support. Using of inotify is logged in the
+.I /var/log/cron
+log after the daemon is started. The inotify support checks for changes
+in all crontables and accesses the hard disk only when a change is
+detected.
+.PP
+When using the modtime option,
+.I Cron
+checks its crontables' modtimes every minute to check for any changes and
+reloads the crontables which have changed. There is no need to restart
+.I Cron
+after some of the crontables were modified. The modtime option is also
+used when inotify can not be initialized.
+.PP
+.I Cron
+checks these files and directories:
+.TP
+.IR /etc/crontab
+system crontab. Nowadays the file is empty by default. Originally it
+was usually used to run daily, weekly, monthly jobs. By default these
+jobs are now run through anacron which reads
+.IR /etc/anacrontab
+configuration file. See
+.BR anacrontab (5)
+for more details.
+.TP
+.IR /etc/cron.d/
+directory that contains system cronjobs stored for different users.
+.TP
+.IR /var/spool/cron
+directory that contains user crontables created by the
+.IR crontab
+command.
+.PP
+Note that the
+.BR crontab (1)
+command updates the modtime of the spool directory whenever it changes a
+crontab.
+.PP
+.SS Daylight Saving Time and other time changes
+Local time changes of less than three hours, such as those caused by the
+Daylight Saving Time changes, are handled in a special way. This only
+applies to jobs that run at a specific time and jobs that run with a
+granularity greater than one hour. Jobs that run more frequently are
+scheduled normally.
+.PP
+If time was adjusted one hour forward, those jobs that would have run in
+the interval that has been skipped will be run immediately. Conversely,
+if time was adjusted backward, running the same job twice is avoided.
+.PP
+Time changes of more than 3 hours are considered to be corrections to the
+clock or the timezone, and the new time is used immediately.
+.PP
+It is possible to use different time zones for crontables. See
+.BR crontab (5)
+for more information.
+.SS PAM Access Control
+.IR Cron
+supports access control with PAM if the system has PAM installed. For
+more information, see
+.BR pam (8).
+A PAM configuration file for
+.IR crond
+is installed in
+.IR /etc/pam.d/crond .
+The daemon loads the PAM environment from the pam_env module. This can
+be overridden by defining specific settings in the appropriate crontab
+file.
+.SH "OPTIONS"
+.TP
+.B "\-h"
+Prints a help message and exits.
+.TP
+.B "\-i"
+Disables inotify support.
+.TP
+.B "\-m"
+This option allows you to specify a shell command to use for sending
+.I Cron
+mail output instead of using
+.BR sendmail (8)
+This command must accept a fully formatted mail message (with headers) on
+standard input and send it as a mail message to the recipients specified
+in the mail headers. Specifying the string
+.I "off"
+(i.e., crond -m off)
+will disable the sending of mail.
+.TP
+.B "\-n"
+Tells the daemon to run in the foreground. This can be useful when
+starting it out of init. With this option is needed to change pam setting.
+.I /etc/pam.d/crond
+must not enable
+.I pam_loginuid.so
+module.
+.TP
+.B "\-f"
+the same as -n, consistent with other crond implementations.
+.TP
+.B "\-p"
+Allows
+.I Cron
+to accept any user set crontables.
+.TP
+.B "\-P"
+Don't set PATH. PATH is instead inherited from the environment.
+.TP
+.B "\-c"
+This option enables clustering support, as described below.
+.TP
+.B "\-s"
+This option will direct
+.I Cron
+to send the job output to the system log using
+.BR syslog (3).
+This is useful if your system does not have
+.BR sendmail (8)
+installed or if mail is disabled.
+.TP
+.B "\-x"
+This option allows you to set debug flags.
+.TP
+.B "\-V"
+Print version and exit.
+.SH SIGNALS
+When the
+.I SIGHUP
+is received, the
+.I Cron
+daemon will close and reopen its log file. This proves to be useful in
+scripts which rotate and age log files. Naturally, this is not relevant
+if
+.I Cron
+was built to use
+.IR syslog (3).
+.SH CLUSTERING SUPPORT
+In this version of
+.IR Cron
+it is possible to use a network-mounted shared
+.I /var/spool/cron
+across a cluster of hosts and specify that only one of the hosts should
+run the crontab jobs in this directory at any one time. This is done by
+starting
+.I Cron
+with the
+.B \-c
+option, and have the
+.I /var/spool/cron/.cron.hostname
+file contain just one line, which represents the hostname of whichever
+host in the cluster should run the jobs. If this file does not exist, or
+the hostname in it does not match that returned by
+.BR gethostname (2),
+then all crontab files in this directory are ignored. This has no effect
+on cron jobs specified in the
+.I /etc/crontab
+file or on files in the
+.I /etc/cron.d
+directory. These files are always run and considered host-specific.
+.PP
+Rather than editing
+.I /var/spool/cron/.cron.hostname
+directly, use the
+.B \-n
+option of
+.BR crontab (1)
+to specify the host.
+.PP
+You should ensure that all hosts in a cluster, and the file server from
+which they mount the shared crontab directory, have closely synchronised
+clocks, e.g., using
+.BR ntpd (8),
+otherwise the results will be very unpredictable.
+.PP
+Using cluster sharing automatically disables inotify support, because
+inotify cannot be relied on with network-mounted shared file systems.
+.SH CAVEATS
+All
+.BR crontab
+files have to be regular files or symlinks to regular files, they must
+not be executable or writable for anyone else but the owner. This
+requirement can be overridden by using the
+.B \-p
+option on the crond command line. If inotify support is in use, changes
+in the symlinked crontabs are not automatically noticed by the cron
+daemon. The cron daemon must receive a SIGHUP signal to reload the
+crontabs. This is a limitation of the inotify API.
+.PP
+The syslog output will be used instead of mail, when sendmail is not
+installed.
+.SH "SEE ALSO"
+.BR crontab (1),
+.BR crontab (5),
+.BR inotify (7),
+.BR pam (8)
+.SH AUTHOR
+.MT vixie@isc.org
+Paul Vixie
+.ME
+.br
+.MT mmaslano@redhat.com
+Marcela Mašláňová
+.ME
+.br
+.MT colin@colin-dean.org
+Colin Dean
+.ME
+.br
+.MT tmraz@fedoraproject.org
+Tomáš Mráz
+.ME
diff --git a/upstream/fedora-40/man8/dcb-app.8 b/upstream/fedora-40/man8/dcb-app.8
new file mode 100644
index 00000000..be505a0b
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-app.8
@@ -0,0 +1,269 @@
+.TH DCB-APP 8 "6 December 2020" "iproute2" "Linux"
+.SH NAME
+dcb-app \- show / manipulate application priority table of
+the DCB (Data Center Bridging) subsystem
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B app
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb app " { " show " | " flush " } " dev
+.RI DEV
+.RB "[ " default-prio " ]"
+.RB "[ " ethtype-prio " ]"
+.RB "[ " stream-port-prio " ]"
+.RB "[ " dgram-port-prio " ]"
+.RB "[ " port-prio " ]"
+.RB "[ " dscp-prio " ]"
+.RB "[ " pcp-prio " ]"
+
+.ti -8
+.B dcb app " { " add " | " del " | " replace " } " dev
+.RI DEV
+.RB "[ " default-prio " " \fIPRIO-LIST\fB " ]"
+.RB "[ " ethtype-prio " " \fIET-MAP\fB " ]"
+.RB "[ " stream-port-prio " " \fIPORT-MAP\fB " ]"
+.RB "[ " dgram-port-prio " " \fIPORT-MAP\fB " ]"
+.RB "[ " port-prio " " \fIPORT-MAP\fB " ]"
+.RB "[ " dscp-prio " " \fIDSCP-MAP\fB " ]"
+.RB "[ " pcp-prio " " \fIPCP-MAP\fB " ]"
+
+.ti -8
+.IR PRIO-LIST " := [ " PRIO-LIST " ] " PRIO
+
+.ti -8
+.IR ET-MAP " := [ " ET-MAP " ] " ET-MAPPING
+
+.ti -8
+.IR ET-MAPPING " := " ET\fB:\fIPRIO\fR
+
+.ti -8
+.IR PORT-MAP " := [ " PORT-MAP " ] " PORT-MAPPING
+
+.ti -8
+.IR PORT-MAPPING " := " PORT\fB:\fIPRIO\fR
+
+.ti -8
+.IR DSCP-MAP " := [ " DSCP-MAP " ] " DSCP-MAPPING
+
+.ti -8
+.IR DSCP-MAPPING " := { " DSCP " | " \fBall " }" \fB:\fIPRIO\fR
+
+.ti -8
+.IR PCP-MAP " := [ " PCP-MAP " ] " PCP-MAPPING
+
+.ti -8
+.IR PCP-MAPPING " := " PCP\fB:\fIPRIO\fR
+
+.ti -8
+.IR ET " := { " \fB0x600\fR " .. " \fB0xffff\fR " }"
+
+.ti -8
+.IR PORT " := { " \fB1\fR " .. " \fB65535\fR " }"
+
+.ti -8
+.IR DSCP " := { " \fB0\fR " .. " \fB63\fR " }"
+
+.ti -8
+.IR PCP " := { " \fB0(nd/de)\fR " .. " \fB7(nd/de)\fR " }"
+
+.ti -8
+.IR PRIO " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.SH DESCRIPTION
+
+.B dcb app
+is used to configure APP table, or application priority table in the DCB (Data
+Center Bridging) subsystem. The APP table is used to assign priority to traffic
+based on value in one of several headers: EtherType, L4 destination port, or
+DSCP. It also allows configuration of port-default priority that is chosen if no
+other prioritization rule applies.
+
+DCB APP entries are 3-tuples of selector, protocol ID, and priority. Selector is
+an enumeration that picks one of the prioritization namespaces. Currently it
+mostly corresponds to configurable parameters described below. Protocol ID is a
+value in the selector namespace. E.g. for EtherType selector, protocol IDs are
+the individual EtherTypes, for DSCP they are individual code points. The
+priority is the priority that should be assigned to traffic that matches the
+selector and protocol ID.
+
+The APP table is a set of DCB APP entries. The only requirement is that
+duplicate entries are not added. Notably, it is valid to have conflicting
+priority assignment for the same selector and protocol ID. For example, the set
+of two APP entries (DSCP, 10, 1) and (DSCP, 10, 2), where packets with DSCP of
+10 should get priority of both 1 and 2, form a well-defined APP table. The
+.B dcb app
+tool allows low-level management of the app table by adding and deleting
+individual APP 3-tuples through
+.B add
+and
+.B del
+commands. On the other hand, the command
+.B replace
+does what one would typically want in this situation--first adds the new
+configuration, and then removes the obsolete one, so that only one
+prioritization is in effect for a given selector and protocol ID.
+
+.SH COMMANDS
+
+.TP
+.B show
+Display all entries with a given selector. When no selector is given, shows all
+APP table entries categorized per selector.
+
+.TP
+.B flush
+Remove all entries with a given selector. When no selector is given, removes all
+APP table entries.
+
+.TP
+.B add
+.TQ
+.B del
+Add and, respectively, remove individual APP 3-tuples to and from the DCB APP
+table.
+
+.TP
+.B replace
+Take the list of entries mentioned as parameter, and add those that are not
+present in the APP table yet. Then remove those entries, whose selector and
+protocol ID have been mentioned as parameter, but not with the exact same
+priority. This has the effect of, for the given selector and protocol ID,
+causing that the table only contains the priority (or priorities) given as
+parameter.
+
+.SH PARAMETERS
+
+The following table shows parameters in a way that they would be used with
+\fBadd\fR, \fBdel\fR and \fBreplace\fR commands. For \fBshow\fR and \fBflush\fR,
+the parameter name is to be used as a simple keyword without further arguments.
+
+.TP
+.B default-prio \fIPRIO-LIST
+The priority to be used for traffic the priority of which is otherwise
+unspecified. The argument is a list of individual priorities. Note that
+.B default-prio
+rules are configured as triplets (\fBEtherType\fR, \fB0\fR, \fIPRIO\fR).
+.B dcb app
+translates these rules to the symbolic name
+.B default-prio
+and back.
+
+.TP
+.B ethtype-prio \fIET-MAP
+\fIET-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are EtherType values. Values are priorities to be assigned to
+traffic with the matching EtherType.
+
+.TP
+.B stream-port-prio \fIPORT-MAP
+.TQ
+.B dgram-port-prio \fIPORT-MAP
+.TQ
+.B port-prio \fIPORT-MAP
+\fIPORT-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are L4 destination port numbers that match on, respectively,
+TCP and SCTP traffic, UDP and DCCP traffic, and either of those. Values are
+priorities that should be assigned to matching traffic.
+
+.TP
+.B dscp-prio \fIDSCP-MAP
+\fIDSCP-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are DSCP points, values are priorities assigned to
+traffic with matching DSCP. DSCP points can be written either directly as
+numeric values, or using symbolic names specified in
+.B /etc/iproute2/rt_dsfield
+(however note that the file specifies full 8-bit dsfield values, whereas
+.B dcb app
+will only use the higher six bits).
+.B dcb app show
+will similarly format DSCP values as symbolic names if possible. The
+command line option
+.B -N
+turns the show translation off.
+
+.TP
+.B pcp-prio \fIPCP-MAP
+\fIPCP-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are PCP/DEI. Values are priorities assigned to traffic with
+matching PCP/DEI. PCP/DEI values are written as a combination of numeric- and
+symbolic values, to accommodate for both. PCP always in numerical form e.g
+0 .. 7 and DEI in symbolic form e.g 'de' (drop-eligible), indicating that the
+DEI bit is 1 or 'nd' (not-drop-eligible), indicating that the DEI bit is 0.
+In combination 2de:1 translates to a mapping of PCP=2 and DEI=1 to priority 1.
+
+.SH EXAMPLE & USAGE
+
+Prioritize traffic with DSCP 0 to priority 0, 24 to 3 and 48 to 6:
+
+.P
+# dcb app add dev eth0 dscp-prio 0:0 24:3 48:6
+
+Add another rule to configure DSCP 24 to priority 2 and show the result:
+
+.P
+# dcb app add dev eth0 dscp-prio 24:2
+.br
+# dcb app show dev eth0 dscp-prio
+.br
+dscp-prio 0:0 CS3:2 CS3:3 CS6:6
+.br
+# dcb -N app show dev eth0 dscp-prio
+.br
+dscp-prio 0:0 24:2 24:3 48:6
+
+Reconfigure the table so that the only rule for DSCP 24 is for assignment of
+priority 4:
+
+.P
+# dcb app replace dev eth0 dscp-prio 24:4
+.br
+# dcb app -N show dev eth0 dscp-prio
+.br
+dscp-prio 0:0 24:4 48:6
+
+Flush all DSCP rules:
+
+.P
+# dcb app flush dev eth0 dscp-prio
+.br
+# dcb app show dev eth0 dscp-prio
+.br
+(nothing)
+
+Add a rule to map traffic with PCP 1 and DEI 0 to priority 1 and PCP 2 and DEI 1
+to priority 2:
+
+.P
+# dcb app add dev eth0 pcp-prio 1nd:1 2de:2
+.br
+# dcb app show dev eth0 pcp-prio
+.br
+pcp-prio 1nd:1 2de:2
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/dcb-apptrust.8 b/upstream/fedora-40/man8/dcb-apptrust.8
new file mode 100644
index 00000000..ddc2133f
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-apptrust.8
@@ -0,0 +1,110 @@
+.TH DCB-APPTRUST 8 "22 November 2022" "iproute2" "Linux"
+.SH NAME
+dcb-apptrust \- show / configure per-selector trust and trust order of the
+application priority table of the DCB (Data Center Bridging) subsystem.
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B apptrust
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb apptrust show dev
+.RI DEV
+.RB "[ " order " ]"
+
+.ti -8
+.B dcb apptrust set dev
+.RI DEV
+.RB "[ " order "
+.IR "SEL-LIST" " ]"
+
+.ti -8
+.IR SEL-LIST " := [ " SEL-LIST " ] " SEL
+
+.ti -8
+.IR SEL " := { " ethtype " | " stream-port " | " dgram-port " | " port " | " dscp " | " pcp " } "
+
+.SH DESCRIPTION
+
+.B dcb apptrust
+is used to configure per-selector trust and trust order of the
+Application Priority Table, see
+.BR dcb-app (8)
+for details on how to configure app table entries.
+
+Selector trust can be used by the
+software stack, or drivers (most likely the latter), when querying the APP
+table, to determine if an APP entry should take effect, or not. Additionally, the
+order of the trusted selectors will dictate which selector should take
+precedence, in the case of multiple different APP table selectors being present.
+
+.SH COMMANDS
+
+.TP
+.B show
+Display all trusted selectors.
+
+.TP
+.B set
+Set new list of trusted selectors. Empty list is effectively the same as
+removing trust entirely.
+
+.SH PARAMETERS
+
+The following describes only the write direction, i.e. as used with the
+\fBset\fR command. For the \fBshow\fR command, the parameter name is to be used
+as a simple keyword without further arguments. This instructs the tool to show
+the values of a given parameter.
+
+.TP
+.B order \fISEL-LIST
+\fISEL-LIST\fR is a space-separated list of selector names. Possible selector
+values are:
+.B ethtype,
+.B stream-port,
+.B dgram-port,
+.B port,
+.B dscp,
+and
+.B pcp
+
+
+.SH EXAMPLE & USAGE
+
+Set trust order to: dscp, pcp for eth0:
+.P
+# dcb apptrust set dev eth0 order dscp pcp
+
+Set trust order to: port (stream or dgram), pcp, ethtype for eth1:
+.P
+# dcb apptrust set dev eth1 order port pcp ethtype
+
+Show what was set:
+
+.P
+# dcb apptrust show dev eth0
+.br
+order: port pcp ethtype
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8),
+.BR dcb-app (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Daniel Machon <daniel.machon@microchip.com>
diff --git a/upstream/fedora-40/man8/dcb-buffer.8 b/upstream/fedora-40/man8/dcb-buffer.8
new file mode 100644
index 00000000..c7ba6a99
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-buffer.8
@@ -0,0 +1,126 @@
+.TH DCB-BUFFER 8 "12 November 2020" "iproute2" "Linux"
+.SH NAME
+dcb-buffer \- show / manipulate port buffer settings of
+the DCB (Data Center Bridging) subsystem
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B buffer
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb buffer show dev
+.RI DEV
+.RB "[ " prio-buffer " ]"
+.RB "[ " buffer-size " ]"
+.RB "[ " total-size " ]"
+
+.ti -8
+.B dcb buffer set dev
+.RI DEV
+.RB "[ " prio-buffer " " \fIPRIO-MAP " ]"
+.RB "[ " buffer-size " " \fISIZE-MAP " ]"
+
+.ti -8
+.IR PRIO-MAP " := [ " PRIO-MAP " ] " PRIO-MAPPING
+
+.ti -8
+.IR PRIO-MAPPING " := { " PRIO " | " \fBall " }" \fB:\fIBUFFER\fR
+
+.ti -8
+.IR SIZE-MAP " := [ " SIZE-MAP " ] " SIZE-MAPPING
+
+.ti -8
+.IR SIZE-MAPPING " := { " BUFFER " | " \fBall " }" \fB:\fISIZE\fR
+
+.ti -8
+.IR PRIO " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.ti -8
+.IR BUFFER " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.ti -8
+.IR SIZE " := { " INTEGER " | " INTEGER\fBK\fR " | " INTEGER\fBM\fR " | " ... " }"
+
+.SH DESCRIPTION
+
+.B dcb buffer
+is used to configure assignment of traffic to port buffers based on traffic
+priority, and sizes of those buffers. It can be also used to inspect the current
+configuration, as well as total device memory that the port buffers take.
+
+.SH PARAMETERS
+
+For read-write parameters, the following describes only the write direction,
+i.e. as used with the \fBset\fR command. For the \fBshow\fR command, the
+parameter name is to be used as a simple keyword without further arguments. This
+instructs the tool to show the value of a given parameter. When no parameters
+are given, the tool shows the complete buffer configuration.
+
+.TP
+.B total-size
+A read-only property that shows the total device memory taken up by port
+buffers. This might be more than a simple sum of individual buffer sizes if
+there are any hidden or internal buffers.
+
+.TP
+.B prio-buffer \fIPRIO-MAP
+\fIPRIO-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are priorities, values are buffer indices. For each priority
+sets a buffer where traffic with that priority is directed to.
+
+.TP
+.B buffer-size \fISIZE-MAP
+\fISIZE-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are buffer indices, values are sizes of that buffer in bytes.
+The sizes can use the notation documented in section PARAMETERS at
+.BR tc (8).
+Note that the size requested by the tool can be rounded or capped by the driver
+to satisfy the requirements of the device.
+
+.SH EXAMPLE & USAGE
+
+Configure the priomap in a one-to-one fashion:
+
+.P
+# dcb buffer set dev eth0 prio-buffer 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
+
+Set sizes of all buffers to 10KB, except for buffer 6, which will have the size
+1MB:
+
+.P
+# dcb buffer set dev eth0 buffer-size all:10K 6:1M
+
+Show what was set:
+
+.P
+# dcb buffer show dev eth0
+.br
+prio-buffer 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
+.br
+buffer-size 0:10Kb 1:10Kb 2:10Kb 3:10Kb 4:10Kb 5:10Kb 6:1Mb 7:10Kb
+.br
+total-size 1222Kb
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/dcb-dcbx.8 b/upstream/fedora-40/man8/dcb-dcbx.8
new file mode 100644
index 00000000..bafc18f6
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-dcbx.8
@@ -0,0 +1,108 @@
+.TH DCB-DCBX 8 "13 December 2020" "iproute2" "Linux"
+.SH NAME
+dcb-dcbx \- show / manipulate port DCBX (Data Center Bridging eXchange)
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B dcbx
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb dcbx show dev
+.RI DEV
+
+.ti -8
+.B dcb dcbx set dev
+.RI DEV
+.RB "[ " host " ]"
+.RB "[ " lld-managed " ]"
+.RB "[ " cee " ]"
+.RB "[ " ieee " ]"
+.RB "[ " static " ]"
+
+.SH DESCRIPTION
+
+Data Center Bridging eXchange (DCBX) is a protocol used by DCB devices to
+exchange configuration information with directly connected peers. The Linux DCBX
+object is a 1-byte bitfield of flags that configure whether DCBX is implemented
+in the device or in the host, and which version of the protocol should be used.
+.B dcb dcbx
+is used to access the per-port Linux DCBX object.
+
+There are two principal modes of operation: in
+.B host
+mode, DCBX protocol is implemented by the host LLDP agent, and the DCB
+interfaces are used to propagate the negotiate parameters to capable devices. In
+.B lld-managed
+mode, the configuration is handled by the device, and DCB interfaces are used
+for inspection of negotiated parameters, and can also be used to set initial
+parameters.
+
+.SH PARAMETERS
+
+When used with
+.B dcb dcbx set,
+the following keywords enable the corresponding configuration. The keywords that
+are not mentioned on the command line are considered disabled. When used with
+.B show,
+each enabled feature is shown by its corresponding keyword.
+
+.TP
+.B host
+.TQ
+.B lld-managed
+The device is in the host mode of operation and, respectively, the lld-managed
+mode of operation, as described above. In principle these two keywords are
+mutually exclusive, but
+.B dcb dcbx
+allows setting both and lets the driver handle it as appropriate.
+
+.TP
+.B cee
+.TQ
+.B ieee
+The device supports CEE (Converged Enhanced Ethernet) and, respectively, IEEE
+version of the DCB specification. Typically only one of these will be set, but
+.B dcb dcbx
+does not mandate this.
+
+.TP
+.B static
+indicates the engine supports static configuration. No actual negotiation is
+performed, negotiated parameters are always the initial configuration.
+
+.SH EXAMPLE & USAGE
+
+Put the DCB engine into the "host" mode of operation, and use IEEE-standardized
+DCB interfaces:
+
+.P
+# dcb dcbx set dev eth0 host ieee
+
+Show what was set:
+
+.P
+# dcb dcbx show dev eth0
+.br
+host ieee
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/dcb-ets.8 b/upstream/fedora-40/man8/dcb-ets.8
new file mode 100644
index 00000000..9c64b33e
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-ets.8
@@ -0,0 +1,194 @@
+.TH DCB-ETS 8 "19 October 2020" "iproute2" "Linux"
+.SH NAME
+dcb-ets \- show / manipulate ETS (Enhanced Transmission Selection) settings of
+the DCB (Data Center Bridging) subsystem
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B ets
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb ets show dev
+.RI DEV
+.RB "[ " willing " ]"
+.RB "[ " ets-cap " ]"
+.RB "[ " cbs " ]"
+.RB "[ " tc-tsa " ]"
+.RB "[ " reco-tc-tsa " ]"
+.RB "[ " pg-bw " ]"
+.RB "[ " tc-bw " ]"
+.RB "[ " reco-tc-bw " ]"
+.RB "[ " prio-tc " ]"
+.RB "[ " reco-prio-tc " ]"
+
+.ti -8
+.B dcb ets set dev
+.RI DEV
+.RB "[ " willing " { " on " | " off " } ]"
+.RB "[ { " tc-tsa " | " reco-tc-tsa " } " \fITSA-MAP\fB " ]"
+.RB "[ { " pg-bw " | " tc-bw " | " reco-tc-bw " } " \fIBW-MAP\fB " ]"
+.RB "[ { " prio-tc " | " reco-prio-tc " } " \fIPRIO-MAP\fB " ]"
+
+.ti -8
+.IR TSA-MAP " := [ " TSA-MAP " ] " TSA-MAPPING
+
+.ti -8
+.IR TSA-MAPPING " := { " TC " | " \fBall " }" \fB: "{ " \fBstrict\fR " | "
+.IR \fBcbs\fR " | " \fBets\fR " | " \fBvendor\fR " }"
+
+.ti -8
+.IR BW-MAP " := [ " BW-MAP " ] " BW-MAPPING
+
+.ti -8
+.IR BW-MAPPING " := { " TC " | " \fBall " }" \fB:\fIINTEGER\fR
+
+.ti -8
+.IR PRIO-MAP " := [ " PRIO-MAP " ] " PRIO-MAPPING
+
+.ti -8
+.IR PRIO-MAPPING " := { " PRIO " | " \fBall " }" \fB:\fITC\fR
+
+.ti -8
+.IR TC " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.ti -8
+.IR PRIO " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.SH DESCRIPTION
+
+.B dcb ets
+is used to configure Enhanced Transmission Selection attributes through Linux
+DCB (Data Center Bridging) interface. ETS permits configuration of mapping of
+priorities to traffic classes, traffic selection algorithm to use per traffic
+class, bandwidth allocation, etc.
+
+Two DCB TLVs are related to the ETS feature: a configuration and recommendation
+values. Recommendation values are named with a prefix
+.B reco-,
+while the configuration ones have plain names.
+
+.SH PARAMETERS
+
+For read-write parameters, the following describes only the write direction,
+i.e. as used with the \fBset\fR command. For the \fBshow\fR command, the
+parameter name is to be used as a simple keyword without further arguments. This
+instructs the tool to show the value of a given parameter. When no parameters
+are given, the tool shows the complete ETS configuration.
+
+.TP
+.B ets-cap
+A read-only property that shows the number of supported ETS traffic classes.
+
+.TP
+.B cbs
+A read-only property that is enabled if the driver and the hardware support the
+CBS Transmission Selection Algorithm.
+
+.TP
+.B willing \fR{ \fBon\fR | \fBoff\fR }
+Whether local host should accept configuration from peer TLVs.
+
+.TP
+.B prio-tc \fIPRIO-MAP
+.TQ
+.B reco-prio-tc \fIPRIO-MAP
+\fIPRIO-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are priorities, values are traffic classes. For each priority
+sets a TC where traffic with that priority is directed to.
+
+.TP
+.B tc-tsa \fITSA-MAP
+.TQ
+.B reco-tc-tsa \fITSA-MAP
+\fITSA-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are TCs, values are Transmission Selection Algorithm (TSA)
+keywords described below. For each TC sets an algorithm used for deciding how
+traffic queued up at this TC is scheduled for transmission. Supported TSAs are:
+
+.B strict
+- for strict priority, where traffic in higher-numbered TCs always takes
+precedence over traffic in lower-numbered TCs.
+.br
+.B ets
+- for Enhanced Traffic Selection, where available bandwidth is distributed among
+the ETS-enabled TCs according to the weights set by
+.B tc-bw
+and
+.B reco-tc-bw\fR,
+respectively.
+.br
+.B cbs
+- for Credit Based Shaper, where traffic is scheduled in a strict manner up to
+the limit set by a shaper.
+.br
+.B vendor
+- for vendor-specific traffic selection algorithm.
+
+.TP
+.B tc-bw \fIBW-MAP
+.TQ
+.B reco-tc-bw \fIBW-MAP
+\fIBW-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are TCs, values are integers representing percent of available
+bandwidth given to the traffic class in question. The value should be 0 for TCs
+whose TSA is not \fBets\fR, and the sum of all values shall be 100. As an
+exception to the standard wording, a configuration with no \fBets\fR TCs is
+permitted to sum up to 0 instead.
+.br
+
+.TP
+.B pg-bw \fIBW-MAP
+The precise meaning of \fBpg-bw\fR is not standardized, but the assumption seems
+to be that the same scheduling process as on the transmit side is applicable on
+receive side as well, and configures receive bandwidth allocation for \fBets\fR
+ingress traffic classes (priority groups).
+
+.SH EXAMPLE & USAGE
+
+Configure ETS priomap in a one-to-one fashion:
+
+.P
+# dcb ets set dev eth0 prio-tc 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
+
+Set TSA and transmit bandwidth configuration:
+
+.P
+# dcb ets set dev eth0 tc-tsa all:strict 0:ets 1:ets 2:ets \\
+.br
+ tc-bw all:0 0:33 1:33 2:34
+
+Show what was set:
+
+.P
+# dcb ets show dev eth0 prio-tc tc-tsa tc-bw
+.br
+prio-tc 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
+.br
+tc-tsa 0:ets 1:ets 2:ets 3:strict 4:strict 5:strict 6:strict 7:strict
+.br
+tc-bw 0:33 1:33 2:34 3:0 4:0 5:0 6:0 7:0
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/dcb-maxrate.8 b/upstream/fedora-40/man8/dcb-maxrate.8
new file mode 100644
index 00000000..d03c215c
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-maxrate.8
@@ -0,0 +1,94 @@
+.TH DCB-MAXRATE 8 "22 November 2020" "iproute2" "Linux"
+.SH NAME
+dcb-maxrate \- show / manipulate port maxrate settings of
+the DCB (Data Center Bridging) subsystem
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B maxrate
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb maxrate show dev
+.RI DEV
+.RB "[ " tc-maxrate " ]"
+
+.ti -8
+.B dcb maxrate set dev
+.RI DEV
+.RB "[ " tc-maxrate " " \fIRATE-MAP " ]"
+
+.ti -8
+.IR RATE-MAP " := [ " RATE-MAP " ] " RATE-MAPPING
+
+.ti -8
+.IR RATE-MAPPING " := { " TC " | " \fBall " }" \fB:\fIRATE\fR
+
+.ti -8
+.IR TC " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.ti -8
+.IR RATE " := { " INTEGER "[" \fBbit\fR "] | " INTEGER\fBKbit\fR " | "
+.IR INTEGER\fBMib\fR " | " ... " }"
+
+.SH DESCRIPTION
+
+.B dcb maxrate
+is used to configure and inspect maximum rate at which traffic is allowed to
+egress from a given traffic class.
+
+.SH PARAMETERS
+
+The following describes only the write direction, i.e. as used with the
+\fBset\fR command. For the \fBshow\fR command, the parameter name is to be used
+as a simple keyword without further arguments. This instructs the tool to show
+the value of a given parameter. When no parameters are given, the tool shows the
+complete maxrate configuration.
+
+.TP
+.B tc-maxrate \fIRATE-MAP
+\fIRATE-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are TC indices, values are traffic rates in bits per second.
+The rates can use the notation documented in section PARAMETERS at
+.BR tc (8).
+Note that under that notation, "bit" stands for bits per second whereas "b"
+stands for bytes per second. When showing, the command line option
+.B -i
+toggles between using decadic and ISO/IEC prefixes.
+
+.SH EXAMPLE & USAGE
+
+Set rates of all traffic classes to 25Gbps, except for TC 6, which will
+have the rate of 100Gbps:
+
+.P
+# dcb maxrate set dev eth0 tc-maxrate all:25Gbit 6:100Gbit
+
+Show what was set:
+
+.P
+# dcb maxrate show dev eth0
+.br
+tc-maxrate 0:25Gbit 1:25Gbit 2:25Gbit 3:25Gbit 4:25Gbit 5:25Gbit 6:100Gbit 7:25Gbit
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/dcb-pfc.8 b/upstream/fedora-40/man8/dcb-pfc.8
new file mode 100644
index 00000000..735c16e0
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-pfc.8
@@ -0,0 +1,127 @@
+.TH DCB-PFC 8 "31 October 2020" "iproute2" "Linux"
+.SH NAME
+dcb-pfc \- show / manipulate PFC (Priority-based Flow Control) settings of
+the DCB (Data Center Bridging) subsystem
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B pfc
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb pfc show dev
+.RI DEV
+.RB "[ " pfc-cap " ]"
+.RB "[ " prio-pfc " ]"
+.RB "[ " macsec-bypass " ]"
+.RB "[ " delay " ]"
+.RB "[ " requests " ]"
+.RB "[ " indications " ]"
+
+.ti -8
+.B dcb pfc set dev
+.RI DEV
+.RB "[ " prio-pfc " " \fIPFC-MAP " ]"
+.RB "[ " macsec-bypass " { " on " | " off " } ]"
+.RB "[ " delay " " \fIINTEGER\fR " ]"
+
+.ti -8
+.IR PFC-MAP " := [ " PFC-MAP " ] " PFC-MAPPING
+
+.ti -8
+.IR PFC-MAPPING " := { " PRIO " | " \fBall " }" \fB:\fR "{ "
+.IR \fBon\fR " | " \fBoff\fR " }"
+
+.ti -8
+.IR PRIO " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.SH DESCRIPTION
+
+.B dcb pfc
+is used to configure Priority-based Flow Control attributes through Linux
+DCB (Data Center Bridging) interface. PFC permits marking flows with a
+certain priority as lossless, and holds related configuration, as well as
+PFC counters.
+
+.SH PARAMETERS
+
+For read-write parameters, the following describes only the write direction,
+i.e. as used with the \fBset\fR command. For the \fBshow\fR command, the
+parameter name is to be used as a simple keyword without further arguments. This
+instructs the tool to show the value of a given parameter. When no parameters
+are given, the tool shows the complete PFC configuration.
+
+.TP
+.B pfc-cap
+A read-only property that shows the number of traffic classes that may
+simultaneously support PFC.
+
+.TP
+.B requests
+A read-only count of the sent PFC frames per traffic class. Only shown when
+-s is given, or when requested explicitly.
+
+.TP
+.B indications
+A read-only count of the received PFC frames per traffic class. Only shown
+when -s is given, or when requested explicitly.
+
+.TP
+.B macsec-bypass \fR{ \fBon\fR | \fBoff\fR }
+Whether the sending station is capable of bypassing MACsec processing when
+MACsec is disabled.
+
+.TP
+.B prio-pfc \fIPFC-MAP
+\fIPFC-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are priorities, values are on / off indicators of whether
+PFC is enabled for a given priority.
+
+.TP
+.B delay \fIINTEGER
+The allowance made for round-trip propagation delay of the link in bits.
+The value shall be 0..65535.
+
+.SH EXAMPLE & USAGE
+
+Enable PFC on priorities 6 and 7, leaving the rest intact:
+
+.P
+# dcb pfc set dev eth0 prio-pfc 6:on 7:on
+
+Disable PFC of all priorities except 6 and 7, and configure delay to 4096
+bits:
+
+.P
+# dcb pfc set dev eth0 prio-pfc all:off 6:on 7:on delay 0x1000
+
+Show what was set:
+
+.P
+# dcb pfc show dev eth0
+.br
+pfc-cap 8 macsec-bypass off delay 4096
+.br
+prio-pfc 0:off 1:off 2:off 3:off 4:off 5:off 6:on 7:on
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/dcb-rewr.8 b/upstream/fedora-40/man8/dcb-rewr.8
new file mode 100644
index 00000000..03b59cf4
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb-rewr.8
@@ -0,0 +1,206 @@
+.TH DCB-REWR 8 "15 may 2023" "iproute2" "Linux"
+.SH NAME
+dcb-rewr \- show / manipulate the rewrite table of
+the DCB (Data Center Bridging) subsystem
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B rewr
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb rewr " { " show " | " flush " } " dev
+.RI DEV
+.RB "[ " prio-dscp " ]"
+.RB "[ " prio-pcp " ]"
+
+.ti -8
+.B dcb rewr " { " add " | " del " | " replace " } " dev
+.RI DEV
+.RB "[ " prio-dscp " " \fIDSCP-MAP\fB " ]"
+.RB "[ " prio-pcp " " \fIPCP-MAP\fB " ]"
+
+.ti -8
+.IR DSCP-MAP " := [ " DSCP-MAP " ] " DSCP-MAPPING
+
+.ti -8
+.IR DSCP-MAPPING " := " \fIPRIO \fB:\fR "{ " DSCP " | " \fBall\fR " }"
+
+.ti -8
+.IR PCP-MAP " := [ " PCP-MAP " ] " PCP-MAPPING
+
+.ti -8
+.IR PCP-MAPPING " := " \fIPRIO \fB:\fR PCP\fR
+
+.ti -8
+.IR DSCP " := { " \fB0\fR " .. " \fB63\fR " }"
+
+.ti -8
+.IR PCP " := { " \fB0(nd/de)\fR " .. " \fB7(nd/de)\fR " }"
+
+.ti -8
+.IR PRIO " := { " \fB0\fR " .. " \fB7\fR " }"
+
+.SH DESCRIPTION
+
+.B dcb rewr
+is used to configure the rewrite table, in the DCB (Data Center Bridging)
+subsystem. The rewrite table is used to rewrite certain values in the packet
+headers, based on packet priority.
+
+DCB rewrite entries are, like DCB APP entries, 3-tuples of selector, protocol
+ID, and priority. Selector is an enumeration that picks one of the
+prioritization namespaces. Currently, only the DSCP and PCP selector namespaces
+are supported by dcb rewr.
+
+The rewrite table is a list of DCB rewrite rules, that applies to packets
+with matching priority. Notably, it is valid to have conflicting rewrite
+assignment for the same selector and priority. For example, the set of two
+rewrite entries (DSCP, 10, 1) and (DSCP, 11, 1), where packets with priority 1
+should have its DSCP value rewritten to both 10 and 11, form a well-defined
+rewrite table.
+.B dcb rewr
+tool allows low-level management of the rewrite table by adding and deleting
+individual rewrite 3-tuples through
+.B add
+and
+.B del
+commands. On the other hand, the command
+.B replace
+does what one would typically want in this situation--first adds the new
+configuration, and then removes the obsolete one, so that only one
+rewrite rule is in effect for a given selector and priority.
+
+.SH COMMANDS
+
+.TP
+.B show
+Display all entries with a given selector. When no selector is given, shows all
+rewrite table entries categorized per selector.
+
+.TP
+.B flush
+Remove all entries with a given selector. When no selector is given, removes all
+rewrite table entries.
+
+.TP
+.B add
+.TQ
+.B del
+Add and, respectively, remove individual rewrite 3-tuples to and from the DCB
+rewrite table.
+
+.TP
+.B replace
+Take the list of entries mentioned as parameter, and add those that are not
+present in the rewrite table yet. Then remove those entries, whose selector and
+priority have been mentioned as parameter, but not with the exact same
+protocol ID. This has the effect of, for the given selector and priority,
+causing that the table only contains the protocol ID (or ID's) given as
+parameter.
+
+.SH PARAMETERS
+
+The following table shows parameters in a way that they would be used with
+\fBadd\fR, \fBdel\fR and \fBreplace\fR commands. For \fBshow\fR and
+\fBflush\fR, the parameter name is to be used as a simple keyword without
+further arguments.
+
+.TP
+.B prio-dscp \fIDSCP-MAP
+\fIDSCP-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are priorities, values are DSCP points for traffic
+with matching priority. DSCP points can be written either directly as numeric
+values, or using symbolic names specified in
+.B /etc/iproute2/rt_dsfield
+(however note that the file specifies full 8-bit dsfield values, whereas
+.B dcb rewr
+will only use the higher six bits).
+.B dcb rewr show
+will similarly format DSCP values as symbolic names if possible. The
+command line option
+.B -N
+turns the show translation off.
+
+.TP
+.B prio-pcp \fIPCP-MAP
+\fIPCP-MAP\fR uses the array parameter syntax, see
+.BR dcb (8)
+for details. Keys are priorities. Values are PCP/DEI for traffic with
+matching priority. PCP/DEI values are written as a combination of numeric- and
+symbolic values, to accommodate for both. PCP always in numeric form e.g 0 ..
+7 and DEI in symbolic form e.g 'de' (drop-eligible), indicating that the DEI
+bit is 1 or 'nd' (not-drop-eligible), indicating that the DEI bit is 0. In
+combination 1:2de translates to a mapping of priority 1 to PCP=2 and DEI=1.
+
+.SH EXAMPLE & USAGE
+
+Add a rule to rewrite DSCP to 0, 24 and 48 for traffic with priority 0, 3 and
+6, respectively:
+.P
+# dcb rewr add dev eth0 prio-dscp 0:0 3:24 6:48
+
+Add a rule to rewrite DSCP to 25 for traffic with priority 3:
+.P
+# dcb rewr add dev eth0 prio-dscp 3:25
+.br
+# dcb rewr show dev eth0 prio-dscp
+.br
+prio-dscp 0:0 3:CS3 3:25 6:CS6
+.br
+# dcb -N rewr show dev eth0 prio-dscp
+.br
+prio-dscp 0:0 3:24 3:25 6:48
+
+Reconfigure the table so that only one rule exists for rewriting traffic with
+priority 3.
+
+.P
+# dcb rewr replace dev eth0 prio-dscp 3:26
+.br
+# dcb rewr -N show dev eth0 prio-dscp
+.br
+prio-dscp 0:0 3:26 6:48
+
+Flush all DSCP rules:
+
+.P
+# dcb rewr flush dev eth0 prio-dscp
+.br
+# dcb rewr show dev eth0 prio-dscp
+.br
+(nothing)
+
+Add a rule to rewrite PCP to 1 and DEI to 0 for traffic with priority 1 and a
+rule to rewrite PCP to 2 and DEI to 1 for traffic with priority 2:
+
+.P
+# dcb rewr add dev eth0 prio-pcp 1:1nd 2:2de
+.br
+# dcb rewr show dev eth0 prio-pcp
+.br
+prio-pcp 1:1nd 2:2de
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb (8)
+.BR dcb-app (8)
+.BR dcb-apptrust (8)
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done. You do not have to be
+subscribed to the list to send a message there.
+
+.SH AUTHOR
+Daniel Machon <daniel.machon@microchip.com>
diff --git a/upstream/fedora-40/man8/dcb.8 b/upstream/fedora-40/man8/dcb.8
new file mode 100644
index 00000000..a1d6505e
--- /dev/null
+++ b/upstream/fedora-40/man8/dcb.8
@@ -0,0 +1,158 @@
+.TH DCB 8 "19 October 2020" "iproute2" "Linux"
+.SH NAME
+dcb \- show / manipulate DCB (Data Center Bridging) settings
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.RB "{ " app " | " buffer " | " ets " | " maxrate " | " pfc " }"
+.RI "{ " COMMAND " | " help " }"
+.sp
+
+.ti -8
+.B dcb
+.RB "[ " -force " ] "
+.BI "-batch " filename
+.sp
+
+.ti -8
+.B dcb
+.RI "[ " OPTIONS " ] "
+.B help
+.sp
+
+.SH OPTIONS
+
+.TP
+.BR "\-n" , " \--netns " <NETNS>
+switches
+.B dcb
+to the specified network namespace
+.IR NETNS .
+
+.TP
+.BR "\-V" , " --Version"
+Print the version of the
+.B dcb
+utility and exit.
+
+.TP
+.BR "\-b", " --batch " <FILENAME>
+Read commands from provided file or standard input and invoke them. First
+failure will cause termination of dcb.
+
+.TP
+.BR "\-f", " --force"
+Don't terminate dcb on errors in batch mode. If there were any errors during
+execution of the commands, the application return code will be non zero.
+
+.TP
+.BR "\-i" , " --iec"
+When showing rates, use ISO/IEC 1024-based prefixes (Ki, Mi, Bi) instead of
+the 1000-based ones (K, M, B).
+
+.TP
+.BR "\-j" , " --json"
+Generate JSON output.
+
+.TP
+.BR "\-N" , " --Numeric"
+If the subtool in question translates numbers to symbolic names in some way,
+suppress this translation.
+
+.TP
+.BR "\-p" , " --pretty"
+When combined with -j generate a pretty JSON output.
+
+.TP
+.BR "\-s" , " --statistics"
+If the object in question contains any statistical counters, shown them as
+part of the "show" output.
+
+.SH OBJECTS
+
+.TP
+.B app
+- Configuration of application priority table
+
+.TP
+.B buffer
+- Configuration of port buffers
+
+.TP
+.B ets
+- Configuration of ETS (Enhanced Transmission Selection)
+
+.TP
+.B maxrate
+- Configuration of per-TC maximum transmit rate
+
+.TP
+.B pfc
+- Configuration of PFC (Priority-based Flow Control)
+
+.SH COMMANDS
+
+A \fICOMMAND\fR specifies the action to perform on the object. The set of
+possible actions depends on the object type. As a rule, it is possible to
+.B show
+objects and to invoke topical
+.B help,
+which prints a list of available commands and argument syntax conventions.
+
+.SH ARRAY PARAMETERS
+
+Like commands, specification of parameters is in the domain of individual
+objects (and their commands) as well. However, much of the DCB interface
+revolves around arrays of fixed size that specify one value per some key, such
+as per traffic class or per priority. There is therefore a single syntax for
+adjusting elements of these arrays. It consists of a series of
+\fIKEY\fB:\fIVALUE\fR pairs, where the meaning of the individual keys and values
+depends on the parameter.
+
+The elements are evaluated in order from left to right, and the latter ones
+override the earlier ones. The elements that are not specified on the command
+line are queried from the kernel and their current value is retained.
+
+As an example, take a made-up parameter tc-juju, which can be set to charm
+traffic in a given TC with either good luck or bad luck. \fIKEY\fR can therefore
+be 0..7 (as is usual for TC numbers in DCB), and \fIVALUE\fR either of
+\fBnone\fR, \fBgood\fR, and \fBbad\fR. An example of changing a juju value of
+TCs 0 and 7, while leaving all other intact, would then be:
+
+.P
+# dcb foo set dev eth0 tc-juju 0:good 7:bad
+
+A special key, \fBall\fR, is recognized which sets the same value to all array
+elements. This can be combined with the usual single-element syntax. E.g. in the
+following, the juju of all keys is set to \fBnone\fR, except 0 and 7, which have
+other values:
+
+.P
+# dcb foo set dev eth0 tc-juju all:none 0:good 7:bad
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR dcb-app (8),
+.BR dcb-apptrust (8),
+.BR dcb-buffer (8),
+.BR dcb-ets (8),
+.BR dcb-maxrate (8),
+.BR dcb-pfc (8),
+.BR dcb-rewr (8)
+.br
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Petr Machata <me@pmachata.org>
diff --git a/upstream/fedora-40/man8/debugfs.8 b/upstream/fedora-40/man8/debugfs.8
new file mode 100644
index 00000000..8b6a600d
--- /dev/null
+++ b/upstream/fedora-40/man8/debugfs.8
@@ -0,0 +1,880 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH DEBUGFS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+debugfs \- ext2/ext3/ext4 file system debugger
+.SH SYNOPSIS
+.B debugfs
+[
+.B \-DVwcin
+]
+[
+.B \-b
+blocksize
+]
+[
+.B \-s
+superblock
+]
+[
+.B \-f
+cmd_file
+]
+[
+.B \-R
+request
+]
+[
+.B \-d
+data_source_device
+]
+[
+.B \-z
+.I undo_file
+]
+[
+device
+]
+.SH DESCRIPTION
+The
+.B debugfs
+program is an interactive file system debugger. It can be used to
+examine and change the state of an ext2, ext3, or ext4 file system.
+.PP
+.I device
+is a block device (e.g., /dev/sdXX) or a file containing the file system.
+.SH OPTIONS
+.TP
+.I \-w
+Specifies that the file system should be opened in read-write mode.
+Without this option, the file system is opened in read-only mode.
+.TP
+.I \-n
+Disables metadata checksum verification. This should only be used if
+you believe the metadata to be correct despite the complaints of
+e2fsprogs.
+.TP
+.I \-c
+Specifies that the file system should be opened in catastrophic mode, in
+which the inode and group bitmaps are not read initially. This can be
+useful for file systems with significant corruption, but because of this,
+catastrophic mode forces the file system to be opened read-only.
+.TP
+.I \-i
+Specifies that
+.I device
+represents an ext2 image file created by the
+.B e2image
+program. Since the ext2 image file only contains the superblock, block
+group descriptor, block and inode allocation bitmaps, and
+the inode table, many
+.B debugfs
+commands will not function properly.
+.B Warning:
+no safety checks are in place, and
+.B debugfs
+may fail in interesting ways if commands such as
+.IR ls ", " dump ", "
+etc. are tried without specifying the
+.I data_source_device
+using the
+.I \-d
+option.
+.B debugfs
+is a debugging tool. It has rough edges!
+.TP
+.I -d data_source_device
+Used with the
+.I \-i
+option, specifies that
+.I data_source_device
+should be used when reading blocks not found in the ext2 image file.
+This includes data, directory, and indirect blocks.
+.TP
+.I -b blocksize
+Forces the use of the given block size (in bytes) for the file system,
+rather than detecting the correct block size automatically. (This
+option is rarely needed; it is used primarily when the file system is
+extremely badly damaged/corrupted.)
+.TP
+.I -s superblock
+Causes the file system superblock to be read from the given block
+number, instead of using the primary superblock (located at an offset of
+1024 bytes from the beginning of the file system). If you specify the
+.I -s
+option, you must also provide the blocksize of the file system via the
+.I -b
+option. (This
+option is rarely needed; it is used primarily when the file system is
+extremely badly damaged/corrupted.)
+.TP
+.I -f cmd_file
+Causes
+.B debugfs
+to read in commands from
+.IR cmd_file ,
+and execute them. When
+.B debugfs
+is finished executing those commands, it will exit.
+.TP
+.I -D
+Causes
+.B debugfs
+to open the device using Direct I/O, bypassing the buffer cache. Note
+that some Linux devices, notably device mapper as of this writing, do
+not support Direct I/O.
+.TP
+.I -R request
+Causes
+.B debugfs
+to execute the single command
+.IR request ,
+and then exit.
+.TP
+.I -V
+print the version number of
+.B debugfs
+and exit.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+debugfs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH SPECIFYING FILES
+Many
+.B debugfs
+commands take a
+.I filespec
+as an argument to specify an inode (as opposed to a pathname)
+in the file system which is currently opened by
+.BR debugfs .
+The
+.I filespec
+argument may be specified in two forms. The first form is an inode
+number surrounded by angle brackets, e.g.,
+.IR <2> .
+The second form is a pathname; if the pathname is prefixed by a forward slash
+('/'), then it is interpreted relative to the root of the file system
+which is currently opened by
+.BR debugfs .
+If not, the pathname is
+interpreted relative to the current working directory as maintained by
+.BR debugfs .
+This may be modified by using the
+.B debugfs
+command
+.IR cd .
+.\"
+.\"
+.\"
+.SH COMMANDS
+This is a list of the commands which
+.B debugfs
+supports.
+.TP
+.BI blocks " filespec"
+Print the blocks used by the inode
+.I filespec
+to stdout.
+.TP
+.BI bmap " [ -a ] filespec logical_block [physical_block]"
+Print or set the physical block number corresponding to the logical block number
+.I logical_block
+in the inode
+.IR filespec .
+If the
+.I \-a
+flag is specified, try to allocate a block if necessary.
+.TP
+.BI block_dump " '[ -x ] [-f filespec] block_num"
+Dump the file system block given by
+.I block_num
+in hex and ASCII format to the console. If the
+.I \-f
+option is specified, the block number is relative to the start of the given
+.BR filespec .
+If the
+.I \-x
+option is specified, the block is interpreted as an extended attribute
+block and printed to show the structure of extended attribute data
+structures.
+.TP
+.BI cat " filespec"
+Dump the contents of the inode
+.I filespec
+to stdout.
+.TP
+.BI cd " filespec"
+Change the current working directory to
+.IR filespec .
+.TP
+.BI chroot " filespec"
+Change the root directory to be the directory
+.IR filespec .
+.TP
+.BI close " [-a]"
+Close the currently open file system. If the
+.I -a
+option is specified, write out any changes to the superblock and block
+group descriptors to all of the backup superblocks, not just to the
+master superblock.
+.TP
+.BI clri " filespec"
+Clear the contents of the inode
+.IR filespec .
+.TP
+.BI copy_inode " source_inode destination_inode"
+Copy the contents of the inode structure in
+.I source_inode
+and use it to overwrite the inode structure at
+.IR destination_inode .
+.TP
+.BI dirsearch " filespec filename"
+Search the directory
+.I filespec
+for
+.IR filename .
+.TP
+.BI dirty " [-clean]"
+Mark the file system as dirty, so that the superblocks will be written on exit.
+Additionally, clear the superblock's valid flag, or set it if
+.I -clean
+is specified.
+.TP
+.BI dump " [-p] filespec out_file"
+Dump the contents of the inode
+.I filespec
+to the output file
+.IR out_file .
+If the
+.I -p
+option is given set the owner, group and permissions information on
+.I out_file
+to match
+.IR filespec .
+.TP
+.BI dump_mmp " [mmp_block]"
+Display the multiple-mount protection (mmp) field values. If
+.I mmp_block
+is specified then verify and dump the MMP values from the given block
+number, otherwise use the
+.B s_mmp_block
+field in the superblock to locate and use the existing MMP block.
+.TP
+.BI dx_hash " [-h hash_alg] [-s hash_seed] filename"
+Calculate the directory hash of
+.IR filename .
+The hash algorithm specified with
+.I -h
+may be
+.BR legacy , " half_md4" ", or " tea .
+The hash seed specified with
+.I -s
+must be in UUID format.
+.TP
+.BI dump_extents " [-n] [-l] filespec"
+Dump the extent tree of the inode
+.IR filespec .
+The
+.I -n
+flag will cause
+.B dump_extents
+to only display the interior nodes in the extent tree. The
+.I -l
+flag will cause
+.B dump_extents
+to only display the leaf nodes in the extent tree.
+.IP
+(Please note that the length and range of blocks for the last extent in
+an interior node is an estimate by the extents library functions, and is
+not stored in file system data structures. Hence, the values displayed
+may not necessarily by accurate and does not indicate a problem or
+corruption in the file system.)
+.TP
+.B dump_unused
+Dump unused blocks which contain non-null bytes.
+.TP
+.BI ea_get " [-f outfile]|[-xVC] [-r] filespec attr_name"
+Retrieve the value of the extended attribute
+.I attr_name
+in the file
+.I filespec
+and write it either to stdout or to \fIoutfile\fR.
+.TP
+.BI ea_list " filespec
+List the extended attributes associated with the file
+.I filespec
+to standard output.
+.TP
+.BI ea_set " [-f infile] [-r] filespec attr_name attr_value
+Set the value of the extended attribute
+.I attr_name
+in the file
+.I filespec
+to the string value
+.I attr_value
+or read it from \fIinfile\fR.
+.TP
+.BI ea_rm " filespec attr_names...
+Remove the extended attribute
+.I attr_name
+from the file \fIfilespec\fR.
+.TP
+.BI expand_dir " filespec"
+Expand the directory
+.IR filespec .
+.TP
+.BI fallocate " filespec start_block [end_block]
+Allocate and map uninitialized blocks into \fIfilespec\fR between
+logical block \fIstart_block\fR and \fIend_block\fR, inclusive. If
+\fIend_block\fR is not supplied, this function maps until it runs out
+of free disk blocks or the maximum file size is reached. Existing
+mappings are left alone.
+.TP
+.BI feature " [fs_feature] [-fs_feature] ..."
+Set or clear various file system features in the superblock. After setting
+or clearing any file system features that were requested, print the current
+state of the file system feature set.
+.TP
+.BI filefrag " [-dvr] filespec"
+Print the number of contiguous extents in
+.IR filespec .
+If
+.I filespec
+is a directory and the
+.I -d
+option is not specified,
+.I filefrag
+will print the number of contiguous extents for each file in
+the directory. The
+.I -v
+option will cause
+.I filefrag
+print a tabular listing of the contiguous extents in the
+file. The
+.I -r
+option will cause
+.I filefrag
+to do a recursive listing of the directory.
+.TP
+.BI find_free_block " [count [goal]]"
+Find the first
+.I count
+free blocks, starting from
+.I goal
+and allocate it. Also available as
+.BR ffb .
+.TP
+.BI find_free_inode " [dir [mode]]"
+Find a free inode and allocate it. If present,
+.I dir
+specifies the inode number of the directory
+which the inode is to be located. The second
+optional argument
+.I mode
+specifies the permissions of the new inode. (If the directory bit is set
+on the mode, the allocation routine will function differently.) Also
+available as
+.BR ffi .
+.TP
+.BI freeb " block [count]"
+Mark the block number
+.I block
+as not allocated.
+If the optional argument
+.I count
+is present, then
+.I count
+blocks starting at block number
+.I block
+will be marked as not allocated.
+.TP
+.BI freefrag " [-c chunk_kb]"
+Report free space fragmentation on the currently open file system.
+If the
+.I \-c
+option is specified then the filefrag command will print how many free
+chunks of size
+.I chunk_kb
+can be found in the file system. The chunk size must be a power of two
+and be larger than the file system block size.
+.TP
+.BI freei " filespec [num]"
+Free the inode specified by
+.IR filespec .
+If
+.I num
+is specified, also clear num-1 inodes after the specified inode.
+.TP
+.BI get_quota " quota_type id"
+Display quota information for given quota type (user, group, or project) and ID.
+.TP
+.B help
+Print a list of commands understood by
+.BR debugfs .
+.TP
+.BI htree_dump " filespec"
+Dump the hash-indexed directory
+.IR filespec ,
+showing its tree structure.
+.TP
+.BI icheck " block ..."
+Print a listing of the inodes which use the one or more blocks specified
+on the command line.
+.TP
+.BI inode_dump " [-b]|[-e]|[-x] filespec"
+Print the contents of the inode data structure in hex and ASCII format.
+The
+.I \-b
+option causes the command to only dump the contents of the
+.B i_blocks
+array. The
+.I \-e
+option causes the command to only dump the contents of the extra inode
+space, which is used to store in-line extended attributes. The
+.I \-x
+option causes the command to dump the extra inode space interpreted and
+extended attributes. This is useful to debug corrupted inodes
+containing extended attributes.
+.TP
+.BI imap " filespec"
+Print the location of the inode data structure (in the inode table)
+of the inode
+.IR filespec .
+.TP
+.BI init_filesys " device blocksize"
+Create an ext2 file system on
+.I device
+with device size
+.IR blocksize .
+Note that this does not fully initialize all of the data structures;
+to do this, use the
+.BR mke2fs (8)
+program. This is just a call to the low-level library, which sets up
+the superblock and block descriptors.
+.TP
+.BI journal_close
+Close the open journal.
+.TP
+.BI journal_open " [-c] [-v ver] [-f ext_jnl]
+Opens the journal for reading and writing. Journal checksumming can
+be enabled by supplying \fI-c\fR; checksum formats 2 and 3 can be
+selected with the \fI-v\fR option. An external journal can be loaded
+from \fIext_jnl\fR.
+.TP
+.BI journal_run
+Replay all transactions in the open journal.
+.TP
+.BI journal_write " [-b blocks] [-r revoke] [-c] file
+Write a transaction to the open journal. The list of blocks to write
+should be supplied as a comma-separated list in \fIblocks\fR; the
+blocks themselves should be readable from \fIfile\fR. A list of
+blocks to revoke can be supplied as a comma-separated list in
+\fIrevoke\fR. By default, a commit record is written at the end; the
+\fI-c\fR switch writes an uncommitted transaction.
+.TP
+.BI kill_file " filespec"
+Deallocate the inode
+.I filespec
+and its blocks. Note that this does not remove any directory
+entries (if any) to this inode. See the
+.BR rm (1)
+command if you wish to unlink a file.
+.TP
+.BI lcd " directory"
+Change the current working directory of the
+.B debugfs
+process to
+.I directory
+on the native file system.
+.TP
+.BI list_quota " quota_type"
+Display quota information for given quota type (user, group, or project).
+.TP
+.BI ln " filespec dest_file"
+Create a link named
+.I dest_file
+which is a hard link to
+.IR filespec .
+Note this does not adjust the inode reference counts.
+.TP
+.BI logdump " [-acsOS] [-b block] [-n num_trans ] [-i filespec] [-f journal_file] [output_file]"
+Dump the contents of the ext3 journal. By default, dump the journal inode as
+specified in the superblock. However, this can be overridden with the
+.I \-i
+option, which dumps the journal from the internal inode given by
+.IR filespec .
+A regular file containing journal data can be specified using the
+.I \-f
+option. Finally, the
+.I \-s
+option utilizes the backup information in the superblock to locate the
+journal.
+.IP
+The
+.I \-S
+option causes
+.B logdump
+to print the contents of the journal superblock.
+.IP
+The
+.I \-a
+option causes the
+.B logdump
+to print the contents of all of the descriptor blocks.
+The
+.I \-b
+option causes
+.B logdump
+to print all journal records that refer to the specified block.
+The
+.I \-c
+option will print out the contents of all of the data blocks selected by
+the
+.I \-a
+and
+.I \-b
+options.
+.IP
+The
+.I \-O
+option causes logdump to display old (checkpointed) journal entries.
+This can be used to try to track down journal problems even after the
+journal has been replayed.
+.IP
+The
+.I \-n
+option causes
+.B logdump
+to continue past a journal block which is missing a magic number.
+Instead, it will stop only when the entire log is printed or after
+.I num_trans
+transactions.
+.TP
+.BI ls " [-l] [-c] [-d] [-p] [-r] filespec"
+Print a listing of the files in the directory
+.IR filespec .
+The
+.I \-c
+flag causes directory block checksums (if present) to be displayed.
+The
+.I \-d
+flag will list deleted entries in the directory.
+The
+.I \-l
+flag will list files using a more verbose format.
+The
+.I \-p
+flag will list the files in a format which is more easily parsable by
+scripts, as well as making it more clear when there are spaces or other
+non-printing characters at the end of filenames.
+The
+.I \-r
+flag will force the printing of the filename, even if it is encrypted.
+.TP
+.BI list_deleted_inodes " [limit]"
+List deleted inodes, optionally limited to those deleted within
+.I limit
+seconds ago. Also available as
+.BR lsdel .
+.IP
+This command was useful for recovering from accidental file deletions
+for ext2 file systems. Unfortunately, it is not useful for this purpose
+if the files were deleted using ext3 or ext4, since the inode's
+data blocks are no longer available after the inode is released.
+.TP
+.BI modify_inode " filespec"
+Modify the contents of the inode structure in the inode
+.IR filespec .
+Also available as
+.BR mi .
+.TP
+.BI mkdir " filespec"
+Make a directory.
+.TP
+.BI mknod " filespec [p|[[c|b] major minor]]"
+Create a special device file (a named pipe, character or block device).
+If a character or block device is to be made, the
+.I major
+and
+.I minor
+device numbers must be specified.
+.TP
+.BI ncheck " [-c] inode_num ..."
+Take the requested list of inode numbers, and print a listing of pathnames
+to those inodes. The
+.I -c
+flag will enable checking the file type information in the directory
+entry to make sure it matches the inode's type.
+.TP
+.BI open " [-weficD] [-b blocksize] [-d image_filename] [-s superblock] [-z undo_file] device"
+Open a file system for editing. The
+.I -f
+flag forces the file system to be opened even if there are some unknown
+or incompatible file system features which would normally
+prevent the file system from being opened. The
+.I -e
+flag causes the file system to be opened in exclusive mode. The
+.IR -b ", " -c ", " -d ", " -i ", " -s ", " -w ", and " -D
+options behave the same as the command-line options to
+.BR debugfs .
+.TP
+.BI punch " filespec start_blk [end_blk]"
+Delete the blocks in the inode ranging from
+.I start_blk
+to
+.IR end_blk .
+If
+.I end_blk
+is omitted then this command will function as a truncate command; that
+is, all of the blocks starting at
+.I start_blk
+through to the end of the file will be deallocated.
+.TP
+.BI symlink " filespec target"
+Make a symbolic link.
+.TP
+.B pwd
+Print the current working directory.
+.TP
+.B quit
+Quit
+.B debugfs
+.TP
+.BI rdump " directory[...] destination"
+Recursively dump
+.IR directory ,
+or multiple
+.IR directories ,
+and all its contents (including regular files, symbolic links, and other
+directories) into the named
+.IR destination ,
+which should be an existing directory on the native file system.
+.TP
+.BI rm " pathname"
+Unlink
+.IR pathname .
+If this causes the inode pointed to by
+.I pathname
+to have no other references, deallocate the file. This command functions
+as the unlink() system call.
+.I
+.TP
+.BI rmdir " filespec"
+Remove the directory
+.IR filespec .
+.TP
+.BI setb " block [count]"
+Mark the block number
+.I block
+as allocated.
+If the optional argument
+.I count
+is present, then
+.I count
+blocks starting at block number
+.I block
+will be marked as allocated.
+.TP
+.BI set_block_group " bgnum field value"
+Modify the block group descriptor specified by
+.I bgnum
+so that the block group descriptor field
+.I field
+has value
+.IR value .
+Also available as
+.BR set_bg .
+.TP
+.BI set_current_time " time"
+Set current time in seconds since Unix epoch to use when setting file system
+fields.
+.TP
+.BI seti " filespec [num]"
+Mark inode
+.I filespec
+as in use in the inode bitmap. If
+.I num
+is specified, also set num-1 inodes after the specified inode.
+.TP
+.BI set_inode_field " filespec field value"
+Modify the inode specified by
+.I filespec
+so that the inode field
+.I field
+has value
+.I value.
+The list of valid inode fields which can be set via this command
+can be displayed by using the command:
+.B set_inode_field -l
+Also available as
+.BR sif .
+.TP
+.BI set_mmp_value " field value"
+Modify the multiple-mount protection (MMP) data so that the MMP field
+.I field
+has value
+.I value.
+The list of valid MMP fields which can be set via this command
+can be displayed by using the command:
+.B set_mmp_value -l
+Also available as
+.BR smmp .
+.TP
+.BI set_super_value " field value"
+Set the superblock field
+.I field
+to
+.I value.
+The list of valid superblock fields which can be set via this command
+can be displayed by using the command:
+.B set_super_value -l
+Also available as
+.BR ssv .
+.TP
+.B show_debugfs_params
+Display
+.B debugfs
+parameters such as information about currently opened file system.
+.TP
+.BI show_super_stats " [-h]"
+List the contents of the super block and the block group descriptors. If the
+.I -h
+flag is given, only print out the superblock contents. Also available as
+.BR stats .
+.TP
+.BI stat " filespec"
+Display the contents of the inode structure of the inode
+.IR filespec .
+.TP
+.B supported_features
+Display file system features supported by this version of
+.BR debugfs .
+.TP
+.BI testb " block [count]"
+Test if the block number
+.I block
+is marked as allocated in the block bitmap.
+If the optional argument
+.I count
+is present, then
+.I count
+blocks starting at block number
+.I block
+will be tested.
+.TP
+.BI testi " filespec"
+Test if the inode
+.I filespec
+is marked as allocated in the inode bitmap.
+.TP
+.BI undel " <inode_number> [pathname]"
+Undelete the specified inode number (which must be surrounded by angle
+brackets) so that it and its blocks are marked in use, and optionally
+link the recovered inode to the specified pathname. The
+.B e2fsck
+command should always be run after using the
+.B undel
+command to recover deleted files.
+.IP
+Note that if you are recovering a large number of deleted files, linking
+the inode to a directory may require the directory to be expanded, which
+could allocate a block that had been used by one of the
+yet-to-be-undeleted files. So it is safer to undelete all of the
+inodes without specifying a destination pathname, and then in a separate
+pass, use the debugfs
+.B link
+command to link the inode to the destination pathname, or use
+.B e2fsck
+to check the file system and link all of the recovered inodes to the
+lost+found directory.
+.TP
+.BI unlink " pathname"
+Remove the link specified by
+.I pathname
+to an inode. Note this does not adjust the inode reference counts.
+.TP
+.BI write " source_file out_file"
+Copy the contents of
+.I source_file
+into a newly-created file in the file system named
+.IR out_file .
+.TP
+.BI zap_block " [-f filespec] [-o offset] [-l length] [-p pattern] block_num"
+Overwrite the block specified by
+.I block_num
+with zero (NUL) bytes, or if
+.I -p
+is given use the byte specified by
+.IR pattern .
+If
+.I -f
+is given then
+.I block_num
+is relative to the start of the file given by
+.IR filespec .
+The
+.I -o
+and
+.I -l
+options limit the range of bytes to zap to the specified
+.I offset
+and
+.I length
+relative to the start of the block.
+.TP
+.BI zap_block " [-f filespec] [-b bit] block_num"
+Bit-flip portions of the physical
+.IR block_num .
+If
+.I -f
+is given, then
+.I block_num
+is a logical block relative to the start of
+.IR filespec .
+.SH ENVIRONMENT VARIABLES
+.TP
+.B DEBUGFS_PAGER, PAGER
+The
+.B debugfs
+program always pipes the output of the some commands through a
+pager program. These commands include:
+.IR show_super_stats " (" stats ),
+.IR list_directory " (" ls ),
+.IR show_inode_info " (" stat ),
+.IR list_deleted_inodes " (" lsdel ),
+and
+.IR htree_dump .
+The specific pager can explicitly specified by the
+.B DEBUGFS_PAGER
+environment variable, and if it is not set, by the
+.B PAGER
+environment variable.
+.IP
+Note that since a pager is always used, the
+.BR less (1)
+pager is not particularly appropriate, since it clears the screen before
+displaying the output of the command and clears the output the screen
+when the pager is exited. Many users prefer to use the
+.BR less (1)
+pager for most purposes, which is why the
+.B DEBUGFS_PAGER
+environment variable is available to override the more general
+.B PAGER
+environment variable.
+.SH AUTHOR
+.B debugfs
+was written by Theodore Ts'o <tytso@mit.edu>.
+.SH SEE ALSO
+.BR dumpe2fs (8),
+.BR tune2fs (8),
+.BR e2fsck (8),
+.BR mke2fs (8),
+.BR ext4 (5)
diff --git a/upstream/fedora-40/man8/depmod.8 b/upstream/fedora-40/man8/depmod.8
new file mode 100644
index 00000000..cf06eae8
--- /dev/null
+++ b/upstream/fedora-40/man8/depmod.8
@@ -0,0 +1,185 @@
+'\" t
+.\" Title: depmod
+.\" Author: Jon Masters <jcm@jonmasters.org>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: depmod
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "DEPMOD" "8" "02/09/2023" "kmod" "depmod"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+depmod \- Generate modules\&.dep and map files\&.
+.SH "SYNOPSIS"
+.HP \w'\fBdepmod\fR\ 'u
+\fBdepmod\fR [\fB\-b\ \fR\fB\fIbasedir\fR\fR] [\fB\-o\ \fR\fB\fIoutdir\fR\fR] [\fB\-e\fR] [\fB\-E\ \fR\fB\fIModule\&.symvers\fR\fR] [\fB\-F\ \fR\fB\fISystem\&.map\fR\fR] [\fB\-n\fR] [\fB\-v\fR] [\fB\-A\fR] [\fB\-P\ \fR\fB\fIprefix\fR\fR] [\fB\-w\fR] [\fB\fIversion\fR\fR]
+.HP \w'\fBdepmod\fR\ 'u
+\fBdepmod\fR [\fB\-e\fR] [\fB\-E\ \fR\fB\fIModule\&.symvers\fR\fR] [\fB\-F\ \fR\fB\fISystem\&.map\fR\fR] [\fB\-n\fR] [\fB\-v\fR] [\fB\-P\ \fR\fB\fIprefix\fR\fR] [\fB\-w\fR] [\fB\fIversion\fR\fR] [\fB\fIfilename\fR\fR...]
+.SH "DESCRIPTION"
+.PP
+Linux kernel modules can provide services (called "symbols") for other modules to use (using one of the EXPORT_SYMBOL variants in the code)\&. If a second module uses this symbol, that second module clearly depends on the first module\&. These dependencies can get quite complex\&.
+.PP
+\fBdepmod\fR
+creates a list of module dependencies by reading each module under
+/lib/modules/\fIversion\fR
+and determining what symbols it exports and what symbols it needs\&. By default, this list is written to
+modules\&.dep, and a binary hashed version named
+modules\&.dep\&.bin, in the same directory\&. If filenames are given on the command line, only those modules are examined (which is rarely useful unless all modules are listed)\&.
+\fBdepmod\fR
+also creates a list of symbols provided by modules in the file named
+modules\&.symbols
+and its binary hashed version,
+modules\&.symbols\&.bin\&. Finally,
+\fBdepmod\fR
+will output a file named
+modules\&.devname
+if modules supply special device names (devname) that should be populated in /dev on boot (by a utility such as systemd\-tmpfiles)\&.
+.PP
+If a
+\fIversion\fR
+is provided, then that kernel version\*(Aqs module directory is used rather than the current kernel version (as returned by
+\fBuname \-r\fR)\&.
+.SH "OPTIONS"
+.PP
+\fB\-a\fR, \fB\-\-all\fR
+.RS 4
+Probe all modules\&. This option is enabled by default if no file names are given in the command\-line\&.
+.RE
+.PP
+\fB\-A\fR, \fB\-\-quick\fR
+.RS 4
+This option scans to see if any modules are newer than the
+modules\&.dep
+file before any work is done: if not, it silently exits rather than regenerating the files\&.
+.RE
+.PP
+\fB\-b \fR\fB\fIbasedir\fR\fR, \fB\-\-basedir \fR\fB\fIbasedir\fR\fR
+.RS 4
+If your modules are not currently in the (normal) directory
+/lib/modules/\fIversion\fR, but in a staging area, you can specify a
+\fIbasedir\fR
+which is prepended to the directory name\&. This
+\fIbasedir\fR
+is stripped from the resulting
+modules\&.dep
+file, so it is ready to be moved into the normal location\&. Use this option if you are a distribution vendor who needs to pre\-generate the meta\-data files rather than running depmod again later\&.
+.RE
+.PP
+\fB\-o \fR\fB\fIoutdir\fR\fR, \fB\-\-outdir \fR\fB\fIoutdir\fR\fR
+.RS 4
+Set the output directory where depmod will store any generated file\&.
+\fIoutdir\fR
+serves as a root to that location, similar to how
+\fIbasedir\fR
+is used\&. Also this setting takes precedence and if used together with
+\fIbasedir\fR
+it will result in the input being that directory, but the output being the one set by
+\fIoutdir\fR\&.
+.RE
+.PP
+\fB\-C\fR, \fB\-\-config \fR\fB\fIfile or directory\fR\fR
+.RS 4
+This option overrides the default configuration directory at
+/etc/depmod\&.d/\&.
+.RE
+.PP
+\fB\-e\fR, \fB\-\-errsyms\fR
+.RS 4
+When combined with the
+\fB\-F\fR
+option, this reports any symbols which a module needs which are not supplied by other modules or the kernel\&. Normally, any symbols not provided by modules are assumed to be provided by the kernel (which should be true in a perfect world), but this assumption can break especially when additionally updated third party drivers are not correctly installed or were built incorrectly\&.
+.RE
+.PP
+\fB\-E\fR, \fB\-\-symvers\fR
+.RS 4
+When combined with the
+\fB\-e\fR
+option, this reports any symbol versions supplied by modules that do not match with the symbol versions provided by the kernel in its
+Module\&.symvers\&. This option is mutually incompatible with
+\fB\-F\fR\&.
+.RE
+.PP
+\fB\-F\fR, \fB\-\-filesyms \fR\fB\fISystem\&.map\fR\fR
+.RS 4
+Supplied with the
+System\&.map
+produced when the kernel was built, this allows the
+\fB\-e\fR
+option to report unresolved symbols\&. This option is mutually incompatible with
+\fB\-E\fR\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print the help message and exit\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-show\fR, \fB\-\-dry\-run\fR
+.RS 4
+This sends the resulting modules\&.dep and the various map files to standard output rather than writing them into the module directory\&.
+.RE
+.PP
+\fB\-P\fR
+.RS 4
+Some architectures prefix symbols with an extraneous character\&. This specifies a prefix character (for example \*(Aq_\*(Aq) to ignore\&.
+.RE
+.PP
+\fB\-v\fR, \fB\-\-verbose\fR
+.RS 4
+In verbose mode,
+\fBdepmod\fR
+will print (to stdout) all the symbols each module depends on and the module\*(Aqs file name which provides that symbol\&.
+.RE
+.PP
+\fB\-V\fR, \fB\-\-version\fR
+.RS 4
+Show version of program and exit\&. See below for caveats when run on older kernels\&.
+.RE
+.PP
+\fB\-w\fR
+.RS 4
+Warn on duplicate dependencies, aliases, symbol versions, etc\&.
+.RE
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2002, Rusty Russell, IBM Corporation\&. Portions Copyright Jon Masters, and others\&.
+.SH "SEE ALSO"
+.PP
+\fBdepmod.d\fR(5),
+\fBmodprobe\fR(8),
+\fBmodules.dep\fR(5)
+.SH "AUTHORS"
+.PP
+\fBJon Masters\fR <\&jcm@jonmasters\&.org\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBRobby Workman\fR <\&rworkman@slackware\&.com\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/devlink-dev.8 b/upstream/fedora-40/man8/devlink-dev.8
new file mode 100644
index 00000000..e9d091df
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-dev.8
@@ -0,0 +1,354 @@
+.TH DEVLINK\-DEV 8 "14 Mar 2016" "iproute2" "Linux"
+.SH NAME
+devlink-dev \- devlink device configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B dev
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-n\fR[\fIno-nice-names\fR] }
+
+.ti -8
+.B devlink dev show
+.RI "[ " DEV " ]"
+
+.ti -8
+.B devlink dev help
+
+.ti -8
+.B devlink dev eswitch set
+.I DEV
+[
+.BR mode " { " legacy " | " switchdev " } "
+] [
+.BR inline-mode " { " none " | " link " | " network " | " transport " } "
+] [
+.BR encap-mode " { " none " | " basic " } "
+]
+
+.ti -8
+.B devlink dev eswitch show
+.I DEV
+
+.ti -8
+.B devlink dev param set
+.I DEV
+.B name
+.I PARAMETER
+.B value
+.I VALUE
+.BR cmode " { " runtime " | " driverinit " | " permanent " } "
+
+.ti -8
+.B devlink dev param show
+[
+.I DEV
+.B name
+.I PARAMETER
+]
+
+.ti -8
+.B devlink dev reload
+.I DEV
+[
+.B netns
+.RI "{ " PID " | " NAME " | " ID " }"
+] [
+.BR action " { " driver_reinit " | " fw_activate " }"
+] [
+.B limit no_reset
+]
+
+.ti -8
+.B devlink dev info
+[
+.I DEV
+]
+
+.ti -8
+.B devlink dev flash
+.I DEV
+.B file
+.I PATH
+[
+.B target
+.I ID
+]
+
+.ti -8
+.B devlink dev selftests show
+[
+.I DEV
+]
+
+.ti -8
+.B devlink dev selftests run
+.I DEV
+[
+.B id
+.I ID...
+]
+
+.SH "DESCRIPTION"
+.SS devlink dev show - display devlink device attributes
+
+.PP
+.I "DEV"
+- specifies the devlink device to show.
+If this argument is omitted all devices are listed.
+
+.in +4
+Format is:
+.in +2
+BUS_NAME/BUS_ADDRESS
+
+.SS devlink dev eswitch show - display devlink device eswitch attributes
+.SS devlink dev eswitch set - sets devlink device eswitch attributes
+
+.TP
+.BR mode " { " legacy " | " switchdev " } "
+Set eswitch mode
+
+.I legacy
+- Legacy SRIOV
+
+.I switchdev
+- SRIOV switchdev offloads
+
+.TP
+.BR inline-mode " { " none " | " link " | " network " | " transport " } "
+Some HWs need the VF driver to put part of the packet headers on the TX descriptor so the e-switch can do proper matching and steering.
+
+.I none
+- None
+
+.I link
+- L2 mode
+
+.I network
+- L3 mode
+
+.I transport
+- L4 mode
+
+.TP
+.BR encap-mode " { " none " | " basic " } "
+Set eswitch encapsulation support
+
+.I none
+- Disable encapsulation support
+
+.I basic
+- Enable encapsulation support
+
+.SS devlink dev param set - set new value to devlink device configuration parameter
+
+.TP
+.BI name " PARAMETER"
+Specify parameter name to set.
+
+.TP
+.BI value " VALUE"
+New value to set.
+
+.TP
+.BR cmode " { " runtime " | " driverinit " | " permanent " } "
+Configuration mode in which the new value is set.
+
+.I runtime
+- Set new value while driver is running. This configuration mode doesn't require any reset to apply the new value.
+
+.I driverinit
+- Set new value which will be applied during driver initialization. This configuration mode requires restart driver by devlink reload command to apply the new value.
+
+.I permanent
+- New value is written to device's non-volatile memory. This configuration mode requires hard reset to apply the new value.
+
+.SS devlink dev param show - display devlink device supported configuration parameters attributes
+
+.B name
+.I PARAMETER
+Specify parameter name to show.
+If this argument is omitted all parameters supported by devlink devices are listed.
+
+.SS devlink dev reload - perform hot reload of the driver.
+
+.PP
+.I "DEV"
+- Specifies the devlink device to reload.
+
+.B netns
+.RI { " PID " | " NAME " | " ID " }
+- Specifies the network namespace to reload into, either by pid, name or id.
+
+.BR action " { " driver_reinit " | " fw_activate " }"
+- Specifies the reload action required.
+If this argument is omitted
+.I driver_reinit
+action will be used.
+Note that even though user asks for a specific action, the driver implementation
+might require to perform another action alongside with it. For example, some
+driver do not support driver reinitialization being performed without fw
+activation. Therefore, the devlink reload command returns the list of actions
+which were actrually performed.
+
+.I driver_reinit
+- Driver entities re-initialization, applying devlink-param and
+devlink-resource values.
+
+.I fw_activate
+- Activates new firmware if such image is stored and pending activation. If no
+limitation specified this action may involve firmware reset. If no new image
+pending this action will reload current firmware image.
+
+.B limit no_reset
+- Specifies limitation on reload action.
+If this argument is omitted limit is unspecified and the reload action is not
+limited. In such case driver implementation may include reset or downtime as
+needed to perform the actions.
+
+.I no_reset
+- No reset allowed, no down time allowed, no link flap and no configuration is
+lost.
+
+.SS devlink dev info - display device information.
+Display device information provided by the driver. This command can be used
+to query versions of the hardware components or device components which
+can't be updated (
+.I fixed
+) as well as device firmware which can be updated. For firmware components
+.I running
+displays the versions of firmware currently loaded into the device, while
+.I stored
+reports the versions in device's flash.
+.I Running
+and
+.I stored
+versions may differ after flash has been updated, but before reboot.
+
+.PP
+.I "DEV"
+- specifies the devlink device to show.
+If this argument is omitted all devices are listed.
+
+.SS devlink dev flash - write device's non-volatile memory.
+
+.PP
+.I "DEV"
+- specifies the devlink device to write to.
+
+.B file
+.I PATH
+- Path to the file which will be written into device's flash. The path needs
+to be relative to one of the directories searched by the kernel firmware loader,
+such as /lib/firmware.
+
+.B component
+.I NAME
+- If device stores multiple firmware images in non-volatile memory, this
+parameter may be used to indicate which firmware image should be written.
+The value of
+.I NAME
+should match the component names from
+.B "devlink dev info"
+and may be driver-dependent.
+
+.SS devlink dev selftests show - shows supported selftests on devlink device.
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+If this argument is omitted all selftests for devlink devices are listed.
+
+.SS devlink dev selftests run - runs selftests on devlink device.
+
+.PP
+.I "DEV"
+- specifies the devlink device to execute selftests.
+
+.B id
+.I ID...
+- The value of
+.I ID(s)
+should match the selftests shown in
+.B "devlink dev selftests show"
+to execute selftests on the devlink device.
+If this argument is omitted all selftests supported by devlink devices are executed.
+
+.SH "EXAMPLES"
+.PP
+devlink dev show
+.RS 4
+Shows the state of all devlink devices on the system.
+.RE
+.PP
+devlink dev show pci/0000:01:00.0
+.RS 4
+Shows the state of specified devlink device.
+.RE
+.PP
+devlink dev eswitch show pci/0000:01:00.0
+.RS 4
+Shows the eswitch mode of specified devlink device.
+.RE
+.PP
+devlink dev eswitch set pci/0000:01:00.0 mode switchdev
+.RS 4
+Sets the eswitch mode of specified devlink device to switchdev.
+.RE
+.PP
+devlink dev param show pci/0000:01:00.0 name max_macs
+.RS 4
+Shows the parameter max_macs attributes.
+.RE
+.PP
+devlink dev param set pci/0000:01:00.0 name internal_error_reset value true cmode runtime
+.RS 4
+Sets the parameter internal_error_reset of specified devlink device to true.
+.RE
+.PP
+devlink dev reload pci/0000:01:00.0
+.RS 4
+Performs hot reload of specified devlink device.
+.RE
+.PP
+devlink dev flash pci/0000:01:00.0 file firmware.bin
+.RS 4
+Flashes the specified devlink device with provided firmware file name. If the driver supports it, user gets updates about the flash status. For example:
+.br
+Preparing to flash
+.br
+Flashing 100%
+.br
+Flashing done
+.RE
+.PP
+devlink dev selftests show pci/0000:01:00.0
+.RS 4
+Shows the supported selftests by the devlink device.
+.RE
+.PP
+devlink dev selftests run pci/0000:01:00.0 id flash
+.RS 4
+Perform a flash test on the devlink device.
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-port (8),
+.BR devlink-sb (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Jiri Pirko <jiri@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-dpipe.8 b/upstream/fedora-40/man8/devlink-dpipe.8
new file mode 100644
index 00000000..3a4d2544
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-dpipe.8
@@ -0,0 +1,99 @@
+.TH DEVLINK\-DPIPE 8 "4 Apr 2020" "iproute2" "Linux"
+.SH NAME
+devlink-dpipe \- devlink dataplane pipeline visualization
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B dpipe
+.RB "{ " table " | " header " }"
+.RI "{ " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] }
+
+.ti -8
+.BI "devlink dpipe table show " DEV
+.RB "[ " name
+.IR TABLE_NAME " ]"
+
+.ti -8
+.BI "devlink dpipe table set " DEV
+.BI name " TABLE_NAME "
+
+.ti -8
+.BI "devlink dpipe table dump " DEV
+.BI name " TABLE_NAME "
+
+.ti -8
+.BI "devlink dpipe header show " DEV
+
+.ti -8
+.B devlink dpipe help
+
+.SH "DESCRIPTION"
+.SS devlink dpipe table show - display devlink dpipe table attributes
+
+.TP
+.BI name " TABLE_NAME"
+Specifies the table to operate on.
+
+.SS devlink dpipe table set - set devlink dpipe table attributes
+
+.TP
+.BI name " TABLE_NAME"
+Specifies the table to operate on.
+
+.SS devlink dpipe table dump - dump devlink dpipe table entries
+
+.TP
+.BI name " TABLE_NAME"
+Specifies the table to operate on.
+
+.SS devlink dpipe header show - display devlink dpipe header attributes
+
+.TP
+.BI name " TABLE_NAME"
+Specifies the table to operate on.
+
+.SH "EXAMPLES"
+.PP
+devlink dpipe table show pci/0000:01:00.0
+.RS 4
+Shows all dpipe tables on specified devlink device.
+.RE
+.PP
+devlink dpipe table show pci/0000:01:00.0 name mlxsw_erif
+.RS 4
+Shows mlxsw_erif dpipe table on specified devlink device.
+.RE
+.PP
+devlink dpipe table set pci/0000:01:00.0 name mlxsw_erif counters_enabled true
+.RS 4
+Turns on the counters on mlxsw_erif table.
+.RE
+.PP
+devlink dpipe table dump pci/0000:01:00.0 name mlxsw_erif
+.RS 4
+Dumps content of mlxsw_erif table.
+.RE
+.PP
+devlink dpipe header show pci/0000:01:00.0
+.RS 4
+Shows all dpipe headers on specified devlink device.
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Jiri Pirko <jiri@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-health.8 b/upstream/fedora-40/man8/devlink-health.8
new file mode 100644
index 00000000..975b8c75
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-health.8
@@ -0,0 +1,256 @@
+.TH DEVLINK\-HEALTH 8 "20 Feb 2019" "iproute2" "Linux"
+.SH NAME
+devlink-health \- devlink health reporting and recovery
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B health
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] }
+
+.ti -8
+.B devlink health show
+.RI "[ { " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI ""REPORTER " ] "
+
+.ti -8
+.B devlink health recover
+.RI "{ " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI "" REPORTER ""
+
+.ti -8
+.B devlink health diagnose
+.RI "{ " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI "" REPORTER ""
+
+.ti -8
+.B devlink health dump show
+.RI "{ " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI "" REPORTER ""
+
+.ti -8
+.BR "devlink health test"
+.RI "{ " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI "" REPORTER ""
+
+.ti -8
+.B devlink health dump clear
+.RI "{ " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI "" REPORTER ""
+
+.ti -8
+.B devlink health set
+.RI "{ " DEV " | " DEV/PORT_INDEX " }"
+.B reporter
+.RI "" REPORTER ""
+[
+.BI "grace_period " MSEC "
+] [
+.BR auto_recover " { " true " | " false " } "
+] [
+.BR auto_dump " { " true " | " false " } "
+]
+
+.ti -8
+.B devlink health help
+
+.SH "DESCRIPTION"
+.SS devlink health show - Show status and configuration on all supported reporters.
+Displays info about reporters registered on devlink devices and ports.
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+.br
+.I DEV/PORT_INDEX
+- specifies the devlink port.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on specified devlink device or port.
+
+.SS devlink health recover - Initiate a recovery operation on a reporter.
+This action performs a recovery and increases the recoveries counter on success.
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+.br
+.I DEV/PORT_INDEX
+- specifies the devlink port.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on specified devlink device or port.
+
+.SS devlink health diagnose - Retrieve diagnostics data on a reporter.
+
+.PP
+.I DEV
+- specifies the devlink device.
+.br
+.I DEV/PORT_INDEX
+- specifies the devlink port.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on specified devlink device or port.
+
+.SS devlink health test - Trigger a test event on a reporter.
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on the devlink device.
+
+.SS devlink health dump show - Display the last saved dump.
+
+.PD 0
+.P
+devlink health saves a single dump per reporter. If an dump is
+.P
+not already stored by the Devlink, this command will generate a new
+.P
+dump. The dump can be generated either automatically when a
+.P
+reporter reports on an error or manually at the user's request.
+.PD
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+.br
+.I DEV/PORT_INDEX
+- specifies the devlink port.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on specified devlink device or port.
+
+.SS devlink health dump clear - Delete the saved dump.
+Deleting the saved dump enables a generation of a new dump on
+.PD 0
+.P
+the next "devlink health dump show" command.
+.PD
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+.br
+.I DEV/PORT_INDEX
+- specifies the devlink port.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on specified devlink device or port.
+
+.SS devlink health set - Configure health reporter.
+Please note that some params are not supported on a reporter which
+doesn't support a recovery or dump method.
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+.br
+.I DEV/PORT_INDEX
+- specifies the devlink port.
+
+.PP
+.I "REPORTER"
+- specifies the reporter's name registered on specified devlink device or port.
+
+.TP
+.BI grace_period " MSEC "
+Time interval between consecutive auto recoveries.
+
+.TP
+.BR auto_recover " { " true " | " false " } "
+Indicates whether the devlink should execute automatic recover on error.
+
+.TP
+.BR auto_dump " { " true " | " false " } "
+Indicates whether the devlink should execute automatic dump on error.
+
+.SH "EXAMPLES"
+.PP
+devlink health show
+.RS 4
+List status and configuration of available reporters on devices and ports.
+.RE
+.PP
+devlink health show pci/0000:00:09.0/1 reporter tx
+.RS 4
+List status and configuration of tx reporter registered on port on pci/0000:00:09.0/1
+.RE
+.PP
+devlink health recover pci/0000:00:09.0 reporter fw_fatal
+.RS 4
+Initiate recovery on fw_fatal reporter registered on device on pci/0000:00:09.0.
+.RE
+.PP
+devlink health recover pci/0000:00:09.0/1 reporter tx
+.RS 4
+Initiate recovery on tx reporter registered on port on pci/0000:00:09.0/1.
+.RE
+.PP
+devlink health diagnose pci/0000:00:09.0 reporter fw
+.RS 4
+List diagnostics data on the specified device and reporter.
+.RE
+.PP
+devlink health dump show pci/0000:00:09.0/1 reporter tx
+.RS 4
+Display the last saved dump on the specified port and reporter.
+.RE
+.PP
+devlink health dump clear pci/0000:00:09.0/1 reporter tx
+.RS 4
+Delete saved dump on the specified port and reporter.
+.RE
+.PP
+devlink health set pci/0000:00:09.0 reporter fw_fatal grace_period 3500
+.RS 4
+Set time interval between auto recoveries to minimum of 3500 msec on
+the specified device and reporter.
+.RE
+.PP
+devlink health set pci/0000:00:09.0/1 reporter tx grace_period 3500
+.RS 4
+Set time interval between auto recoveries to minimum of 3500 msec on
+the specified port and reporter.
+.RE
+.PP
+devlink health set pci/0000:00:09.0 reporter fw_fatal auto_recover false
+.RS 4
+Turn off auto recovery on the specified device and reporter.
+
+.RE
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-port (8),
+.BR devlink-param (8),
+.BR devlink-region (8),
+.br
+
+.SH AUTHOR
+Aya Levin <ayal@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-lc.8 b/upstream/fedora-40/man8/devlink-lc.8
new file mode 100644
index 00000000..b588cbc0
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-lc.8
@@ -0,0 +1,101 @@
+.TH DEVLINK\-LC 8 "20 Apr 2022" "iproute2" "Linux"
+.SH NAME
+devlink-lc \- devlink line card configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B lc
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] }
+
+.ti -8
+.B "devlink lc set"
+.IB DEV " lc " LC_INDEX
+.RB [ " type " {
+.IR LC_TYPE " | "
+.BR notype " } ] "
+
+.ti -8
+.B "devlink lc show"
+.RI "[ " DEV " [ "
+.BI lc " LC_INDEX
+] ]
+
+.ti -8
+.B devlink lc help
+
+.SH "DESCRIPTION"
+.SS devlink lc set - change line card attributes
+
+.PP
+.TP
+.I "DEV"
+Specifies the devlink device to operate on.
+
+.in +4
+Format is:
+.in +2
+BUS_NAME/BUS_ADDRESS
+
+.TP
+.BI lc " LC_INDEX "
+Specifies index of a line card slot to set.
+
+.TP
+.BR type " { "
+.IR LC_TYPE " | "
+.BR notype " } "
+Type of line card to provision. Each driver provides a list of supported line card types which is shown in the output of
+.BR "devlink lc show " command.
+
+.SS devlink lc show - display line card attributes
+
+.PP
+.TP
+.I "DEV"
+.RB "Specifies the devlink device to operate on. If this and " lc " arguments are omitted all line cards of all devices are listed.
+
+.TP
+.BI lc " LC_INDEX "
+Specifies index of a line card slot to show.
+
+.SH "EXAMPLES"
+.PP
+devlink lc show
+.RS 4
+Shows the state of all line cards on the system.
+.RE
+.PP
+devlink lc show pci/0000:01:00.0 lc 1
+.RS 4
+Shows the state of line card with index 1.
+.RE
+.PP
+devlink lc set pci/0000:01:00.0 lc 1 type 16x100G
+.RS 4
+.RI "Sets type of specified line card to type " 16x100G "."
+.RE
+.PP
+devlink lc set pci/0000:01:00.0 lc 1 notype
+.RS 4
+Clears provisioning on a line card.
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-port (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Jiri Pirko <jiri@nvidia.com>
diff --git a/upstream/fedora-40/man8/devlink-monitor.8 b/upstream/fedora-40/man8/devlink-monitor.8
new file mode 100644
index 00000000..de351f32
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-monitor.8
@@ -0,0 +1,39 @@
+.TH DEVLINK\-MONITOR 8 "14 Mar 2016" "iproute2" "Linux"
+.SH "NAME"
+devlink-monitor \- state monitoring
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.BR "devlink monitor" " [ " all " |"
+.IR OBJECT-LIST " ]"
+.sp
+
+.SH DESCRIPTION
+The
+.B devlink
+utility can monitor the state of devlink devices and ports
+continuously. This option has a slightly different format. Namely, the
+.B monitor
+command is the first in the command line and then the object list.
+
+.I OBJECT-LIST
+is the list of object types that we want to monitor.
+It may contain
+.BR dev ", " port ", " health ", " trap ", " trap-group ", " trap-policer .
+
+.B devlink
+opens Devlink Netlink socket, listens on it and dumps state changes.
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-sb (8),
+.BR devlink-port (8),
+.BR devlink-health (8),
+.BR devlink-trap (8),
+.br
+
+.SH AUTHOR
+Jiri Pirko <jiri@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-port.8 b/upstream/fedora-40/man8/devlink-port.8
new file mode 100644
index 00000000..70d8837e
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-port.8
@@ -0,0 +1,417 @@
+.TH DEVLINK\-PORT 8 "14 Mar 2016" "iproute2" "Linux"
+.SH NAME
+devlink-port \- devlink port configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B port
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-n\fR[\fIno-nice-names\fR] }
+
+.ti -8
+.BR "devlink port set "
+.IR DEV/PORT_INDEX
+.RI "[ "
+.BR type " { " eth " | " ib " | " auto " }"
+.RI "]"
+
+.ti -8
+.BR "devlink port split "
+.IR DEV/PORT_INDEX
+.BR count
+.IR COUNT
+
+.ti -8
+.BR "devlink port unsplit "
+.IR DEV/PORT_INDEX
+
+.ti -8
+.B devlink port show
+.RI "[ " DEV/PORT_INDEX " ]"
+
+.ti -8
+.B devlink port health
+.RI "{ " show " | " recover " | " diagnose " | " dump " | " set " }"
+
+.ti -8
+.BI "devlink port add"
+.RB "{"
+.IR "DEV | DEV/PORT_INDEX"
+.RB "} "
+.RB "[ " flavour
+.IR FLAVOUR " ]"
+.RB "[ " pfnum
+.IR PFNUMBER " ]"
+.RB "[ " sfnum
+.IR SFNUMBER " ]"
+.RB "[ " controller
+.IR CNUM " ]"
+.br
+
+.ti -8
+.B devlink port del
+.IR DEV/PORT_INDEX
+
+.ti -8
+.BR "devlink port function set "
+.IR DEV/PORT_INDEX
+.RI "[ "
+.BR "hw_addr "
+.RI "ADDR ]"
+.RI "[ "
+.BR state " { " active " | " inactive " }"
+.RI "]"
+.RI "[ "
+.BR roce " { " enable " | " disable " }"
+.RI "]"
+.RI "[ "
+.BR migratable " { " enable " | " disable " }"
+.RI "]"
+.RI "[ "
+.BR ipsec_crypto " { " enable " | " disable " }"
+.RI "]"
+.RI "[ "
+.BR ipsec_packet " { " enable " | " disable " }"
+.RI "]"
+
+.ti -8
+.BR "devlink port function rate "
+.RI "{ " show " | " set " | " add " | " del " | " help " }"
+
+.ti -8
+.B devlink dev param set
+.I DEV/PORT_INDEX
+.B name
+.I PARAMETER
+.B value
+.I VALUE
+.BR cmode " { " runtime " | " driverinit " | " permanent " } "
+
+.ti -8
+.B devlink dev param show
+[
+.I DEV/PORT_INDEX
+.B name
+.I PARAMETER
+]
+
+.ti -8
+.B devlink port help
+
+.SH "DESCRIPTION"
+.SS devlink port set - change devlink port attributes
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to operate on.
+
+.in +4
+Format is:
+.in +2
+BUS_NAME/BUS_ADDRESS/PORT_INDEX
+
+.TP
+.BR type " { " eth " | " ib " | " auto " } "
+set port type
+
+.I eth
+- Ethernet
+
+.I ib
+- Infiniband
+
+.I auto
+- autoselect
+
+.SS devlink port split - split devlink port into more
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to operate on.
+
+.TP
+.BI count " COUNT"
+number of ports to split to.
+
+.SS devlink port unsplit - unsplit previously split devlink port
+Could be performed on any split port of the same split group.
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to operate on.
+
+.SS devlink port show - display devlink port attributes
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to show.
+If this argument is omitted all ports are listed.
+
+.SS devlink port health - devlink health reporting and recovery
+Is an alias for
+.BR devlink-health (8).
+
+.ti -8
+.SS devlink port add - add a devlink port
+.PP
+.I "DEV"
+- specifies the devlink device to operate on. or
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port index to use for the requested new port.
+This is optional. When omitted, driver allocates unique port index.
+
+.TP
+.BR flavour " { " pcipf " | " pcisf " } "
+set port flavour
+
+.I pcipf
+- PCI PF port
+
+.I pcisf
+- PCI SF port
+
+.TP
+.BI pfnum " PFNUMBER "
+Specifies PCI pfnumber to use on which a SF device to create
+
+.TP
+.BI sfnum " SFNUMBER "
+Specifies sfnumber to assign to the device of the SF.
+This field is optional for those devices which supports auto assignment of the
+SF number.
+
+.TP
+.BI controller " CNUM "
+Specifies controller number for which the SF port is created.
+This field is optional. It is used only when SF port is created for the
+external controller.
+
+.ti -8
+.SS devlink port function set - Set the port function attribute(s).
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to operate on.
+
+.TP
+.BI hw_addr " ADDR"
+Hardware address of the function to set. This is a Ethernet MAC address when
+port type is Ethernet.
+
+.TP
+.BR state " { " active " | " inactive " } "
+New state of the function to change to.
+
+.I active
+- Once configuration of the function is done, activate the function.
+
+.I inactive
+- To inactivate the function and its device(s), set to inactive.
+
+.TP
+.BR roce " { " enable " | " disable " } "
+Set the RoCE capability of the function.
+
+.TP
+.BR migratable " { " enable " | " disable " } "
+Set the migratable capability of the function.
+
+.TP
+.BR ipsec_crypto " { " enable " | " disable " } "
+Set the IPsec crypto offload capability of the function. Controls XFRM state
+crypto operation (Encrypt/Decrypt) offload.
+
+.TP
+.BR ipsec_packet " { " enable " | " disable " } "
+Set the IPsec packet offload capability of the function. Controls XFRM state
+and policy offload (Encrypt/Decrypt operation and IPsec encapsulation).
+
+.ti -8
+.SS devlink port del - delete a devlink port
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to delete.
+
+.ti -8
+.SS devlink port param set - set new value to devlink port configuration parameter
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to operate on.
+
+.TP
+.BI name " PARAMETER"
+Specify parameter name to set.
+
+.TP
+.BI value " VALUE"
+New value to set.
+
+.TP
+.BR cmode " { " runtime " | " driverinit " | " permanent " } "
+Configuration mode in which the new value is set.
+
+.I runtime
+- Set new value while driver is running. This configuration mode doesn't require any reset to apply the new value.
+
+.I driverinit
+- Set new value which will be applied during driver initialization. This configuration mode requires restart driver by devlink reload command to apply the new value.
+
+.I permanent
+- New value is written to device's non-volatile memory. This configuration mode requires hard reset to apply the new value.
+
+.SS devlink port param show - display devlink port supported configuration parameters attributes
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to operate on.
+
+.B name
+.I PARAMETER
+Specify parameter name to show.
+If this argument, as well as port index, are omitted - all parameters supported by devlink device ports are listed.
+
+.SS devlink port function rate - manage devlink rate objects
+Is an alias for
+.BR devlink-rate (8).
+
+.SH "EXAMPLES"
+.PP
+devlink port show
+.RS 4
+Shows the state of all devlink ports on the system.
+.RE
+.PP
+devlink port show pci/0000:01:00.0/1
+.RS 4
+Shows the state of specified devlink port.
+.RE
+.PP
+devlink port set pci/0000:01:00.0/1 type eth
+.RS 4
+Set type of specified devlink port to Ethernet.
+.RE
+.PP
+devlink port split pci/0000:01:00.0/1 count 4
+.RS 4
+Split the specified devlink port into four ports.
+.RE
+.PP
+devlink port unsplit pci/0000:01:00.0/1
+.RS 4
+Unplit the specified previously split devlink port.
+.RE
+.PP
+devlink port health show
+.RS 4
+Shows status and configuration of all supported reporters registered on all devlink ports.
+.RE
+.PP
+devlink port health show pci/0000:01:00.0/1 reporter tx
+.RS 4
+Shows status and configuration of tx reporter registered on pci/0000:01:00.0/1 devlink port.
+.RE
+.PP
+devlink port add pci/0000:06:00.0 flavour pcisf pfnum 0 sfnum 88
+.RS 4
+Add a devlink port of flavour PCI SF on PCI PF having number 0 with SF number 88.
+To make use of the function an example sequence is to add a port, configure the
+function attribute and activate the function. Once function usage is completed,
+inactivate the function and finally delete the port. When there is desire to
+reuse the port without deletion, it can be reconfigured and activated again when
+function is in inactive state and function's operational state is detached.
+.RE
+.PP
+devlink port del pci/0000:06:00.0/1
+.RS 4
+Delete previously created devlink port. It is recommended to first deactivate
+the function if the function supports state management.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 hw_addr 00:00:00:11:22:33
+.RS 4
+Configure hardware address of the PCI function represented by devlink port.
+If the port supports change in function state, hardware address must be configured
+before activating the function.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 state active
+.RS 4
+Activate the function. This will initiate the function enumeration and driver loading.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 state inactive
+.RS 4
+Deactivate the function. This will initiate the function teardown which results
+in driver unload and device removal.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 roce enable
+.RS 4
+This will enable the RoCE functionality of the function.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 migratable enable
+.RS 4
+This will enable the migratable functionality of the function.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 ipsec_crypto enable
+.RS 4
+This will enable the IPsec crypto offload functionality of the function.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 ipsec_packet enable
+.RS 4
+This will enable the IPsec packet offload functionality of the function.
+.RE
+.PP
+devlink port function set pci/0000:01:00.0/1 hw_addr 00:00:00:11:22:33 state active
+.RS 4
+Configure hardware address and also active the function. When a function is
+activated together with other configuration in a single command, all the
+configuration is applied first before changing the state to active.
+.RE
+.PP
+devlink dev param show
+.RS 4
+Shows (dumps) all the port parameters across all the devices registered in the devlink.
+.RE
+.PP
+devlink dev param set pci/0000:01:00.0/1 name internal_error_reset value true cmode runtime
+.RS 4
+Sets the parameter internal_error_reset of specified devlink port (#1) to true.
+.RE
+.PP
+devlink port add pci/0000:06:00.0 flavour pcisf pfnum 0 sfnum 88 controller 1
+.RS 4
+Add a devlink port of flavour PCI SF on controller 1 which has PCI PF of number
+0 with SF number 88. To make use of the function an example sequence is to add
+a port, configure the function attribute and activate the function. Once
+the function usage is completed, deactivate the function and finally delete
+the port. When there is desire to reuse the port without deletion, it can be
+reconfigured and activated again when function is in inactive state and
+function's operational state is detached.
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-sb (8),
+.BR devlink-monitor (8),
+.BR devlink-health (8),
+.br
+
+.SH AUTHOR
+Jiri Pirko <jiri@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-rate.8 b/upstream/fedora-40/man8/devlink-rate.8
new file mode 100644
index 00000000..bcec3c31
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-rate.8
@@ -0,0 +1,292 @@
+.TH DEVLINK\-RATE 8 "12 Mar 2021" "iproute2" "Linux"
+.SH NAME
+devlink-rate \- devlink rate management
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B port function rate
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+.BR -j [ \fIson "] | " -p [ \fIretty "] | " -i [ \fIec "] }"
+
+.ti -8
+.B devlink port function rate show
+.RI "[ { " DEV/PORT_INDEX " | " DEV/NODE_NAME " } ]"
+
+.ti -8
+.B devlink port function rate set
+.RI "{ " DEV/PORT_INDEX " | " DEV/NODE_NAME " } "
+.RB [ " tx_share \fIVALUE " ]
+.RB [ " tx_max \fIVALUE " ]
+.RB [ " tx_priority \fIN " ]
+.RB [ " tx_weight \fIN " ]
+.RB "[ {" " parent \fINODE_NAME " | " noparent " "} ]"
+
+.ti -8
+.BI "devlink port function rate add " DEV/NODE_NAME
+.RB [ " tx_share \fIVALUE " ]
+.RB [ " tx_max \fIVALUE " ]
+.RB [ " tx_priority \fIN " ]
+.RB [ " tx_weight \fIN " ]
+.RB "[ {" " parent \fINODE_NAME " | " noparent " "} ]"
+
+.ti -8
+.BI "devlink port function rate del " DEV/NODE_NAME
+
+.ti -8
+.B devlink port function rate help
+
+.SH "DESCRIPTION"
+
+.SS devlink port function rate show - display rate objects.
+Displays specified rate object or, if not specified, all rate objects. Rate
+object can be presented by one of the two types:
+.TP 8
+.B leaf
+Represents a single devlink port; created/destroyed by the driver and bound to
+the devlink port. As example, some driver may create leaf rate object for every
+devlink port associated with VF. Since leaf have 1to1 mapping to it's devlink
+port, in user space it is referred as corresponding devlink port
+\fIDEV/PORT_INDEX\fR;
+.TP 8
+.B node
+Represents a group of rate objects; created/deleted by the user (see command
+below) and bound to the devlink device rather then to the devlink port. In
+userspace it is referred as \fIDEV/NODE_NAME\fR, where node name can be any,
+except decimal number, to avoid collisions with leafs.
+.PP
+Command output show rate object identifier, it's type and rate values along with
+parent node name. Rate values printed in SI units which are more suitable to
+represent specific value. To print values in IEC units \fB-i\fR switch is
+used. JSON (\fB-j\fR) output always print rate values in bytes per second. Zero
+rate values means "unlimited" rates and omitted in output, as well as parent
+node name.
+
+.SS devlink port function rate set - set rate object parameters.
+Allows set rate object's parameters. If any parameter specified multiple times
+the last occurrence is used.
+.PP
+.I DEV/PORT_INDEX
+- specifies devlink leaf rate object.
+.br
+.I DEV/NODE_NAME
+- specifies devlink node rate object.
+.PP
+.BI tx_share " VALUE"
+- specifies minimal tx rate value shared among all rate objects. If rate object
+is a part of some rate group, then this value shared with rate objects of this
+rate group.
+.PP
+.BI tx_max " VALUE"
+- specifies maximum tx rate value.
+.PP
+.BI tx_priority " N"
+- allows for usage of strict priority arbiter among siblings. This arbitration
+scheme attempts to schedule nodes based on their priority as long as the nodes
+remain within their bandwidth limit. The higher the priority the higher the
+probability that the node will get selected for scheduling.
+.PP
+.BI tx_weight " N"
+- allows for usage of Weighted Fair Queuing arbitration scheme among siblings.
+This arbitration scheme can be used simultaneously with the strict priority.
+As a node is configured with a higher rate it gets more BW relative to it's
+siblings. Values are relative like a percentage points, they basically tell
+how much BW should node take relative to it's siblings.
+.PP
+.TP 8
+.I VALUE
+These parameter accept a floating point number, possibly followed by either a
+unit (both SI and IEC units supported).
+.RS
+.TP
+bit or a bare number
+Bits per second
+.TP
+kbit
+Kilobits per second
+.TP
+mbit
+Megabits per second
+.TP
+gbit
+Gigabits per second
+.TP
+tbit
+Terabits per second
+.TP
+bps
+Bytes per second
+.TP
+kbps
+Kilobytes per second
+.TP
+mbps
+Megabytes per second
+.TP
+gbps
+Gigabytes per second
+.TP
+tbps
+Terabytes per second
+.P
+To specify in IEC units, replace the SI prefix (k-, m-, g-, t-) with IEC prefix
+(ki-, mi-, gi- and ti-) respectively. Input is case-insensitive.
+.RE
+.PP
+.TP 8
+.I N
+These parameter accept integer meaning weight or priority of a node.
+.PP
+.BI parent " NODE_NAME \fR| " noparent
+- set rate object parent to existing node with name \fINODE_NAME\fR or unset
+parent. Rate limits of the parent node applied to all it's children. Actual
+behaviour is details of driver's implementation. Setting parent to empty ("")
+name due to the kernel logic threated as parent unset.
+
+.SS devlink port function rate add - create node rate object with specified parameters.
+Creates rate object of type node and sets parameters. Parameters same as for the
+"set" command.
+.PP
+.I DEV/NODE_NAME
+- specifies the devlink node rate object to create.
+
+.SS devlink port function rate del - delete node rate object
+Delete specified devlink node rate object. Node can't be deleted if there is any
+child, user must explicitly unset the parent.
+.PP
+.I DEV/NODE_NAME
+- specifies devlink node rate object to delete.
+
+.SS devlink port function rate help - display usage information
+Display devlink rate usage information
+
+.SH "EXAMPLES"
+
+.PP
+\fB*\fR Display all rate objects:
+.RS 4
+.PP
+# devlink port function rate show
+.br
+pci/0000:03:00.0/1 type leaf parent some_group
+.br
+pci/0000:03:00.0/2 type leaf tx_share 12Mbit
+.br
+pci/0000:03:00.0/some_group type node tx_share 1Gbps tx_max 5Gbps
+.RE
+
+.PP
+\fB*\fR Display leaf rate object bound to the 1st devlink port of the
+pci/0000:03:00.0 device:
+.RS 4
+.PP
+# devlink port function rate show pci/0000:03:00.0/1
+.br
+pci/0000:03:00.0/1 type leaf
+.br
+.RE
+
+.PP
+\fB*\fR Display leaf rate object rate values using IEC units:
+.RS 4
+.PP
+# devlink -i port function rate show pci/0000:03:00.0/2
+.br
+pci/0000:03:00.0/2 type leaf 11718Kibit
+.br
+.RE
+
+.PP
+\fB*\fR Display node rate object with name some_group of the pci/0000:03:00.0 device:
+.RS 4
+.PP
+# devlink port function rate show pci/0000:03:00.0/some_group
+.br
+pci/0000:03:00.0/some_group type node
+.br
+.RE
+
+.PP
+\fB*\fR Display pci/0000:03:00.0/2 leaf rate object as pretty JSON output:
+.RS 4
+.PP
+# devlink -jp port function rate show pci/0000:03:00.0/2
+.br
+{
+.br
+ "rate": {
+.br
+ "pci/0000:03:00.0/2": {
+.br
+ "type": "leaf",
+.br
+ "tx_share": 1500000
+.br
+ }
+.br
+ }
+.br
+}
+.RE
+
+.PP
+\fB*\fR Create node rate object with name "1st_group" on pci/0000:03:00.0 device:
+.RS 4
+.PP
+# devlink port function rate add pci/0000:03:00.0/1st_group
+.RE
+
+.PP
+\fB*\fR Create node rate object with specified parameters:
+.RS 4
+.PP
+# devlink port function rate add pci/0000:03:00.0/2nd_group \\
+.br
+ tx_share 10Mbit tx_max 30Mbit parent 1st_group
+.RE
+
+.PP
+\fB*\fR Set parameters to the specified leaf rate object:
+.RS 4
+.PP
+# devlink port function rate set pci/0000:03:00.0/1 \\
+.br
+ tx_share 2Mbit tx_max 10Mbit
+.RE
+
+.PP
+\fB*\fR Set leaf's parent to "1st_group":
+.RS 4
+.PP
+# devlink port function rate set pci/0000:03:00.0/1 parent 1st_group
+.RE
+
+.PP
+\fB*\fR Unset leaf's parent:
+.RS 4
+.PP
+# devlink port function rate set pci/0000:03:00.0/1 noparent
+.RE
+
+.PP
+\fB*\fR Delete node rate object:
+.RS 4
+.PP
+# devlink port function rate del pci/0000:03:00.0/2nd_group
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-port (8)
+.br
+
+.SH AUTHOR
+Dmytro Linkin <dlinkin@nvidia.com>
diff --git a/upstream/fedora-40/man8/devlink-region.8 b/upstream/fedora-40/man8/devlink-region.8
new file mode 100644
index 00000000..b7067961
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-region.8
@@ -0,0 +1,156 @@
+.TH DEVLINK\-REGION 8 "10 Jan 2018" "iproute2" "Linux"
+.SH NAME
+devlink-region \- devlink address region access
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B region
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-n\fR[\fIno-nice-names\fR] }
+
+.ti -8
+.BR "devlink region show"
+.RI "[ " DEV/REGION " ]"
+
+.ti -8
+.BR "devlink region new"
+.RI "" DEV/REGION ""
+.BR "[ "
+.BR "snapshot"
+.RI "" SNAPSHOT_ID ""
+.BR "]"
+
+.ti -8
+.BR "devlink region del"
+.RI "" DEV/REGION ""
+.BR "snapshot"
+.RI "" SNAPSHOT_ID ""
+
+.ti -8
+.BR "devlink region dump"
+.RI "" DEV/REGION ""
+.BR "snapshot"
+.RI "" SNAPSHOT_ID ""
+
+.ti -8
+.BR "devlink region read"
+.RI "" DEV/REGION ""
+.BR "[ "
+.BR "snapshot"
+.RI "" SNAPSHOT_ID ""
+.BR "]"
+.BR "address"
+.RI "" ADDRESS "
+.BR "length"
+.RI "" LENGTH ""
+
+.ti -8
+.B devlink region help
+
+.SH "DESCRIPTION"
+.SS devlink region show - Show all supported address regions names, snapshots and sizes
+
+.PP
+.I "DEV/REGION"
+- specifies the devlink device and address-region to query.
+
+.SS devlink region new - Create a snapshot specified by address-region name and snapshot ID
+
+.PP
+.I "DEV/REGION"
+- specifies the devlink device and address-region to snapshot
+
+.PP
+snapshot
+.I "SNAPSHOT_ID"
+- optionally specifies the snapshot ID to assign. If not specified, devlink will assign a unique ID to the snapshot.
+
+.SS devlink region del - Delete a snapshot specified by address-region name and snapshot ID
+
+.PP
+.I "DEV/REGION"
+- specifies the devlink device and address-region to delete the snapshot from
+
+.PP
+snapshot
+.I "SNAPSHOT_ID"
+- specifies the snapshot ID to delete
+
+.SS devlink region dump - Dump all the available data from a region or from snapshot of a region
+
+.PP
+.I "DEV/REGION"
+- specifies the device and address-region to dump from.
+
+.PP
+snapshot
+.I "SNAPSHOT_ID"
+- specifies the snapshot-id of the region to dump.
+
+.SS devlink region read - Read from a specific region address for a given length
+
+.PP
+.I "DEV/REGION"
+- specifies the device and address-region to read from.
+
+.PP
+snapshot
+.I "SNAPSHOT_ID"
+- specifies the snapshot-id of the region to read.
+
+.PP
+address
+.I "ADDRESS"
+- specifies the address to read from.
+
+.PP
+length
+.I "LENGTH"
+- specifies the length of data to read.
+
+.SH "EXAMPLES"
+.PP
+devlink region show
+.RS 4
+List available address regions and snapshot.
+.RE
+.PP
+devlink region new pci/0000:00:05.0/cr-space
+.RS 4
+Create a new snapshot from cr-space address region from device pci/0000:00:05.0.
+.RE
+.PP
+devlink region del pci/0000:00:05.0/cr-space snapshot 1
+.RS 4
+Delete snapshot id 1 from cr-space address region from device pci/0000:00:05.0.
+.RE
+.PP
+devlink region dump pci/0000:00:05.0/cr-space snapshot 1
+.RS 4
+Dump the snapshot taken from cr-space address region with ID 1
+.RE
+.PP
+devlink region read pci/0000:00:05.0/cr-space snapshot 1 address 0x10 length 16
+.RS 4
+Read from address 0x10, 16 Bytes of snapshot ID 1 taken from cr-space address region
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-port (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Alex Vesker <valex@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-resource.8 b/upstream/fedora-40/man8/devlink-resource.8
new file mode 100644
index 00000000..8c315807
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-resource.8
@@ -0,0 +1,79 @@
+.TH DEVLINK\-RESOURCE 8 "11 Feb 2018" "iproute2" "Linux"
+.SH NAME
+devlink-resource \- devlink device resource configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B resource
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-v\fR[\fIerbose\fR] }
+
+.ti -8
+.B devlink resource show
+.IR DEV
+
+.ti -8
+.B devlink resource help
+
+.ti -8
+.BR "devlink resource set"
+.IR DEV
+.BI path " RESOURCE_PATH"
+.BI size " RESOURCE_SIZE"
+
+.SH "DESCRIPTION"
+.SS devlink resource show - display devlink device's resosources
+
+.PP
+.I "DEV"
+- specifies the devlink device to show.
+
+.in +4
+Format is:
+.in +2
+BUS_NAME/BUS_ADDRESS
+
+.SS devlink resource set - sets resource size of specific resource
+
+.PP
+.I "DEV"
+- specifies the devlink device.
+
+.TP
+.BI path " RESOURCE_PATH"
+Resource's path.
+
+.TP
+.BI size " RESOURCE_SIZE"
+The new resource's size.
+
+.SH "EXAMPLES"
+.PP
+devlink resource show pci/0000:01:00.0
+.RS 4
+Shows the resources of the specified devlink device.
+.RE
+.PP
+devlink resource set pci/0000:01:00.0 /kvd/linear 98304
+.RS 4
+Sets the size of the specified resource for the specified devlink device.
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-port (8),
+.BR devlink-sb (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Arkadi Sharshevsky <arkadis@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-sb.8 b/upstream/fedora-40/man8/devlink-sb.8
new file mode 100644
index 00000000..5a5a9bb9
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-sb.8
@@ -0,0 +1,324 @@
+.TH DEVLINK\-SB 8 "14 Apr 2016" "iproute2" "Linux"
+.SH NAME
+devlink-sb \- devlink shared buffer configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B sb
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-n\fR[\fIno-nice-names\fR] }
+
+.ti -8
+.BR "devlink sb show "
+.RI "[ " DEV " [ "
+.B sb
+.IR SB_INDEX " ] ]"
+
+.ti -8
+.BR "devlink sb pool show "
+.RI "[ " DEV " [ "
+.B sb
+.IR SB_INDEX " ] "
+.br
+.B pool
+.IR POOL_INDEX " ]"
+
+.ti -8
+.BI "devlink sb pool set " DEV "
+.RB "[ " sb
+.IR SB_INDEX " ] "
+.br
+.BI pool " POOL_INDEX "
+.br
+.BI size " POOL_SIZE "
+.br
+.BR thtype " { " static " | " dynamic " }"
+
+.ti -8
+.BR "devlink sb port pool show "
+.RI "[ " DEV/PORT_INDEX " [ "
+.B sb
+.IR SB_INDEX " ] "
+.br
+.B pool
+.IR POOL_INDEX " ]"
+
+.ti -8
+.BI "devlink sb port pool set " DEV/PORT_INDEX "
+.RB "[ " sb
+.IR SB_INDEX " ] "
+.br
+.BI pool " POOL_INDEX "
+.br
+.BI th " THRESHOLD "
+
+.ti -8
+.BR "devlink sb tc bind show "
+.RI "[ " DEV/PORT_INDEX " [ "
+.B sb
+.IR SB_INDEX " ] "
+.br
+.BI tc " TC_INDEX "
+.br
+.B type
+.RB "{ " ingress " | " egress " } ]"
+
+.ti -8
+.BI "devlink sb tc bind set " DEV/PORT_INDEX "
+.RB "[ " sb
+.IR SB_INDEX " ] "
+.br
+.BI tc " TC_INDEX "
+.br
+.BR type " { " ingress " | " egress " }"
+.br
+.BI pool " POOL_INDEX "
+.br
+.BI th " THRESHOLD "
+
+.ti -8
+.BR "devlink sb occupancy show "
+.RI "{ " DEV " | " DEV/PORT_INDEX " } [ "
+.B sb
+.IR SB_INDEX " ] "
+
+.ti -8
+.BR "devlink sb occupancy snapshot "
+.IR DEV " [ "
+.B sb
+.IR SB_INDEX " ]"
+
+.ti -8
+.BR "devlink sb occupancy clearmax "
+.IR DEV " [ "
+.B sb
+.IR SB_INDEX " ]"
+
+.ti -8
+.B devlink sb help
+
+.SH "DESCRIPTION"
+.SS devlink sb show - display available shared buffers and their attributes
+
+.PP
+.I "DEV"
+- specifies the devlink device to show shared buffers.
+If this argument is omitted all shared buffers of all devices are listed.
+
+.PP
+.I "SB_INDEX"
+- specifies the shared buffer.
+If this argument is omitted shared buffer with index 0 is selected.
+Behaviour of this argument it the same for every command.
+
+.SS devlink sb pool show - display available pools and their attributes
+
+.PP
+.I "DEV"
+- specifies the devlink device to show pools.
+If this argument is omitted all pools of all devices are listed.
+
+Display available pools listing their
+.B type, size, thtype
+and
+.B cell_size. cell_size
+is the allocation granularity of memory within the shared buffer. Drivers
+may round up, round down or reject
+.B size
+passed to the set command if it is not multiple of
+.B cell_size.
+
+.SS devlink sb pool set - set attributes of pool
+
+.PP
+.I "DEV"
+- specifies the devlink device to set pool.
+
+.TP
+.BI size " POOL_SIZE"
+size of the pool in Bytes.
+
+.TP
+.BR thtype " { " static " | " dynamic " } "
+pool threshold type.
+
+.I static
+- Threshold values for the pool will be passed in Bytes.
+
+.I dynamic
+- Threshold values ("to_alpha") for the pool will be used to compute alpha parameter according to formula:
+.br
+.in +16
+alpha = 2 ^ (to_alpha - 10)
+.in -16
+
+.in +10
+The range of the passed value is between 0 to 20. The computed alpha is used to determine the maximum usage of the flow:
+.in -10
+.br
+.in +16
+max_usage = alpha / (1 + alpha) * Free_Buffer
+.in -16
+
+.SS devlink sb port pool show - display port-pool combinations and threshold for each
+.I "DEV/PORT_INDEX"
+- specifies the devlink port.
+
+.TP
+.BI pool " POOL_INDEX"
+pool index.
+
+.SS devlink sb port pool set - set port-pool threshold
+.I "DEV/PORT_INDEX"
+- specifies the devlink port.
+
+.TP
+.BI pool " POOL_INDEX"
+pool index.
+
+.TP
+.BI th " THRESHOLD"
+threshold value. Type of the value is either Bytes or "to_alpha", depends on
+.B thtype
+set for the pool.
+
+.SS devlink sb tc bind show - display port-TC to pool bindings and threshold for each
+
+.I "DEV/PORT_INDEX"
+- specifies the devlink port.
+
+.TP
+.BI tc " TC_INDEX"
+index of either ingress or egress TC, usually in range 0 to 8 (depends on device).
+
+.TP
+.BR type " { " ingress " | " egress " } "
+TC type.
+
+.SS devlink sb tc bind set - set port-TC to pool binding with specified threshold
+
+.I "DEV/PORT_INDEX"
+- specifies the devlink port.
+
+.TP
+.BI tc " TC_INDEX"
+index of either ingress or egress TC, usually in range 0 to 8 (depends on device).
+
+.TP
+.BR type " { " ingress " | " egress " } "
+TC type.
+
+.TP
+.BI pool " POOL_INDEX"
+index of pool to bind this to.
+
+.TP
+.BI th " THRESHOLD"
+threshold value. Type of the value is either Bytes or "to_alpha", depends on
+.B thtype
+set for the pool.
+
+.SS devlink sb occupancy show - display shared buffer occupancy values for device or port
+
+.PP
+This command is used to browse shared buffer occupancy values. Values are showed for every port-pool combination as well as for all port-TC combinations (with pool this port-TC is bound to). Format of value is:
+.br
+.in +16
+current_value/max_value
+.in -16
+Note that before showing values, one has to issue
+.B occupancy snapshot
+command first.
+
+.PP
+.I "DEV"
+- specifies the devlink device to show occupancy values for.
+
+.I "DEV/PORT_INDEX"
+- specifies the devlink port to show occupancy values for.
+
+.SS devlink sb occupancy snapshot - take occupancy snapshot of shared buffer for device
+This command is used to take a snapshot of shared buffer occupancy values. After that, the values can be showed using
+.B occupancy show
+command.
+
+.PP
+.I "DEV"
+- specifies the devlink device to take occupancy snapshot on.
+
+.SS devlink sb occupancy clearmax - clear occupancy watermarks of shared buffer for device
+This command is used to reset maximal occupancy values reached for whole device. Note that before browsing reset values, one has to issue
+.B occupancy snapshot
+command.
+
+.PP
+.I "DEV"
+- specifies the devlink device to clear occupancy watermarks on.
+
+.SH "EXAMPLES"
+.PP
+devlink sb show
+.RS 4
+List available share buffers.
+.RE
+.PP
+devlink sb pool show
+.RS 4
+List available pools and their config.
+.RE
+.PP
+devlink sb port pool show pci/0000:03:00.0/1 pool 0
+.RS 4
+Show port-pool setup for specified port and pool.
+.RE
+.PP
+sudo devlink sb port pool set pci/0000:03:00.0/1 pool 0 th 15
+.RS 4
+Change threshold for port specified port and pool.
+.RE
+.PP
+devlink sb tc bind show pci/0000:03:00.0/1 tc 0 type ingress
+.RS 4
+Show pool binding and threshold for specified port and TC.
+.RE
+.PP
+sudo devlink sb tc bind set pci/0000:03:00.0/1 tc 0 type ingress pool 0 th 9
+.RS 4
+Set pool binding and threshold for specified port and TC.
+.RE
+.PP
+sudo devlink sb occupancy snapshot pci/0000:03:00.0
+.RS 4
+Make a snapshot of occupancy of shared buffer for specified devlink device.
+.RE
+.PP
+devlink sb occupancy show pci/0000:03:00.0/1
+.RS 4
+Show occupancy for specified port from the snapshot.
+.RE
+.PP
+sudo devlink sb occupancy clearmax pci/0000:03:00.0
+.RS 4
+Clear watermarks for shared buffer of specified devlink device.
+.RE
+
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-port (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Jiri Pirko <jiri@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink-trap.8 b/upstream/fedora-40/man8/devlink-trap.8
new file mode 100644
index 00000000..f5e66412
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink-trap.8
@@ -0,0 +1,195 @@
+.TH DEVLINK\-TRAP 8 "2 August 2019" "iproute2" "Linux"
+.SH NAME
+devlink-trap \- devlink trap configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B trap
+.RI "{ " COMMAND " |"
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-v\fR[\fIerbose\fR] |
+\fB\-s\fR[\fItatistics\fR] }
+
+.ti -8
+.B "devlink trap show"
+.RI "[ " DEV
+.B trap
+.IR TRAP " ]"
+
+.ti -8
+.BI "devlink trap set " DEV " trap " TRAP
+.RB "[ " action " { " trap " | " drop " | " mirror " } ]"
+
+.ti -8
+.B "devlink trap group show"
+.RI "[ " DEV
+.B group
+.IR GROUP " ]"
+
+.ti -8
+.BI "devlink trap group set " DEV " group " GROUP
+.RB "[ " action " { " trap " | " drop " | " mirror " } ]"
+.br
+.RB "[ " policer
+.IB "POLICER " ]
+.RB "[ " nopolicer " ]"
+
+.ti -8
+.BI "devlink trap policer set " DEV " policer " POLICER
+.RB "[ " rate
+.IR "RATE " ]
+.RB "[ " burst
+.IR "BURST " ]
+
+.ti -8
+.B devlink trap help
+
+.SH "DESCRIPTION"
+.SS devlink trap show - display available packet traps and their attributes
+
+.PP
+.I "DEV"
+- specifies the devlink device from which to show packet traps.
+If this argument is omitted all packet traps of all devices are listed.
+
+.PP
+.BI "trap " TRAP
+- specifies the packet trap.
+Only applicable if a devlink device is also specified.
+
+.SS devlink trap set - set attributes of a packet trap
+
+.PP
+.I "DEV"
+- specifies the devlink device the packet trap belongs to.
+
+.PP
+.BI "trap " TRAP
+- specifies the packet trap.
+
+.TP
+.BR action " { " trap " | " drop " | " mirror " } "
+packet trap action.
+
+.I trap
+- the sole copy of the packet is sent to the CPU.
+
+.I drop
+- the packet is dropped by the underlying device and a copy is not sent to the CPU.
+
+.I mirror
+- the packet is forwarded by the underlying device and a copy is sent to the CPU.
+
+.SS devlink trap group show - display available packet trap groups and their attributes
+
+.PP
+.I "DEV"
+- specifies the devlink device from which to show packet trap groups.
+If this argument is omitted all packet trap groups of all devices are listed.
+
+.PP
+.BI "group " GROUP
+- specifies the packet trap group.
+Only applicable if a devlink device is also specified.
+
+.SS devlink trap group set - set attributes of a packet trap group
+
+.PP
+.I "DEV"
+- specifies the devlink device the packet trap group belongs to.
+
+.PP
+.BI "group " GROUP
+- specifies the packet trap group.
+
+.TP
+.BR action " { " trap " | " drop " | " mirror " } "
+packet trap action. The action is set for all the packet traps member in the
+trap group. The actions of non-drop traps cannot be changed and are thus
+skipped.
+
+.TP
+.BI policer " POLICER"
+packet trap policer. The policer to bind to the packet trap group. A value of
+"0" will unbind the currently bound policer.
+
+.TP
+.B nopolicer
+Unbind packet trap policer from the packet trap group.
+
+.SS devlink trap policer set - set attributes of packet trap policer
+
+.PP
+.I "DEV"
+- specifies the devlink device the packet trap policer belongs to.
+
+.PP
+.BI "policer " POLICER
+- specifies the packet trap policer.
+
+.PP
+.BI rate " RATE "
+- packet trap policer rate in packets per second.
+
+.PP
+.BI burst " BURST "
+- packet trap policer burst size in packets.
+
+.SH "EXAMPLES"
+.PP
+devlink trap show
+.RS 4
+List available packet traps.
+.RE
+.PP
+devlink trap group show
+.RS 4
+List available packet trap groups.
+.RE
+.PP
+devlink -vs trap show pci/0000:01:00.0 trap source_mac_is_multicast
+.RS 4
+Show attributes and statistics of a specific packet trap.
+.RE
+.PP
+devlink -s trap group show pci/0000:01:00.0 group l2_drops
+.RS 4
+Show attributes and statistics of a specific packet trap group.
+.RE
+.PP
+devlink trap set pci/0000:01:00.0 trap source_mac_is_multicast action trap
+.RS 4
+Set the action of a specific packet trap to 'trap'.
+.RE
+.PP
+devlink trap policer show
+.RS 4
+List available packet trap policers.
+.RE
+.PP
+devlink -s trap policer show pci/0000:01:00.0 policer 1
+.RS 4
+Show attributes and statistics of a specific packet trap policer.
+.RE
+.PP
+devlink trap policer set pci/0000:01:00.0 policer 1 rate 1000 burst 128
+.RS 4
+Set the rate and burst size of a specific packet trap policer.
+.RE
+
+.SH SEE ALSO
+.BR devlink (8),
+.BR devlink-dev (8),
+.BR devlink-monitor (8),
+.br
+
+.SH AUTHOR
+Ido Schimmel <idosch@mellanox.com>
diff --git a/upstream/fedora-40/man8/devlink.8 b/upstream/fedora-40/man8/devlink.8
new file mode 100644
index 00000000..de53061b
--- /dev/null
+++ b/upstream/fedora-40/man8/devlink.8
@@ -0,0 +1,147 @@
+.TH DEVLINK 8 "14 Mar 2016" "iproute2" "Linux"
+.SH NAME
+devlink \- Devlink tool
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ] { " dev | port | monitor | sb | resource | region | health | trap " } { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B devlink
+.RB "[ " -force " ] "
+.BI "-batch " filename
+.sp
+
+.SH OPTIONS
+
+.TP
+.BR "\-V" , " --Version"
+Print the version of the
+.B devlink
+utility and exit.
+
+.TP
+.BR "\-b", " \-batch " <FILENAME>
+Read commands from provided file or standard input and invoke them.
+First failure will cause termination of devlink.
+
+.TP
+.B \-force
+Don't terminate devlink on errors in batch mode.
+If there were any errors during execution of the commands, the application return code will be non zero.
+
+.TP
+.BR "\-n" , " --no-nice-names"
+Turn off printing out nice names, for example netdevice ifnames instead of devlink port identification.
+
+.TP
+.BR "\-j" , " --json"
+Generate JSON output.
+
+.TP
+.BR "\-p" , " --pretty"
+When combined with -j generate a pretty JSON output.
+
+.TP
+.BR "\-v" , " --verbose"
+Turn on verbose output.
+
+.TP
+.BR "\-s" , " --statistics"
+Output statistics.
+
+.TP
+.BR "\-N", " \-Netns " <NETNSNAME>
+Switches to the specified network namespace.
+
+.TP
+.BR "\-i", " --iec"
+Print human readable rates in IEC units (e.g. 1Ki = 1024).
+
+.TP
+.BR "\-x", " --hex"
+Print dump numbers in hexadecimal format.
+
+.SS
+.I OBJECT
+
+.TP
+.B dev
+- devlink device.
+
+.TP
+.B port
+- devlink port.
+
+.TP
+.B monitor
+- watch for netlink messages.
+
+.TP
+.B sb
+- devlink shared buffer configuration.
+
+.TP
+.B resource
+- devlink device resource configuration.
+
+.TP
+.B region
+- devlink address region access
+
+.TP
+.B health
+- devlink reporting and recovery
+
+.TP
+.B trap
+- devlink trap configuration
+
+.SS
+.I COMMAND
+
+Specifies the action to perform on the object.
+The set of possible actions depends on the object type.
+As a rule, it is possible to
+.B show
+(or
+.B list
+) objects, but some objects do not allow all of these operations
+or have some additional commands. The
+.B help
+command is available for all objects. It prints
+out a list of available commands and argument syntax conventions.
+.sp
+If no command is given, some default command is assumed.
+Usually it is
+.B list
+or, if the objects of this class cannot be listed,
+.BR "help" .
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR devlink-dev (8),
+.BR devlink-port (8),
+.BR devlink-monitor (8),
+.BR devlink-sb (8),
+.BR devlink-resource (8),
+.BR devlink-region (8),
+.BR devlink-health (8),
+.BR devlink-trap (8),
+.br
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Jiri Pirko <jiri@mellanox.com>
diff --git a/upstream/fedora-40/man8/dnf-builddep.8 b/upstream/fedora-40/man8/dnf-builddep.8
new file mode 100644
index 00000000..be5ddc99
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-builddep.8
@@ -0,0 +1,100 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-BUILDDEP" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-builddep \- DNF builddep Plugin
+.sp
+Install whatever is needed to build the given .src.rpm, .nosrc.rpm or .spec file.
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+Build dependencies in a package (i.e. src.rpm) might be different
+than you would expect because they were evaluated according macros
+set on the package build host.
+.UNINDENT
+.UNINDENT
+.SH SYNOPSIS
+.sp
+\fBdnf builddep <package>...\fP
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<package>\fP
+Either path to .src.rpm, .nosrc.rpm or .spec file or package available in a repository.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-help\-cmd\fP
+Show this help.
+.TP
+.B \fB\-D <macro expr>, \-\-define <macro expr>\fP
+Define the RPM macro named \fImacro\fP to the value \fIexpr\fP when parsing spec files. Does not apply for source rpm files.
+.TP
+.B \fB\-\-spec\fP
+Treat arguments as .spec files.
+.TP
+.B \fB\-\-srpm\fP
+Treat arguments as source rpm files.
+.TP
+.B \fB\-\-skip\-unavailable\fP
+Skip build dependencies not available in repositories. All available build dependencies will be installed.
+.UNINDENT
+.sp
+Note that \fIbuilddep\fP command does not honor the \fI\-\-skip\-broken\fP option, so there is no way to skip uninstallable packages (e.g. with broken dependencies).
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBdnf builddep foobar.spec\fP
+Install the needed build requirements, defined in the foobar.spec file.
+.TP
+.B \fBdnf builddep \-\-spec foobar.spec.in\fP
+Install the needed build requirements, defined in the spec file when filename ends
+with something different than \fB\&.spec\fP\&.
+.TP
+.B \fBdnf builddep foobar\-1.0\-1.src.rpm\fP
+Install the needed build requirements, defined in the foobar\-1.0\-1.src.rpm file.
+.TP
+.B \fBdnf builddep foobar\-1.0\-1\fP
+Look up foobar\-1.0\-1 in enabled repositories and install build requirements
+for its source rpm.
+.TP
+.B \fBdnf builddep \-D \(aqscl python27\(aq python\-foobar.spec\fP
+Install the needed build requirements for the python27 SCL version of python\-foobar.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-changelog.8 b/upstream/fedora-40/man8/dnf-changelog.8
new file mode 100644
index 00000000..f1f1e2c7
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-changelog.8
@@ -0,0 +1,101 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-CHANGELOG" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-changelog \- DNF changelog Plugin
+.SH DESCRIPTION
+.sp
+\fIchangelog\fP is a plugin for viewing package changelogs.
+.SH SYNOPSIS
+.sp
+\fBdnf changelog [<options>] <package\-spec>...\fP
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<package\-spec>\fP
+Package specification for packages to display changelogs.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-since=<date>\fP
+Show only changelog entries since \fB<date>\fP\&. To avoid ambiguosity using YYYY\-MM\-DD date format is recommended.
+.TP
+.B \fB\-\-count=<number>\fP
+Show maximum of \fB<number>\fP changelog entries per package.
+.TP
+.B \fB\-\-upgrades\fP
+Show only new changelog entries for packages, that provide an upgrade for some of already installed packages.
+.UNINDENT
+.SH EXAMPLES
+.sp
+Show changelogs for all packages since November 1, 2018:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf changelog \-\-since=2018\-11\-1
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Show 3 latest changelogs of package dnf:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf changelog \-\-count=3 dnf
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Show what is new in upgradable packages:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf changelog \-\-upgrades
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-config-manager.8 b/upstream/fedora-40/man8/dnf-config-manager.8
new file mode 100644
index 00000000..c8e86088
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-config-manager.8
@@ -0,0 +1,122 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-CONFIG-MANAGER" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-config-manager \- DNF config-manager Plugin
+.sp
+Manage main and repository DNF configuration options, toggle which
+repositories are enabled or disabled, and add new repositories.
+.SH SYNOPSIS
+.sp
+\fBdnf config\-manager [options] <section>...\fP
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<section>\fP
+This argument can be used to explicitly select the configuration sections to manage.
+A section can either be \fBmain\fP or a repoid.
+If not specified, the program will select the \fBmain\fP section and each repoid
+used within any \fB\-\-setopt\fP options.
+A repoid can be specified using globs.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-help\-cmd\fP
+Show this help.
+.TP
+.B \fB\-\-add\-repo=URL\fP
+Add (and enable) the repo from the specified file or url. If it has to be added into installroot, combine it with
+\fB\-\-setopt=reposdir=/<installroot>/etc/yum.repos.d\fP command\-line option.
+.TP
+.B \fB\-\-dump\fP
+Print dump of current configuration values to stdout.
+.TP
+.B \fB\-\-set\-disabled\fP, \fB\-\-disable\fP
+Disable the specified repos (implies \fB\-\-save\fP).
+.TP
+.B \fB\-\-set\-enabled\fP, \fB\-\-enable\fP
+Enable the specified repos (implies \fB\-\-save\fP).
+.TP
+.B \fB\-\-save\fP
+Save the current options (useful with \fB\-\-setopt\fP).
+.TP
+.B \fB\-\-setopt=<option>=<value>\fP
+Set a configuration option. To set configuration options for repositories, use
+\fBrepoid.option\fP for the \fB<option>\fP\&. Globs are supported in repoid.
+.UNINDENT
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+DNF \fBconfig\-manager\fP can misbehave when enabling/disabling repositories generated by tools like
+\fBsubscription\-manager\fP on RHEL. In this case you should use \fBsubscription\-manager\fP to perform
+such actions.
+.UNINDENT
+.UNINDENT
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBdnf config\-manager \-\-add\-repo http://example.com/some/additional.repo\fP
+Download additional.repo and store it in repodir.
+.TP
+.B \fBdnf config\-manager \-\-add\-repo http://example.com/different/repo\fP
+Create new repo file with \fI\%http://example.com/different/repo\fP as baseurl and enable it.
+.TP
+.B \fBdnf config\-manager \-\-dump\fP
+Display main DNF configuration.
+.TP
+.B \fBdnf config\-manager \-\-dump <section>\fP
+Display configuration of a repository identified by <section>.
+.TP
+.B \fBdnf config\-manager \-\-set\-enabled <repoid>\fP
+Enable repository identified by <repoid> and make the change permanent.
+.TP
+.B \fBdnf config\-manager \-\-set\-disabled <repoid1> <repoid2>\fP
+Disable repositories identified by <repoid1> and <repoid2>
+.TP
+.B \fBdnf config\-manager \-\-set\-disabled <repoid1>,<repoid2>\fP
+Disable repositories identified by <repoid1> and <repoid2>
+.TP
+.B \fBdnf config\-manager \-\-save \-\-setopt=*.proxy=http://proxy.example.com:3128/ <repo1> <repo2>\fP
+Update proxy setting in repositories with repoid <repo1> and <repo2> and make the change
+permanent.
+.TP
+.B \fBdnf config\-manager \-\-save \-\-setopt=*\-debuginfo.gpgcheck=0\fP
+Update gpgcheck setting in all repositories whose id ends with \-debuginfo and make the change permanent.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-copr.8 b/upstream/fedora-40/man8/dnf-copr.8
new file mode 100644
index 00000000..39447de6
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-copr.8
@@ -0,0 +1,160 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-COPR" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-copr \- DNF copr Plugin
+.sp
+Work with Copr & Playground repositories on the local system.
+.INDENT 0.0
+.IP \(bu 2
+The \fBcopr\fP command is used to add or remove Copr repositories to the local system
+.IP \(bu 2
+The \fBplayground\fP is used to enable or disable the Playground repository
+.UNINDENT
+.SH SYNOPSIS
+.sp
+\fBdnf copr [enable|disable|remove|list|search] <parameters>\fP
+.sp
+\fBdnf playground [enable|disable|upgrade]\fP
+.SH ARGUMENTS (COPR)
+.INDENT 0.0
+.TP
+.B \fBenable name/project [chroot]\fP
+Enable the \fBname/project\fP Copr repository with the optional \fBchroot\fP\&.
+.TP
+.B \fBdisable name/project\fP
+Disable the \fBname/project\fP Copr repository.
+.TP
+.B \fBremove name/project\fP
+Remove the \fBname/project\fP Copr repository.
+.TP
+.B \fBlist \-\-installed\fP
+List installed Copr repositories (default).
+.TP
+.B \fBlist \-\-enabled\fP
+List enabled Copr repositories.
+.TP
+.B \fBlist \-\-disabled\fP
+List disabled Copr repositories.
+.TP
+.B \fBlist \-\-available\-by\-user=name\fP
+List available Copr repositories for a given \fBname\fP\&.
+.TP
+.B \fBsearch project\fP
+Search for a given \fBproject\fP\&.
+.TP
+.B \fBenable hub/name/project\fP
+Enable the \fBname/project\fP Copr repository from the specified Copr \fBhub\fP,
+Hub is be specified either by its hostname (eg. \fIcopr.fedorainfracloud.org\fP)
+or by an ID that\(aqs defined in a configuration file.
+.UNINDENT
+.SH OPTIONS (COPR)
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-hub Copr\fP
+Specify a Copr hub to use. Default is the Fedora Copr: \fBhttps://copr.fedorainfracloud.org\fP\&.
+.UNINDENT
+.SH CONFIGURATION (COPR)
+.sp
+\fB/etc/dnf/plugins/copr.conf\fP
+\fB/etc/dnf/plugins/copr.d/\fP
+\fB/usr/share/dnf/plugins/copr.vendor.conf\fP
+.INDENT 0.0
+.TP
+.B Configuration file should contain a section for each hub, each section having \fBhostname\fP
+(mandatory), \fBprotocol\fP (default \fBhttps\fP) and \fBport\fP (default \fB443\fP) parameters.:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+[fedora]
+hostname = copr.fedorainfracloud.org
+protocol = https
+port = 443
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+There is also a vendor configuration that allows a vendor to specify the distro ID that copr should use by default.
+This is useful for vendors that want to use Copr for their own distro. The vendor configuration is in
+\fB/usr/share/dnf/plugins/copr.vendor.conf\fP (optional) or \fB/etc/dnf/plugins/copr.conf\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+[main]
+distribution = fedora
+releasever = 37
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH ARGUMENTS (PLAYGROUND)
+.INDENT 0.0
+.TP
+.B \fBenable\fP
+Enable the Playground repository.
+.TP
+.B \fBdisable\fP
+Disable the Playground repository.
+.TP
+.B \fBupgrade\fP
+Upgrade the Playground repository settings (same as \fBdisable\fP and then \fBenable\fP).
+.UNINDENT
+.SH OPTIONS (PLAYGROUND)
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBcopr enable rhscl/perl516 epel\-6\-x86_64\fP
+Enable the \fBrhscl/perl516\fP Copr repository, using the \fBepel\-6\-x86_64\fP chroot.
+.TP
+.B \fBcopr disable rhscl/perl516\fP
+Disable the \fBrhscl/perl516\fP Copr repository
+.TP
+.B \fBcopr list \-\-available\-by\-user=rita\fP
+List available Copr projects for user \fBrita\fP\&.
+.TP
+.B \fBcopr search tests\fP
+Search for Copr projects named \fBtests\fP\&.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-debug.8 b/upstream/fedora-40/man8/dnf-debug.8
new file mode 100644
index 00000000..e794ec80
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-debug.8
@@ -0,0 +1,107 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-DEBUG" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-debug \- DNF debug Plugin
+.SH DESCRIPTION
+.sp
+The plugin provides two dnf commands:
+.INDENT 0.0
+.TP
+.B \fBdebug\-dump\fP
+Writes system RPM configuration to a dump file
+.TP
+.B \fBdebug\-restore\fP
+Restore the installed packages to the versions written in the dump file. By
+default, it does not remove already installed versions of install\-only
+packages and only marks those versions that are mentioned in the dump file
+for installation. The final decision on which versions to keep on the
+system is left to dnf and can be fine\-tuned using the \fIinstallonly_limit\fP
+(see \fBdnf.conf(5)\fP) configuration option.
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+DNF and Yum debug files are not compatible and thus can\(aqt be used
+by the other program.
+.UNINDENT
+.UNINDENT
+.SH SYNOPSIS
+.sp
+\fBdnf debug\-dump [\-\-norepos] [<filename>]\fP
+.sp
+\fBdnf debug\-restore [\-\-output] [\-\-install\-latest] [\-\-ignore\-arch]
+[\-\-filter\-types = [install,remove,replace]] <filename>\fP
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<filename>\fP
+File to write dump to or read from.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.sp
+\fBdnf debug\-dump\fP
+.INDENT 0.0
+.TP
+.B \fB\-\-norepos\fP
+Do not dump content of enabled repos.
+.UNINDENT
+.sp
+\fBdnf debug\-restore\fP
+.INDENT 0.0
+.TP
+.B \fB\-\-filter\-types=[install,remove,replace]\fP
+Limit package changes to specified type.
+.TP
+.B \fB\-\-ignore\-arch\fP
+When installing package ignore architecture and install missing packages
+matching the name, epoch, version and release.
+.TP
+.B \fB\-\-install\-latest\fP
+When installing use the latest package of the same name and architecture.
+.TP
+.B \fB\-\-output\fP
+Only output list of packages which will be installed or removed.
+No actuall changes are done.
+.TP
+.B \fB\-\-remove\-installonly\fP
+Allow removal of install\-only packages. Using this option may result in an
+attempt to remove the running kernel version (in situations when the currently
+running kernel version is not part of the dump file).
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-debuginfo-install.8 b/upstream/fedora-40/man8/dnf-debuginfo-install.8
new file mode 100644
index 00000000..67276b58
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-debuginfo-install.8
@@ -0,0 +1,78 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-DEBUGINFO-INSTALL" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-debuginfo-install \- DNF debuginfo-install Plugin
+.sp
+Install the associated debuginfo packages for a given package specification.
+.SH SYNOPSIS
+.sp
+\fBdnf debuginfo\-install <pkg\-spec>...\fP
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<pkg\-spec>\fP
+The package to install the associated debuginfo package for.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.SH CONFIGURATION
+.sp
+\fB/etc/dnf/plugins/debuginfo\-install.conf\fP
+.sp
+The minimal content of conf file should contain \fBmain\fP sections with \fBenabled\fP and
+\fBautoupdate\fP parameter.
+.INDENT 0.0
+.TP
+.B \fBautoupdate\fP
+A boolean option which controls updates of debuginfo packages. If options is enabled
+and there are debuginfo packages installed it automatically enables all configured
+debuginfo repositories.
+(Disabled by default.)
+.UNINDENT
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBdnf debuginfo\-install foobar\fP
+Install the debuginfo packages for the foobar package.
+.TP
+.B \fBdnf upgrade \-\-enablerepo=*\-debuginfo <package\-name>\-debuginfo\fP
+Upgrade debuginfo package of a <package\-name>.
+.TP
+.B \fBdnf upgrade \-\-enablerepo=*\-debuginfo \(dq*\-debuginfo\(dq\fP
+Upgrade all debuginfo packages.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-download.8 b/upstream/fedora-40/man8/dnf-download.8
new file mode 100644
index 00000000..f54a51a5
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-download.8
@@ -0,0 +1,109 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-DOWNLOAD" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-download \- DNF download Plugin
+.sp
+Download binary or source packages.
+.SH SYNOPSIS
+.sp
+\fBdnf download [options] <pkg\-spec>...\fP
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<pkg\-spec>\fP
+Package specification for the package to download.
+Local RPMs can be specified as well. This is useful with the \fB\-\-source\fP
+option or if you want to download the same RPM again.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-help\-cmd\fP
+Show this help.
+.TP
+.B \fB\-\-arch <arch>[,<arch>...]\fP
+Limit the query to packages of given architectures (default is all compatible architectures with
+your system). To download packages with arch incompatible with your system use
+\fB\-\-forcearch=<arch>\fP option to change basearch.
+.TP
+.B \fB\-\-source\fP
+Download the source rpm. Enables source repositories of all enabled binary repositories.
+.TP
+.B \fB\-\-debuginfo\fP
+Download the debuginfo rpm. Enables debuginfo repositories of all enabled binary repositories.
+.TP
+.B \fB\-\-downloaddir\fP
+Download directory, default is the current directory (the directory must exist).
+.TP
+.B \fB\-\-url\fP
+Instead of downloading, print list of urls where the rpms can be downloaded.
+.TP
+.B \fB\-\-urlprotocol\fP
+Limit the protocol of the urls output by the \-\-url option. Options are http, https, rsync, ftp.
+.TP
+.B \fB\-\-resolve\fP
+Resolves dependencies of specified packages and downloads missing dependencies in the system.
+.TP
+.B \fB\-\-alldeps\fP
+When used with \fB\-\-resolve\fP, download all dependencies (do not skip already installed ones).
+.UNINDENT
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBdnf download dnf\fP
+Download the latest dnf package to the current directory.
+.TP
+.B \fBdnf download \-\-url dnf\fP
+Just print the remote location url where the dnf rpm can be downloaded from.
+.TP
+.B \fBdnf download \-\-url \-\-urlprotocols=https \-\-urlprotocols=rsync dnf\fP
+Same as above, but limit urls to https or rsync urls.
+.TP
+.B \fBdnf download dnf \-\-destdir /tmp/dnl\fP
+Download the latest dnf package to the /tmp/dnl directory (the directory must exist).
+.TP
+.B \fBdnf download dnf \-\-source\fP
+Download the latest dnf source package to the current directory.
+.TP
+.B \fBdnf download rpm \-\-debuginfo\fP
+Download the latest rpm\-debuginfo package to the current directory.
+.TP
+.B \fBdnf download btanks \-\-resolve\fP
+Download the latest btanks package and the uninstalled dependencies to the current directory.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-generate_completion_cache.8 b/upstream/fedora-40/man8/dnf-generate_completion_cache.8
new file mode 100644
index 00000000..522247f7
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-generate_completion_cache.8
@@ -0,0 +1,40 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-GENERATE_COMPLETION_CACHE" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-generate_completion_cache \- DNF generate_completion_cache Plugin
+.sp
+Generates data to speed up shell completion for DNF. The user is not supposed to interact with the plugin in any way.
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-groups-manager.8 b/upstream/fedora-40/man8/dnf-groups-manager.8
new file mode 100644
index 00000000..0dcd49d7
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-groups-manager.8
@@ -0,0 +1,105 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-GROUPS-MANAGER" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-groups-manager \- DNF groups-manager Plugin
+.sp
+Create and edit groups repository metadata files.
+.SH SYNOPSIS
+.sp
+\fBdnf groups\-manager [options] [package\-name\-spec [package\-name\-spec ...]]\fP
+.SH DESCRIPTION
+.sp
+groups\-manager plugin is used to create or edit a group metadata file for a repository. This is often much easier than writing/editing the XML by hand. The groups\-manager can load an entire file of groups metadata and either create a new group or edit an existing group and then write all of the groups metadata back out.
+.SH ARGUMENTS
+.INDENT 0.0
+.TP
+.B \fB<package\-name\-spec>\fP
+Package to add to a group or remove from a group.
+.UNINDENT
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-load=<path_to_comps.xml>\fP
+Load the groups metadata information from the specified file before performing any operations. Metadata from all files are merged together if the option is specified multiple times.
+.TP
+.B \fB\-\-save=<path_to_comps.xml>\fP
+Save the result to this file. You can specify the name of a file you are loading from as the data will only be saved when all the operations have been performed. This option can also be specified multiple times.
+.TP
+.B \fB\-\-merge=<path_to_comps.xml>\fP
+This is the same as loading and saving a file, however the \(dqmerge\(dq file is loaded before any others and saved last.
+.TP
+.B \fB\-\-print\fP
+Also print the result to stdout.
+.TP
+.B \fB\-\-id=<id>\fP
+The id to lookup/use for the group. If you don\(aqt specify an \fB<id>\fP, but do specify a name that doesn\(aqt refer to an existing group, then an id for the group is generated based on the name.
+.TP
+.B \fB\-n <name>, \-\-name=<name>\fP
+The name to lookup/use for the group. If you specify an existing group id, then the group with that id will have it\(aqs name changed to this value.
+.TP
+.B \fB\-\-description=<description>\fP
+The description to use for the group.
+.TP
+.B \fB\-\-display\-order=<display_order>\fP
+Change the integer which controls the order groups are presented in, for example in \fBdnf grouplist\fP\&.
+.TP
+.B \fB\-\-translated\-name=<lang:text>\fP
+A translation of the group name in the given language. The syntax is \fBlang:text\fP\&. Eg. \fBen:my\-group\-name\-in\-english\fP
+.TP
+.B \fB\-\-translated\-description=<lang:text>\fP
+A translation of the group description in the given language. The syntax is \fBlang:text\fP\&. Eg. \fBen:my\-group\-description\-in\-english\fP\&.
+.TP
+.B \fB\-\-user\-visible\fP
+Make the group visible in \fBdnf grouplist\fP (this is the default).
+.TP
+.B \fB\-\-not\-user\-visible\fP
+Make the group not visible in \fBdnf grouplist\fP\&.
+.TP
+.B \fB\-\-mandatory\fP
+Store the package names specified within the mandatory section of the specified group, the default is to use the default section.
+.TP
+.B \fB\-\-optional\fP
+Store the package names specified within the optional section of the specified group, the default is to use the default section.
+.TP
+.B \fB\-\-remove\fP
+Instead of adding packages remove them. Note that the packages are removed from all sections (default, mandatory and optional).
+.TP
+.B \fB\-\-dependencies\fP
+Also include the names of the direct dependencies for each package specified.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-needs-restarting.8 b/upstream/fedora-40/man8/dnf-needs-restarting.8
new file mode 100644
index 00000000..7a110fd9
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-needs-restarting.8
@@ -0,0 +1,85 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-NEEDS-RESTARTING" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-needs-restarting \- DNF needs_restarting Plugin
+.sp
+Check for running processes that should be restarted.
+.SH SYNOPSIS
+.sp
+\fBdnf needs\-restarting [\-u] [\-r] [\-s]\fP
+.SH DESCRIPTION
+.sp
+\fIneeds\-restarting\fP looks through running processes and tries to detect those that use files from packages that have been updated after the given process started. Such processes are reported by this tool.
+.sp
+Note that in most cases a process should survive update of its binary and libraries it is using without requiring to be restarted for proper operation. There are however specific cases when this does not apply. Separately, processes often need to be restarted to reflect security updates.
+.SH OPTIONS
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-u, \-\-useronly\fP
+Only consider processes belonging to the running user.
+.TP
+.B \fB\-r, \-\-reboothint\fP
+Only report whether a reboot is required (exit code 1) or not (exit code 0).
+.TP
+.B \fB\-s, \-\-services\fP
+Only list the affected systemd services.
+.UNINDENT
+.SH CONFIGURATION
+.sp
+\fB/etc/dnf/plugins/needs\-restarting.d/\fP
+.sp
+\fB/etc/dnf/plugins/needs\-restarting.d/pkgname.conf\fP
+.sp
+Packages can be added to \fBneeds\-restarting\fP via conf files in config
+directory. Config files need to have \fB\&.conf\fP extension or will be ignored.
+.sp
+More than one package is allowed in each file (one package per line) although
+it is advised to use one file for each package.
+.sp
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+echo \(dqdwm\(dq > /etc/dnf/plugins/needs\-restarting.d/dwm.conf
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-repoclosure.8 b/upstream/fedora-40/man8/dnf-repoclosure.8
new file mode 100644
index 00000000..ea4522ec
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-repoclosure.8
@@ -0,0 +1,120 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-REPOCLOSURE" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-repoclosure \- DNF repoclosure Plugin
+.sp
+Display a list of unresolved dependencies for repositories.
+.SH SYNOPSIS
+.sp
+\fBdnf repoclosure [<options>]\fP
+.SH DESCRIPTION
+.sp
+\fIrepoclosure\fP is a program that reads package metadata from one or more repositories, checks all dependencies, and displays a list of packages with unresolved dependencies.
+.SS Options
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-arch <arch>\fP
+Query only packages for specified architecture, can be specified multiple times (default is all
+compatible architectures with your system). To run repoclosure for arch incompatible with your
+system use \fB\-\-forcearch=<arch>\fP option to change basearch.
+.TP
+.B \fB\-\-best\fP
+Check only the newest packages per arch.
+.TP
+.B \fB\-\-check <repoid>\fP
+Specify repo ids to check, can be specified multiple times (default is all enabled).
+.TP
+.B \fB\-\-newest\fP
+Check only the newest packages in the repos.
+.TP
+.B \fB\-\-pkg <pkg\-spec>\fP
+Check closure for this package only.
+.TP
+.B \fB\-\-repo <repoid>\fP
+Specify repo ids to query, can be specified multiple times (default is all enabled).
+.UNINDENT
+.SH EXAMPLES
+.sp
+Display list of unresolved dependencies for all enabled repositories:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repoclosure
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Display list of unresolved dependencies for rawhide repository and packages with architecture noarch and x86_64:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repoclosure \-\-repo rawhide \-\-arch noarch \-\-arch x86_64
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Display list of unresolved dependencies for zmap package from rawhide repository:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repoclosure \-\-repo rawhide \-\-pkg zmap
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Display list of unresolved dependencies for myrepo, an add\-on for the rawhide repository:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repoclosure \-\-repo rawhide \-\-check myrepo
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-repodiff.8 b/upstream/fedora-40/man8/dnf-repodiff.8
new file mode 100644
index 00000000..df1c516f
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-repodiff.8
@@ -0,0 +1,109 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-REPODIFF" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-repodiff \- DNF repodiff Plugin
+.sp
+Display a list of differences between two or more repositories
+.SH SYNOPSIS
+.sp
+\fBdnf repodiff [<options>]\fP
+.SH DESCRIPTION
+.sp
+\fIrepodiff\fP is a program which will list differences between two sets of repositories. Note that by default only source packages are compared.
+.SS Options
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-repo\-old=<repoid>, \-o <repoid>\fP
+Add a \fB<repoid>\fP as an old repository. It is possible to be used in conjunction with \fB\-\-repofrompath\fP option. Can be specified multiple times.
+.TP
+.B \fB\-\-repo\-new=<repoid>, \-n <repoid>\fP
+Add a \fB<repoid>\fP as a new repository. Can be specified multiple times.
+.TP
+.B \fB\-\-archlist=<arch>, \-a <arch>\fP
+Add architectures to change the default from just comparing source packages. Note that you can use a wildcard \(dq*\(dq for all architectures. Can be specified multiple times.
+.TP
+.B \fB\-\-size, \-s\fP
+Output additional data about the size of the changes.
+.TP
+.B \fB\-\-compare\-arch\fP
+Normally packages are just compared based on their name, this flag makes the comparison also use the arch. So foo.noarch and foo.x86_64 are considered to be a different packages.
+.TP
+.B \fB\-\-simple\fP
+Output a simple one line message for modified packages.
+.TP
+.B \fB\-\-downgrade\fP
+Split the data for modified packages between upgraded and downgraded packages.
+.UNINDENT
+.SH EXAMPLES
+.sp
+Compare source pkgs in two local repos:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repodiff \-\-repofrompath=o,/tmp/repo\-old \-\-repofrompath=n,/tmp/repo\-new \-\-repo\-old=o \-\-repo\-new=n
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Compare x86_64 compat. binary pkgs in two remote repos, and two local one:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repodiff \-\-repofrompath=o,http://example.com/repo\-old \-\-repofrompath=n,http://example.com/repo\-new \-\-repo\-old=o \-\-repo\-new=n \-\-archlist=x86_64
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Compare x86_64 compat. binary pkgs, but also compare architecture:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repodiff \-\-repofrompath=o,http://example.com/repo\-old \-\-repofrompath=n,http://example.com/repo\-new \-\-repo\-old=o \-\-repo\-new=n \-\-archlist=x86_64 \-\-compare\-arch
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-repograph.8 b/upstream/fedora-40/man8/dnf-repograph.8
new file mode 100644
index 00000000..1c7b54d7
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-repograph.8
@@ -0,0 +1,92 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-REPOGRAPH" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-repograph \- DNF repograph Plugin
+.sp
+Output a full package dependency graph in dot format.
+.SH SYNOPSIS
+.sp
+\fBdnf repograph [<options>]\fP
+\fBdnf repo\-graph [<options>]\fP
+.SH DESCRIPTION
+.sp
+\fIrepograph\fP is a program that generates a full package dependency list from a repository and outputs it in dot format.
+.SS Options
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-repo <repoid>\fP
+Specify repo ids to query, can be specified multiple times (default is all enabled).
+.UNINDENT
+.SH EXAMPLES
+.sp
+Output dependency list from all enabled repositories:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repograph
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Output dependency list from rawhide repository:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repograph \-\-repoid rawhide
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Output dependency list from rawhide and koji repository:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repo\-graph \-\-repoid rawhide \-\-repoid koji
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-repomanage.8 b/upstream/fedora-40/man8/dnf-repomanage.8
new file mode 100644
index 00000000..76023665
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-repomanage.8
@@ -0,0 +1,112 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-REPOMANAGE" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-repomanage \- DNF repomanage Plugin
+.sp
+Manage a repository or a simple directory of rpm packages.
+.SH SYNOPSIS
+.sp
+\fBdnf repomanage [<optional\-options>] [<options>] <path>\fP
+.SH DESCRIPTION
+.sp
+\fIrepomanage\fP prints newest or older packages in a repository specified by <path> for easy piping to xargs or similar programs. In case <path> doesn\(aqt contain a valid repodata, it is searched for rpm packages which are then used instead.
+If the repodata are present, \fIrepomanage\fP uses them as the source of truth, it doesn\(aqt verify that they match the present rpm packages. In fact, \fIrepomanage\fP can run with just the repodata, no rpm packages are needed.
+.sp
+In order to work correctly with modular packages, <path> has to contain repodata with modular metadata. If modular content is present, \fIrepomanage\fP prints packages from newest or older stream versions in addition to newest or older non\-modular packages.
+.SS Options
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.sp
+The following options set what packages are displayed. These options are mutually exclusive, i.e. only one can be specified. If no option is specified, the newest packages are shown.
+.INDENT 0.0
+.TP
+.B \fB\-\-old\fP
+Show older packages (for a package or a stream show all versions except the newest one).
+.TP
+.B \fB\-\-oldonly\fP
+Show older packages (same as \-\-old, but exclude the newest packages even when it\(aqs included in the older stream versions).
+.TP
+.B \fB\-\-new\fP
+Show newest packages.
+.UNINDENT
+.sp
+The following options control how packages are displayed in the output:
+.INDENT 0.0
+.TP
+.B \fB\-s\fP, \fB\-\-space\fP
+Print resulting set separated by space instead of newline.
+.TP
+.B \fB\-k <keep\-number>\fP, \fB\-\-keep <keep\-number>\fP
+Limit the resulting set to newest \fB<keep\-number>\fP packages.
+.UNINDENT
+.SH EXAMPLES
+.sp
+Display newest packages in current repository (directory):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repomanage \-\-new .
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Display 2 newest versions of each package in \(dqhome\(dq directory:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repomanage \-\-new \-\-keep 2 ~/
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Display oldest packages separated by space in current repository (directory):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dnf repomanage \-\-old \-\-space .
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-reposync.8 b/upstream/fedora-40/man8/dnf-reposync.8
new file mode 100644
index 00000000..063df921
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-reposync.8
@@ -0,0 +1,116 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-REPOSYNC" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-reposync \- DNF reposync Plugin
+.sp
+Synchronize packages of a remote DNF repository to a local directory.
+.SH SYNOPSIS
+.sp
+\fBdnf reposync [options]\fP
+.SH DESCRIPTION
+.sp
+\fIreposync\fP makes local copies of remote repositories. Packages that are already present in the local directory are not downloaded again.
+.SH OPTIONS
+.sp
+All general DNF options are accepted. Namely, the \fB\-\-repoid\fP option can be used to specify the repositories to synchronize. See \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-a <architecture>, \-\-arch=<architecture>\fP
+Download only packages of given architectures (default is all architectures). Can be used multiple times.
+.TP
+.B \fB\-\-delete\fP
+Delete local packages no longer present in repository.
+.TP
+.B \fB\-\-download\-metadata\fP
+Download all repository metadata. Downloaded copy is instantly usable as a repository, no need to run createrepo_c
+on it. When the option is used with \fI\-\-newest\-only\fP, only latest packages will be downloaded, but metadata will
+still contain older packages. It might be useful to update metadata using \fIcreaterepo_c \-\-update\fP to remove
+the packages with missing RPM files from metadata. Otherwise, DNF ends with an error due to the missing files
+whenever it tries to download older packages.
+.TP
+.B \fB\-g, \-\-gpgcheck\fP
+Remove packages that fail GPG signature checking after downloading. Exit code is \fB1\fP if at least one package was removed.
+Note that for repositories with \fBgpgcheck=0\fP set in their configuration the GPG signature is not checked even with this option used.
+.TP
+.B \fB\-m, \-\-downloadcomps\fP
+Also download and uncompress comps.xml. Consider using \fB\-\-download\-metadata\fP option which will download all available repository metadata.
+.TP
+.B \fB\-\-metadata\-path\fP
+Root path under which the downloaded metadata are stored. It defaults to \fB\-\-download\-path\fP value if not given.
+.TP
+.B \fB\-n, \-\-newest\-only\fP
+Download only newest packages per\-repo.
+.TP
+.B \fB\-\-norepopath\fP
+Don\(aqt add the reponame to the download path. Can only be used when syncing a single repository (default is to add the reponame).
+.TP
+.B \fB\-p <download\-path>, \-\-download\-path=<download\-path>\fP
+Root path under which the downloaded repositories are stored, relative to the current working directory. Defaults to the current working directory. Every downloaded repository has a subdirectory named after its ID under this path.
+.TP
+.B \fB\-\-safe\-write\-path\fP
+Specify the filesystem path prefix under which the reposync is allowed to write. If not specified it defaults to download path of the repository. Useful for repositories that use relative locations of packages out of repository directory (e.g. \(dq../packages_store/foo.rpm\(dq). Use with care, any file under the \fBsafe\-write\-path\fP can be overwritten. Can be only used when syncing a single repository.
+.TP
+.B \fB\-\-remote\-time\fP
+Try to set the timestamps of the downloaded files to those on the remote side.
+.TP
+.B \fB\-\-source\fP
+Download only source packages.
+.TP
+.B \fB\-u, \-\-urls\fP
+Just print urls of what would be downloaded, don\(aqt download.
+.UNINDENT
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBdnf reposync \-\-repoid=the_repo\fP
+Synchronize all packages from the repository with id \(dqthe_repo\(dq. The synchronized copy is saved in \(dqthe_repo\(dq subdirectory of the current working directory.
+.TP
+.B \fBdnf reposync \-p /my/repos/path \-\-repoid=the_repo\fP
+Synchronize all packages from the repository with id \(dqthe_repo\(dq. In this case files are saved in \(dq/my/repos/path/the_repo\(dq directory.
+.TP
+.B \fBdnf reposync \-\-repoid=the_repo \-\-download\-metadata\fP
+Synchronize all packages and metadata from \(dqthe_repo\(dq repository.
+.UNINDENT
+.sp
+Repository synchronized with \fB\-\-download\-metadata\fP option can be directly used in DNF for example by using \fB\-\-repofrompath\fP option:
+.sp
+\fBdnf \-\-repofrompath=syncedrepo,the_repo \-\-repoid=syncedrepo list \-\-available\fP
+.SH SEE ALSO
+.INDENT 0.0
+.IP \(bu 2
+\fBdnf(8)\fP, DNF Command Reference
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dnf-system-upgrade.8 b/upstream/fedora-40/man8/dnf-system-upgrade.8
new file mode 100644
index 00000000..90558dc1
--- /dev/null
+++ b/upstream/fedora-40/man8/dnf-system-upgrade.8
@@ -0,0 +1,209 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "DNF-SYSTEM-UPGRADE" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+dnf-system-upgrade \- DNF system-upgrade Plugin
+.SH DESCRIPTION
+.sp
+DNF system\-upgrades plugin provides three commands: \fBsystem\-upgrade\fP, \fBoffline\-upgrade\fP, and
+\fBoffline\-distrosync\fP\&. Only \fBsystem\-upgrade\fP command requires increase of distribution major
+version (\fB\-\-releasever\fP) compared to installed version.
+.sp
+\fBdnf system\-upgrade\fP is a recommended way to upgrade a system to a new major release.
+It replaces fedup (the old Fedora Upgrade tool). Before you proceed ensure that your system
+is fully upgraded (\fBdnf \-\-refresh upgrade\fP).
+.sp
+The \fBsystem\-upgrade\fP command also performes additional actions necessary for the upgrade of the
+system, for example an upgrade of groups and environments.
+.SH SYNOPSIS
+.sp
+\fBdnf system\-upgrade download \-\-releasever VERSION [OPTIONS]\fP
+.sp
+\fBdnf system\-upgrade reboot\fP
+.sp
+\fBdnf system\-upgrade reboot \-\-poweroff\fP
+.sp
+\fBdnf system\-upgrade clean\fP
+.sp
+\fBdnf system\-upgrade log\fP
+.sp
+\fBdnf system\-upgrade log \-\-number=<number>\fP
+.sp
+\fBdnf offline\-upgrade download [OPTIONS]\fP
+.sp
+\fBdnf offline\-upgrade reboot\fP
+.sp
+\fBdnf offline\-upgrade reboot \-\-poweroff\fP
+.sp
+\fBdnf offline\-upgrade clean\fP
+.sp
+\fBdnf offline\-upgrade log\fP
+.sp
+\fBdnf offline\-upgrade log \-\-number=<number>\fP
+.sp
+\fBdnf offline\-distrosync download [OPTIONS]\fP
+.sp
+\fBdnf offline\-distrosync reboot\fP
+.sp
+\fBdnf offline\-distrosync reboot \-\-poweroff\fP
+.sp
+\fBdnf offline\-distrosync clean\fP
+.sp
+\fBdnf offline\-distrosync log\fP
+.sp
+\fBdnf offline\-distrosync log \-\-number=<number>\fP
+.SH SUBCOMMANDS
+.INDENT 0.0
+.TP
+.B \fBdownload\fP
+Downloads everything needed to upgrade to a new major release.
+.TP
+.B \fBreboot\fP
+Prepares the system to perform the upgrade, and reboots to start the upgrade.
+This can only be used after the \fBdownload\fP command completes successfully.
+.TP
+.B \fBclean\fP
+Remove previously\-downloaded data. This happens automatically at the end of
+a successful upgrade.
+.TP
+.B \fBlog\fP
+Used to see a list of boots during which an upgrade was attempted, or show
+the logs from an upgrade attempt. The logs for one of the boots can be shown
+by specifying one of the numbers in the first column. Negative numbers can
+be used to number the boots from last to first. For example, \fBlog \-\-number=\-1\fP can
+be used to see the logs for the last upgrade attempt.
+.UNINDENT
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-\-releasever=VERSION\fP
+REQUIRED. The version to upgrade to. Sets \fB$releasever\fP in all enabled
+repos. Usually a number, or \fBrawhide\fP\&.
+.TP
+.B \fB\-\-downloaddir=<path>\fP
+Redirect download of packages to provided \fB<path>\fP\&. By default, packages
+are downloaded into (per repository created) subdirectories of
+/var/lib/dnf/system\-upgrade.
+.TP
+.B \fB\-\-distro\-sync\fP
+Behave like \fBdnf distro\-sync\fP: always install packages from the new
+release, even if they are older than the currently\-installed version. This
+is the default behavior.
+.TP
+.B \fB\-\-no\-downgrade\fP
+Behave like \fBdnf update\fP: do not install packages from the new release
+if they are older than what is currently installed. This is the opposite of
+\fB\-\-distro\-sync\fP\&. If both are specified, the last option will be used. The option cannot be
+used with the \fBoffline\-distrosync\fP command.
+.TP
+.B \fB\-\-poweroff\fP
+When applied with the \fBreboot\fP subcommand, the system will power off after
+upgrades are completed, instead of restarting.
+.TP
+.B \fB\-\-number\fP
+Applied with \fBlog\fP subcommand will show the log specified by the number.
+.UNINDENT
+.SH NOTES
+.sp
+\fBdnf system\-upgrade reboot\fP does not create a \(dqSystem Upgrade\(dq boot item. The
+upgrade will start regardless of which boot item is chosen.
+.sp
+The \fBDNF_SYSTEM_UPGRADE_NO_REBOOT\fP environment variable can be set to a
+non\-empty value to disable the actual reboot performed by \fBsystem\-upgrade\fP
+(e.g. for testing purposes).
+.sp
+Since this is a DNF plugin, options accepted by \fBdnf\fP are also valid here,
+such as \fB\-\-allowerasing\fP\&.
+See \fBdnf(8)\fP for more information.
+.sp
+The \fBfedup\fP command is not provided, not even as an alias for
+\fBdnf system\-upgrade\fP\&.
+.SH BUGS
+.sp
+Upgrading from install media (e.g. a DVD or .iso file) currently requires the
+user to manually set up a DNF repo and fstab entry for the media.
+.SH EXAMPLES
+.SS Typical upgrade usage
+.sp
+\fBdnf \-\-refresh upgrade\fP
+.sp
+\fBdnf system\-upgrade download \-\-releasever 26\fP
+.sp
+\fBdnf system\-upgrade reboot\fP
+.SS Show logs from last upgrade attempt
+.sp
+\fBdnf system\-upgrade log \-\-number=\-1\fP
+.SH REPORTING BUGS
+.sp
+Bugs should be filed here:
+.INDENT 0.0
+.INDENT 3.5
+\fI\%https://bugzilla.redhat.com/\fP
+.UNINDENT
+.UNINDENT
+.sp
+For more info on filing bugs, see the Fedora Project wiki:
+.INDENT 0.0
+.INDENT 3.5
+\fI\%https://fedoraproject.org/wiki/How_to_file_a_bug_report\fP
+.sp
+\fI\%https://fedoraproject.org/wiki/Bugs_and_feature_requests\fP
+.UNINDENT
+.UNINDENT
+.sp
+Please include \fB/var/log/dnf.log\fP and the output of
+\fBdnf system\-upgrade log \-\-number=\-1\fP (if applicable) in your bug reports.
+.sp
+Problems with dependency solving during download are best reported to the
+maintainers of the package(s) with the dependency problems.
+.sp
+Similarly, problems encountered on your system after the upgrade completes
+should be reported to the maintainers of the affected components. In other
+words: if (for example) KDE stops working, it\(aqs best if you report that to
+the KDE maintainers.
+.SH SEE ALSO
+.sp
+\fBdnf(8)\fP,
+\fBdnf.conf(5)\fP,
+\fBjournalctl(1)\fP\&.
+.SS Project homepage
+.sp
+\fI\%https://github.com/rpm\-software\-management/dnf\-plugins\-core\fP
+.SH AUTHORS
+.sp
+Will Woods <\fI\%wwoods@redhat.com\fP>
+.sp
+Štěpán Smetana <\fI\%ssmetana@redhat.com\fP>
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/dump-acct.8 b/upstream/fedora-40/man8/dump-acct.8
new file mode 100644
index 00000000..885e1a3f
--- /dev/null
+++ b/upstream/fedora-40/man8/dump-acct.8
@@ -0,0 +1,53 @@
+.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
+.\" Written by Ivana Hutarova Varekova <varekova@redhat.com>
+.TH DUMP_ACCT 8 "2009 December 2" "Linux accounting system"
+
+.SH NAME
+dump\-acct \- print an acct/pacct file in human-readable format
+
+.SH SYNOPSIS
+.B dump-acct
+[\fB\-r\fR|\fB\-\-reverse\fR]
+[\fB\-R\fR|\fB\-\-raw\fR]
+[\fB\-n\fR|\fB\-\-num\fR\ \fIrecs\fR]
+[\fB\-\-byte\-swap\fR]
+[\fB\-\-format\fR]
+[\fB\-\-ahz\fR\ \fIfreq\fR]
+[\fB\-h\fR|\fB\-\-help\fR]
+[\fIfiles\fR]
+
+.SH DESCRIPTION
+The dump-acct command transforms the output \fBfile\fR from the
+accton format to the human-readable format: one record per line.
+Each record consists of severald fields which are separated by
+character "|" (the meaning of concreate field depends on the
+version of kernel package - with which the accton file was created).
+
+.SH OPTIONS
+The following options are supported:
+.TP
+.B -r, --reverse
+Print the output in reverse order.
+.TP
+.B -R, --raw
+The records will be printed without any parsing.
+.TP
+.B -n, --num NUMRECS
+Display only the first NUMRECS number of records.
+.TP
+.B --byteswap
+Swap the bytes (relative to your system's native byte order) in --raw output.
+.TP
+.B --format
+Set output format with --raw option.
+.TP
+.B --ahz FREQ
+Set the AHZ (platform dependent frequency in Hertz) to FREQ.
+.TP
+.B -h, --help
+Print a help message and the default location of the process accounting file
+and exit.
+
+.SH SEE ALSO
+accton (8), lastcomm (1)
+
diff --git a/upstream/fedora-40/man8/dump-utmp.8 b/upstream/fedora-40/man8/dump-utmp.8
new file mode 100644
index 00000000..76b13e78
--- /dev/null
+++ b/upstream/fedora-40/man8/dump-utmp.8
@@ -0,0 +1,29 @@
+.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved.
+.\" Written by Ivana Hutarova Varekova <varekova@redhat.com>
+.TH DUMP_UTMP 8 "2009 December 2" "Linux accounting system"
+
+.SH NAME
+dump\-utmp \- print a utmp file in human-readable format
+
+.SH SYNOPSYS
+\fBdump-utmp\fR [\fB-hrR\fR] [\fB-n\fR <\fIrecs\fR>] <\fBfiles\fR>
+ [\fB--num\fR <\fIrecs\fR>] [\fB--raw\fR] [\fB--reverse\fR] [\fB--help\fR]
+
+.SH OPTIONS
+The following options are supported:
+.TP
+.B -h, --help
+Print a help message and the default location of the process accounting file
+and exit.
+.TP
+.B -r, --reverse
+Print the output in reverse order.
+.TP
+.B -R, --raw
+The records will be printed without any parsing.
+.TP
+.B -n, --num NUMRECS
+Display only the first NUMRECS number of records.
+
+.SH SEE ALSO
+accton (8), lastcomm (1), utmp (5)
diff --git a/upstream/fedora-40/man8/dumpe2fs.8 b/upstream/fedora-40/man8/dumpe2fs.8
new file mode 100644
index 00000000..e1b15c0c
--- /dev/null
+++ b/upstream/fedora-40/man8/dumpe2fs.8
@@ -0,0 +1,115 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH DUMPE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+dumpe2fs \- dump ext2/ext3/ext4 file system information
+.SH SYNOPSIS
+.B dumpe2fs
+[
+.B \-bfghixV
+]
+[
+.B \-o superblock=\fIsuperblock
+]
+[
+.B \-o blocksize=\fIblocksize
+]
+.I device
+.SH DESCRIPTION
+.B dumpe2fs
+prints the super block and blocks group information for the file system
+present on
+.I device.
+.PP
+.B Note:
+When used with a mounted file system, the printed
+information may be old or inconsistent.
+.SH OPTIONS
+.TP
+.B \-b
+print the blocks which are reserved as bad in the file system.
+.TP
+.B \-o superblock=\fIsuperblock
+use the block
+.I superblock
+when examining the file system.
+This option is not usually needed except by a file system wizard who
+is examining the remains of a very badly corrupted file system.
+.TP
+.B \-o blocksize=\fIblocksize
+use blocks of
+.I blocksize
+bytes when examining the file system.
+This option is not usually needed except by a file system wizard who
+is examining the remains of a very badly corrupted file system.
+.TP
+.B \-f
+force dumpe2fs to display a file system even though it may have some
+file system feature flags which dumpe2fs may not understand (and which
+can cause some of dumpe2fs's display to be suspect).
+.TP
+.B \-g
+display the group descriptor information in a machine readable colon-separated
+value format. The fields displayed are the group number; the number of the
+first block in the group; the superblock location (or -1 if not present); the
+range of blocks used by the group descriptors (or -1 if not present); the block
+bitmap location; the inode bitmap location; and the range of blocks used by the
+inode table.
+.TP
+.B \-h
+only display the superblock information and not any of the block
+group descriptor detail information.
+.TP
+.B \-i
+display the file system data from an image file created by
+.BR e2image ,
+using
+.I device
+as the pathname to the image file.
+.TP
+.B \-m
+If the
+.B mmp
+feature is enabled on the file system, check if
+.I device
+is in use by another node, see
+.BR e2mmpstatus (8)
+for full details. If used together with the
+.B \-i
+option, only the MMP block information is printed.
+.TP
+.B \-x
+print the detailed group information block numbers in hexadecimal format
+.TP
+.B \-V
+print the version number of
+.B dumpe2fs
+and exit.
+.SH EXIT CODE
+.B dumpe2fs
+exits with a return code of 0 if the operation completed without errors.
+It will exit with a non-zero return code if there are any errors, such
+as problems reading a valid superblock, bad checksums, or if the device
+is in use by another node and
+.B -m
+is specified.
+.SH BUGS
+You may need to know the physical file system structure to understand the
+output.
+.SH AUTHOR
+.B dumpe2fs
+was written by Remy Card <Remy.Card@linux.org>. It is currently being
+maintained by Theodore Ts'o <tytso@alum.mit.edu>.
+.SH AVAILABILITY
+.B dumpe2fs
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR e2fsck (8),
+.BR e2mmpstatus (8),
+.BR mke2fs (8),
+.BR tune2fs (8).
+.BR ext4 (5)
+
diff --git a/upstream/fedora-40/man8/e2freefrag.8 b/upstream/fedora-40/man8/e2freefrag.8
new file mode 100644
index 00000000..510cbb32
--- /dev/null
+++ b/upstream/fedora-40/man8/e2freefrag.8
@@ -0,0 +1,96 @@
+.\" -*- nroff -*-
+.TH E2FREEFRAG 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2freefrag \- report free space fragmentation information
+.SH SYNOPSIS
+.B e2freefrag
+[
+.B \-c chunk_kb
+]
+[
+.B \-h
+]
+.B filesys
+
+.SH DESCRIPTION
+.B e2freefrag
+is used to report free space fragmentation on ext2/3/4 file systems.
+.I filesys
+is the file system device name (e.g.
+.IR /dev/hdc1 ", " /dev/md0 ).
+The
+.B e2freefrag
+program will scan the block bitmap information to check how many free blocks
+are present as contiguous and aligned free space. The percentage of contiguous
+free blocks of size and of alignment
+.I chunk_kb
+is reported. It also displays the minimum/maximum/average free chunk size in
+the file system, along with a histogram of all free chunks. This information
+can be used to gauge the level of free space fragmentation in the file system.
+.SH OPTIONS
+.TP
+.BI \-c " chunk_kb"
+If a chunk size is specified, then
+.B e2freefrag
+will print how many free chunks of size
+.I chunk_kb
+are available in units of kilobytes (Kb). The chunk size must be a
+power of two and be larger than file system block size.
+.TP
+.B \-h
+Print the usage of the program.
+.SH EXAMPLE
+# e2freefrag /dev/vgroot/lvhome
+.br
+Device: /dev/vgroot/lvhome
+.br
+Blocksize: 4096 bytes
+.br
+Total blocks: 1504085
+.br
+Free blocks: 292995 (19.5%)
+.br
+
+Min. free extent: 4 KB
+.br
+Max. free extent: 24008 KB
+.br
+Avg. free extent: 252 KB
+.br
+
+HISTOGRAM OF FREE EXTENT SIZES:
+.br
+Extent Size Range : Free extents Free Blocks Percent
+.br
+ 4K... 8K- : 704 704 0.2%
+.br
+ 8K... 16K- : 810 1979 0.7%
+.br
+ 16K... 32K- : 843 4467 1.5%
+.br
+ 32K... 64K- : 579 6263 2.1%
+.br
+ 64K... 128K- : 493 11067 3.8%
+.br
+ 128K... 256K- : 394 18097 6.2%
+.br
+ 256K... 512K- : 281 25477 8.7%
+.br
+ 512K... 1024K- : 253 44914 15.3%
+.br
+ 1M... 2M- : 143 51897 17.7%
+.br
+ 2M... 4M- : 73 50683 17.3%
+.br
+ 4M... 8M- : 37 52417 17.9%
+.br
+ 8M... 16M- : 7 19028 6.5%
+.br
+ 16M... 32M- : 1 6002 2.0%
+.SH AUTHOR
+This version of e2freefrag was written by Rupesh Thakare, and modified by
+Andreas Dilger <adilger@sun.com>, and Kalpak Shah.
+.SH SEE ALSO
+.IR debugfs (8),
+.IR dumpe2fs (8),
+.IR e2fsck (8)
diff --git a/upstream/fedora-40/man8/e2fsck.8 b/upstream/fedora-40/man8/e2fsck.8
new file mode 100644
index 00000000..68b867cf
--- /dev/null
+++ b/upstream/fedora-40/man8/e2fsck.8
@@ -0,0 +1,509 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2FSCK 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2fsck \- check a Linux ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B e2fsck
+[
+.B \-pacnyrdfkvtDFV
+]
+[
+.B \-b
+.I superblock
+]
+[
+.B \-B
+.I blocksize
+]
+[
+.BR \-l | \-L
+.I bad_blocks_file
+]
+[
+.B \-C
+.I fd
+]
+[
+.B \-j
+.I external-journal
+]
+[
+.B \-E
+.I extended_options
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+.SH DESCRIPTION
+.B e2fsck
+is used to check the ext2/ext3/ext4 family of file systems.
+For ext3 and ext4 file systems that use a journal, if the system has been
+shut down uncleanly without any errors, normally, after replaying the
+committed transactions in the journal, the file system should be
+marked as clean. Hence, for file systems that use journaling,
+.B e2fsck
+will normally replay the journal and exit, unless its superblock
+indicates that further checking is required.
+.PP
+.I device
+is a block device (e.g.,
+.IR /dev/sdc1 )
+or file containing the file system.
+.PP
+Note that in general it is not safe to run
+.B e2fsck
+on mounted file systems. The only exception is if the
+.B \-n
+option is specified, and
+.BR \-c ,
+.BR \-l ,
+or
+.B -L
+options are
+.I not
+specified. However, even if it is safe to do so, the results printed by
+.B e2fsck
+are not valid if the file system is mounted. If
+.B e2fsck
+asks whether or not you should check a file system which is mounted,
+the only correct answer is ``no''. Only experts who really know what
+they are doing should consider answering this question in any other way.
+.PP
+If
+.B e2fsck
+is run in interactive mode (meaning that none of
+.BR \-y ,
+.BR \-n ,
+or
+.BR \-p
+are specified), the program will ask the user to fix each problem found in the
+file system. A response of 'y' will fix the error; 'n' will leave the error
+unfixed; and 'a' will fix the problem and all subsequent problems; pressing
+Enter will proceed with the default response, which is printed before the
+question mark. Pressing Control-C terminates e2fsck immediately.
+.SH OPTIONS
+.TP
+.B \-a
+This option does the same thing as the
+.B \-p
+option. It is provided for backwards compatibility only; it is
+suggested that people use
+.B \-p
+option whenever possible.
+.TP
+.BI \-b " superblock"
+Instead of using the normal superblock, use an alternative superblock
+specified by
+.IR superblock .
+This option is normally used when the primary superblock has been
+corrupted. The location of backup superblocks is dependent on the
+file system's blocksize, the number of blocks per group, and features
+such as
+.BR sparse_super .
+.IP
+Additional backup superblocks can be determined by using the
+.B mke2fs
+program using the
+.B \-n
+option to print out where the superblocks exist, supposing
+.B mke2fs
+is supplied with arguments that are consistent with the file system's layout
+(e.g. blocksize, blocks per group,
+.BR sparse_super ,
+etc.).
+.IP
+If an alternative superblock is specified and
+the file system is not opened read-only, e2fsck will make sure that the
+primary superblock is updated appropriately upon completion of the
+file system check.
+.TP
+.BI \-B " blocksize"
+Normally,
+.B e2fsck
+will search for the superblock at various different
+block sizes in an attempt to find the appropriate block size.
+This search can be fooled in some cases. This option forces
+.B e2fsck
+to only try locating the superblock at a particular blocksize.
+If the superblock is not found,
+.B e2fsck
+will terminate with a fatal error.
+.TP
+.B \-c
+This option causes
+.B e2fsck
+to use
+.BR badblocks (8)
+program to do a read-only scan of the device in order to find any bad
+blocks. If any bad blocks are found, they are added to the bad block
+inode to prevent them from being allocated to a file or directory. If
+this option is specified twice, then the bad block scan will be done
+using a non-destructive read-write test.
+.TP
+.BI \-C " fd"
+This option causes
+.B e2fsck
+to write completion information to the specified file descriptor
+so that the progress of the file system
+check can be monitored. This option is typically used by programs
+which are running
+.BR e2fsck .
+If the file descriptor number is negative, then absolute value of
+the file descriptor will be used, and the progress information will be
+suppressed initially. It can later be enabled by sending the
+.B e2fsck
+process a SIGUSR1 signal.
+If the file descriptor specified is 0,
+.B e2fsck
+will print a completion bar as it goes about its business. This requires
+that e2fsck is running on a video console or terminal.
+.TP
+.B \-d
+Print debugging output (useless unless you are debugging
+.BR e2fsck ).
+.TP
+.B \-D
+Optimize directories in file system. This option causes e2fsck to
+try to optimize all directories, either by re-indexing them if the
+file system supports directory indexing, or by sorting and compressing
+directories for smaller directories, or for file systems using
+traditional linear directories.
+.IP
+Even without the
+.B \-D
+option,
+.B e2fsck
+may sometimes optimize a few directories --- for example, if
+directory indexing is enabled and a directory is not indexed and would
+benefit from being indexed, or if the index structures are corrupted
+and need to be rebuilt. The
+.B \-D
+option forces all directories in the file system to be optimized. This can
+sometimes make them a little smaller and slightly faster to search, but
+in practice, you should rarely need to use this option.
+.IP
+The
+.B \-D
+option will detect directory entries with duplicate names in a single
+directory, which e2fsck normally does not enforce for performance reasons.
+.TP
+.BI \-E " extended_options"
+Set e2fsck extended options. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+following options are supported:
+.RS 1.2i
+.TP
+.BI ea_ver= extended_attribute_version
+Set the version of the extended attribute blocks which
+.B e2fsck
+will require while checking the file system. The version number may
+be 1 or 2. The default extended attribute version format is 2.
+.TP
+.BI journal_only
+Only replay the journal if required, but do not perform any further checks
+or repairs.
+.TP
+.BI fragcheck
+During pass 1, print a detailed report of any discontiguous blocks for
+files in the file system.
+.TP
+.BI discard
+Attempt to discard free blocks and unused inode blocks after the full
+file system check (discarding blocks is useful on solid state devices and sparse
+/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the
+file system has been fully checked and only if it does not contain recognizable
+errors. However there might be cases where
+.B e2fsck
+does not fully recognize a problem and hence in this case this
+option may prevent you from further manual data recovery.
+.TP
+.BI nodiscard
+Do not attempt to discard free blocks and unused inode blocks. This option is
+exactly the opposite of discard option. This is set as default.
+.TP
+.BI no_optimize_extents
+Do not offer to optimize the extent tree by eliminating unnecessary
+width or depth. This can also be enabled in the options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI optimize_extents
+Offer to optimize the extent tree by eliminating unnecessary
+width or depth. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI inode_count_fullmap
+Trade off using memory for speed when checking a file system with a
+large number of hard-linked files. The amount of memory required is
+proportional to the number of inodes in the file system. For large file
+systems, this can be gigabytes of memory. (For example, a 40TB file system
+with 2.8 billion inodes will consume an additional 5.7 GB memory if this
+optimization is enabled.) This optimization can also be enabled in the
+options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI no_inode_count_fullmap
+Disable the
+.B inode_count_fullmap
+optimization. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI readahead_kb
+Use this many KiB of memory to pre-fetch metadata in the hopes of reducing
+e2fsck runtime. By default, this is set to the size of two block groups' inode
+tables (typically 4MiB on a regular ext4 file system); if this amount is more
+than 1/50th of total physical memory, readahead is disabled. Set this to zero
+to disable readahead entirely.
+.TP
+.BI bmap2extent
+Convert block-mapped files to extent-mapped files.
+.TP
+.BI fixes_only
+Only fix damaged metadata; do not optimize htree directories or compress
+extent trees. This option is incompatible with the -D and -E bmap2extent
+options.
+.TP
+.BI check_encoding
+Force verification of encoded filenames in case-insensitive directories.
+This is the default mode if the file system has the strict flag enabled.
+.TP
+.BI unshare_blocks
+If the file system has shared blocks, with the shared blocks read-only feature
+enabled, then this will unshare all shared blocks and unset the read-only
+feature bit. If there is not enough free space then the operation will fail.
+If the file system does not have the read-only feature bit, but has shared
+blocks anyway, then this option will have no effect. Note when using this
+option, if there is no free space to clone blocks, there is no prompt to
+delete files and instead the operation will fail.
+.IP
+Note that unshare_blocks implies the "-f" option to ensure that all passes
+are run. Additionally, if "-n" is also specified, e2fsck will simulate trying
+to allocate enough space to deduplicate. If this fails, the exit code will
+be non-zero.
+.RE
+.TP
+.B \-f
+Force checking even if the file system seems clean.
+.TP
+.B \-F
+Flush the file system device's buffer caches before beginning. Only
+really useful for doing
+.B e2fsck
+time trials.
+.TP
+.BI \-j " external-journal"
+Set the pathname where the external-journal for this file system can be
+found.
+.TP
+.BI \-k
+When combined with the
+.B \-c
+option, any existing bad blocks in the bad blocks list are preserved,
+and any new bad blocks found by running
+.BR badblocks (8)
+will be added to the existing bad blocks list.
+.TP
+.BI \-l " filename"
+Add the block numbers listed in the file specified by
+.I filename
+to the list of bad blocks. The format of this file is the same as the
+one generated by the
+.BR badblocks (8)
+program. Note that the block numbers are based on the blocksize
+of the file system. Hence,
+.BR badblocks (8)
+must be given the blocksize of the file system in order to obtain correct
+results. As a result, it is much simpler and safer to use the
+.B -c
+option to
+.BR e2fsck ,
+since it will assure that the correct parameters are passed to the
+.B badblocks
+program.
+.TP
+.BI \-L " filename"
+Set the bad blocks list to be the list of blocks specified by
+.IR filename .
+(This option is the same as the
+.B \-l
+option, except the bad blocks list is cleared before the blocks listed
+in the file are added to the bad blocks list.)
+.TP
+.B \-n
+Open the file system read-only, and assume an answer of `no' to all
+questions. Allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-p
+or
+.B \-y
+options.
+.TP
+.B \-p
+Automatically repair ("preen") the file system. This option will cause
+.B e2fsck
+to automatically
+fix any file system problems that can be safely fixed without human
+intervention. If
+.B e2fsck
+discovers a problem which may require the system administrator
+to take additional corrective action,
+.B e2fsck
+will print a description of the problem and then exit with the value 4
+logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.)
+This option is normally used by the system's boot scripts. It may not
+be specified at the same time as the
+.B \-n
+or
+.B \-y
+options.
+.TP
+.B \-r
+This option does nothing at all; it is provided only for backwards
+compatibility.
+.TP
+.B \-t
+Print timing statistics for
+.BR e2fsck .
+If this option is used twice, additional timing statistics are printed
+on a pass by pass basis.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-V
+Print version information and exit.
+.TP
+.B \-y
+Assume an answer of `yes' to all questions; allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-n
+or
+.B \-p
+options.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+e2fsck-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH EXIT CODE
+The exit code returned by
+.B e2fsck
+is the sum of the following conditions:
+.br
+\ 0\ \-\ No errors
+.br
+\ 1\ \-\ File system errors corrected
+.br
+\ 2\ \-\ File system errors corrected, system should
+.br
+\ \ \ \ be rebooted
+.br
+\ 4\ \-\ File system errors left uncorrected
+.br
+\ 8\ \-\ Operational error
+.br
+\ 16\ \-\ Usage or syntax error
+.br
+\ 32\ \-\ E2fsck canceled by user request
+.br
+\ 128\ \-\ Shared library error
+.br
+.SH SIGNALS
+The following signals have the following effect when sent to
+.BR e2fsck .
+.TP
+.B SIGUSR1
+This signal causes
+.B e2fsck
+to start displaying a completion bar or emitting progress information.
+(See discussion of the
+.B \-C
+option.)
+.TP
+.B SIGUSR2
+This signal causes
+.B e2fsck
+to stop displaying a completion bar or emitting progress information.
+.SH REPORTING BUGS
+Almost any piece of software will have bugs. If you manage to find a
+file system which causes
+.B e2fsck
+to crash, or which
+.B e2fsck
+is unable to repair, please report it to the author.
+.PP
+Please include as much information as possible in your bug report.
+Ideally, include a complete transcript of the
+.B e2fsck
+run, so I can see exactly what error messages are displayed. (Make sure
+the messages printed by
+.B e2fsck
+are in English; if your system has been
+configured so that
+.BR e2fsck 's
+messages have been translated into another language, please set the the
+.B LC_ALL
+environment variable to
+.B C
+so that the transcript of e2fsck's output will be useful to me.)
+If you
+have a writable file system where the transcript can be stored, the
+.BR script (1)
+program is a handy way to save the output of
+.B e2fsck
+to a file.
+.PP
+It is also useful to send the output of
+.BR dumpe2fs (8).
+If a specific inode or inodes seems to be giving
+.B e2fsck
+trouble, try running the
+.BR debugfs (8)
+command and send the output of the
+.BR stat (1u)
+command run on the relevant inode(s). If the inode is a directory, the
+.B debugfs
+.I dump
+command will allow you to extract the contents of the directory inode,
+which can sent to me after being first run through
+.BR uuencode (1).
+The most useful data you can send to help reproduce
+the bug is a compressed raw image dump of the file system, generated using
+.BR e2image (8).
+See the
+.BR e2image (8)
+man page for more details.
+.PP
+Always include the full version string which
+.B e2fsck
+displays when it is run, so I know which version you are running.
+.SH ENVIRONMENT
+.TP
+.BI E2FSCK_CONFIG
+Determines the location of the configuration file (see
+.BR e2fsck.conf (5)).
+.SH AUTHOR
+This version of
+.B e2fsck
+was written by Theodore Ts'o <tytso@mit.edu>.
+.SH SEE ALSO
+.BR e2fsck.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR debugfs (8),
+.BR e2image (8),
+.BR mke2fs (8),
+.BR tune2fs (8)
diff --git a/upstream/fedora-40/man8/e2image.8 b/upstream/fedora-40/man8/e2image.8
new file mode 100644
index 00000000..25673488
--- /dev/null
+++ b/upstream/fedora-40/man8/e2image.8
@@ -0,0 +1,335 @@
+.\" -*- nroff -*-
+.\" Copyright 2001 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2IMAGE 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2image \- Save critical ext2/ext3/ext4 file system metadata to a file
+
+.SH SYNOPSIS
+.B e2image
+.RB [ \-r | \-Q " [" \-af ]]
+[
+.B \-b
+.I superblock
+]
+[
+.B \-B
+.I blocksize
+]
+[
+.B \-cnps
+]
+[
+.B \-o
+.I src_offset
+]
+[
+.B \-O
+.I dest_offset
+]
+.I device
+.I image-file
+.br
+.B e2image
+.B \-I
+.I device
+.I image-file
+
+.SH DESCRIPTION
+The
+.B e2image
+program will save critical ext2, ext3, or ext4 file system metadata located on
+.I device
+to a file specified by
+.IR image-file .
+The image file may be examined by
+.B dumpe2fs
+and
+.BR debugfs ,
+by using the
+.B \-i
+option to those programs. This can assist an expert in recovering
+catastrophically corrupted file systems.
+.PP
+It is a very good idea to create image files for all file systems on a
+system and save the partition layout (which can be generated using the
+.B fdisk \-l
+command) at regular intervals --- at boot time, and/or every week or so.
+The image file should be stored on some file system other than
+the file system whose data it contains, to ensure that this data is
+accessible in the case where the file system has been badly damaged.
+.PP
+To save disk space,
+.B e2image
+creates the image file as a sparse file, or in QCOW2 format. Hence, if
+the sparse image file needs to be copied to another location, it should
+either be compressed first or copied using the
+.B \-\-sparse=always
+option to the GNU version of
+.BR cp (1).
+This does not apply to the QCOW2 image, which is not sparse.
+.PP
+The size of an ext2 image file depends primarily on the size of the
+file systems and how many inodes are in use. For a typical 10 Gigabyte
+file system, with 200,000 inodes in use out of 1.2 million inodes, the image
+file will be approximately 35 Megabytes; a 4 Gigabyte file system with 15,000
+inodes in use out of 550,000 inodes will result in a 3 Megabyte image file.
+Image files tend to be quite compressible; an image file taking up 32 Megabytes
+of space on disk will generally compress down to 3 or 4 Megabytes.
+.PP
+If
+.I image-file
+is
+.BR \- ,
+then the output of
+.B e2image
+will be sent to standard output, so that the output can be piped to
+another program, such as
+.BR gzip (1).
+(Note that this is currently only supported when
+creating a raw image file using the
+.B \-r
+option, since the process of creating a normal image file, or QCOW2
+image currently
+requires random access to the file, which cannot be done using a
+pipe.
+
+.SH OPTIONS
+.TP
+.B \-a
+Include file data in the image file. Normally
+.B e2image
+only includes fs metadata, not regular file data. This option will
+produce an image that is suitable to use to clone the entire FS or
+for backup purposes. Note that this option only works with the
+raw
+.RI ( \-r )
+or QCOW2
+.RI ( \-Q )
+formats. In conjunction with the
+.B \-r
+option it is possible to clone all and only the used blocks of one
+file system to another device/image file.
+.TP
+.BI \-b " superblock"
+Get image from partition with broken primary superblock by using
+the superblock located at file system block number
+.IR superblock .
+The partition is copied as-is including broken primary superblock.
+.TP
+.BI \-B " blocksize"
+Set the file system blocksize in bytes. Normally,
+.B e2image
+will search for the superblock at various different block sizes in an
+attempt to find the appropriate blocksize. This search can be fooled in
+some cases. This option forces e2fsck to only try locating the superblock
+with a particular blocksize. If the superblock is not found, e2image will
+terminate with a fatal error.
+.TP
+.BI \-c
+Compare each block to be copied from the source
+.I device
+to the corresponding block in the target
+.IR image-file .
+If both are already the same, the write will be skipped. This is
+useful if the file system is being cloned to a flash-based storage device
+(where reads are very fast and where it is desirable to avoid unnecessary
+writes to reduce write wear on the device).
+.TP
+.B \-f
+Override the read-only requirement for the source file system when saving
+the image file using the
+.B \-r
+and
+.B \-Q
+options. Normally, if the source file system is in use, the resulting image
+file is very likely not going to be useful. In some cases where the source
+file system is in constant use this may be better than no image at all.
+.TP
+.B \-I
+install the metadata stored in the image file back to the device.
+It can be used to restore the file system metadata back to the device
+in emergency situations.
+.PP
+.B WARNING!!!!
+The
+.B \-I
+option should only be used as a desperation measure when other
+alternatives have failed. If the file system has changed since the image
+file was created, data
+.B will
+be lost. In general, you should make another full image backup of the
+file system first, in case you wish to try other recovery strategies afterward.
+.TP
+.B \-n
+Cause all image writes to be skipped, and instead only print the block
+numbers that would have been written.
+.TP
+.BI \-o " src_offset"
+Specify offset of the image to be read from the start of the source
+.I device
+in bytes. See
+.B OFFSETS
+for more details.
+.TP
+.BI \-O " tgt_offset"
+Specify offset of the image to be written from the start of the target
+.I image-file
+in bytes. See
+.B OFFSETS
+for more details.
+.TP
+.B \-p
+Show progress of image-file creation.
+.TP
+.B \-Q
+Create a QCOW2-format image file instead of a normal image file, suitable
+for use by virtual machine images, and other tools that can use the
+.B .qcow
+image format. See
+.B QCOW2 IMAGE FILES
+below for details.
+.TP
+.B \-r
+Create a raw image file instead of a normal image file. See
+.B RAW IMAGE FILES
+below for details.
+.TP
+.B \-s
+Scramble directory entries and zero out unused portions of the directory
+blocks in the written image file to avoid revealing information about
+the contents of the file system. However, this will prevent analysis of
+problems related to hash-tree indexed directories.
+
+.SH RAW IMAGE FILES
+The
+.B \-r
+option will create a raw image file, which differs
+from a normal image file in two ways. First, the file system metadata is
+placed in the same relative offset within
+.I image-file
+as it is in the
+.I device
+so that
+.BR debugfs (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR losetup (8),
+etc. and can be run directly on the raw image file. In order to minimize
+the amount of disk space consumed by the raw image file, it is
+created as a sparse file. (Beware of copying or
+compressing/decompressing this file with utilities that don't understand
+how to create sparse files; the file will become as large as the
+file system itself!) Secondly, the raw image file also includes indirect
+blocks and directory blocks, which the standard image file does not have.
+.PP
+Raw image files are sometimes used when sending file systems to the maintainer
+as part of bug reports to e2fsprogs. When used in this capacity, the
+recommended command is as follows (replace
+.B hda1
+with the appropriate device for your system):
+.PP
+.br
+ \fBe2image \-r /dev/hda1 \- | bzip2 > hda1.e2i.bz2\fR
+.PP
+This will only send the metadata information, without any data blocks.
+However, the filenames in the directory blocks can still reveal
+information about the contents of the file system that the bug reporter
+may wish to keep confidential. To address this concern, the
+.B \-s
+option can be specified to scramble the filenames in the image.
+.PP
+Note that this will work even if you substitute
+.B /dev/hda1
+for another raw
+disk image, or QCOW2 image previously created by
+.BR e2image .
+
+.SH QCOW2 IMAGE FILES
+The
+.B \-Q
+option will create a QCOW2 image file instead of a normal, or raw image file.
+A QCOW2 image contains all the information the raw image does, however unlike
+the raw image it is not sparse. The QCOW2 image minimize the amount of space
+used by the image by storing it in special format which packs data closely
+together, hence avoiding holes while still minimizing size.
+.PP
+In order to send file system to the maintainer as a part of bug report to
+e2fsprogs, use following commands (replace
+.B hda1
+with the appropriate device for your system):
+.PP
+.br
+\ \fBe2image \-Q /dev/hda1 hda1.qcow2\fR
+.br
+\ \fBbzip2 -z hda1.qcow2\fR
+.PP
+This will only send the metadata information, without any data blocks.
+As described for
+.B RAW IMAGE FILES
+the
+.B \-s
+option can be specified to scramble the file system names in the image.
+.PP
+Note that the QCOW2 image created by
+.B e2image
+is a regular QCOW2 image and can be processed by tools aware of QCOW2 format
+such as for example
+.BR qemu-img .
+.PP
+You can convert a .qcow2 image into a raw image with:
+.PP
+.br
+\ \fBe2image \-r hda1.qcow2 hda1.raw\fR
+.br
+.PP
+This can be useful to write a QCOW2 image containing all data to a
+sparse image file where it can be loop mounted, or to a disk partition.
+Note that this may not work with QCOW2 images not generated by e2image.
+
+.SH OFFSETS
+Normally a file system starts at the beginning of a partition, and
+.B e2image
+is run on the partition. When working with image files, you don't
+have the option of using the partition device, so you can specify
+the offset where the file system starts directly with the
+.B \-o
+option. Similarly the
+.B \-O
+option specifies the offset that should be seeked to in the destination
+before writing the file system.
+.PP
+For example, if you have a
+.B dd
+image of a whole hard drive that contains an ext2 fs in a partition
+starting at 1 MiB, you can clone that image to a block device with:
+.PP
+.br
+\ \fBe2image \-aro 1048576 img /dev/sda1\fR
+.br
+.PP
+Or you can clone a file system from a block device into an image file,
+leaving room in the first MiB for a partition table with:
+.PP
+.br
+\ \fBe2image -arO 1048576 /dev/sda1 img\fR
+.br
+.PP
+If you specify at least one offset, and only one file, an in-place
+move will be performed, allowing you to safely move the file system
+from one offset to another.
+
+.SH AUTHOR
+.B e2image
+was written by Theodore Ts'o (tytso@mit.edu).
+
+.SH AVAILABILITY
+.B e2image
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+
+.SH SEE ALSO
+.BR dumpe2fs (8),
+.BR debugfs (8)
+.BR e2fsck (8)
diff --git a/upstream/fedora-40/man8/e2label.8 b/upstream/fedora-40/man8/e2label.8
new file mode 100644
index 00000000..29adae7e
--- /dev/null
+++ b/upstream/fedora-40/man8/e2label.8
@@ -0,0 +1,58 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2LABEL 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2label \- Change the label on an ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B e2label
+.I device
+[
+.I volume-label
+]
+.SH DESCRIPTION
+.B e2label
+will display or change the volume label on the ext2, ext3, or ext4
+file system located on
+.I device.
+.PP
+If the optional argument
+.I volume-label
+is not present,
+.B e2label
+will simply display the current volume label.
+.PP
+If the optional argument
+.I volume-label
+is present, then
+.B e2label
+will set the volume label to be
+.IR volume-label .
+Ext2 volume labels can be at most 16 characters long; if
+.I volume-label
+is longer than 16 characters,
+.B e2label
+will truncate it and print a warning message. For other file systems that
+support online label manipulation and are mounted
+.B e2label
+will work as well, but it will not attempt to truncate the
+.I volume-label
+at all.
+.PP
+It is also possible to set the volume label using the
+.B \-L
+option of
+.BR tune2fs (8).
+.PP
+.SH AUTHOR
+.B e2label
+was written by Theodore Ts'o (tytso@mit.edu).
+.SH AVAILABILITY
+.B e2label
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR mke2fs (8),
+.BR tune2fs (8)
+
diff --git a/upstream/fedora-40/man8/e2mmpstatus.8 b/upstream/fedora-40/man8/e2mmpstatus.8
new file mode 100644
index 00000000..47a4624e
--- /dev/null
+++ b/upstream/fedora-40/man8/e2mmpstatus.8
@@ -0,0 +1,59 @@
+.\" -*- nroff -*-
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2MMPSTATUS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2mmpstatus \- Check MMP status of an ext4 file system
+.SH SYNOPSIS
+.BR e2mmpstatus " [" \-i ]
+.RI < file system >
+.SH OPTIONS
+.TP
+.B \-i
+prints out the MMP information rather than check it.
+.SH DESCRIPTION
+.B e2mmpstatus
+is used to check Multiple-Mount Protection (MMP) status of an ext4
+file system with the
+.B mmp
+feature enabled. The specified
+.I file system
+can be a device name (e.g.
+.IR /dev/hdc1 ", " /dev/sdb2 ),
+or an ext4 file system label or UUID, for example
+.B UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd
+or
+.BR LABEL=root .
+By default, the
+.B e2mmpstatus
+program checks whether it is safe to mount the file system without taking
+the risk of mounting it more than once.
+.PP
+MMP (multiple-mount protection) is a feature that adds protection against
+the file system being modified simultaneously by more than one node.
+It is NOT safe to mount a file system when one of the following conditions
+is true:
+.br
+ 1. e2fsck is running on the file system.
+.br
+ 2. the file system is in use by another node.
+.br
+ 3. The MMP block is corrupted or cannot be read for some reason.
+.br
+The
+.B e2mmpstatus
+program might wait for some time to see whether the MMP block is being
+updated by any node during this period. The time taken depends on how
+frequently the MMP block is being written by the other node.
+.SH EXIT CODE
+The exit code returned by
+.B e2mmpstatus
+is 0 when it is safe to mount the file system, 1 when the MMP block shows
+the file system is in use on another node and it is NOT safe to mount
+the file system, and 2 if some other failure occurred that prevents the
+check from properly detecting the current MMP status.
+.SH SEE ALSO
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR fstab (5),
+.BR fsck (8),
diff --git a/upstream/fedora-40/man8/e2undo.8 b/upstream/fedora-40/man8/e2undo.8
new file mode 100644
index 00000000..8b90f7aa
--- /dev/null
+++ b/upstream/fedora-40/man8/e2undo.8
@@ -0,0 +1,84 @@
+.\" -*- nroff -*-
+.\" Copyright 2008 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2UNDO 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2undo \- Replay an undo log for an ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B e2undo
+[
+.B \-f
+]
+[
+.B \-h
+]
+[
+.B \-n
+]
+[
+.B \-o
+.I offset
+]
+[
+.B \-v
+]
+[
+.B \-z
+.I undo_file
+]
+.I undo_log device
+.SH DESCRIPTION
+.B e2undo
+will replay the undo log
+.I undo_log
+for an ext2/ext3/ext4 file system found on
+.IR device .
+This can be
+used to undo a failed operation by an e2fsprogs program.
+.SH OPTIONS
+.TP
+.B \-f
+Normally,
+.B e2undo
+will check the file system superblock to make sure the undo log matches
+with the file system on the device. If they do not match,
+.B e2undo
+will refuse to apply the undo log as a safety mechanism. The
+.B \-f
+option disables this safety mechanism.
+.TP
+.B \-h
+Display a usage message.
+.TP
+.B \-n
+Dry-run; do not actually write blocks back to the file system.
+.TP
+.BI \-o " offset"
+Specify the file system's
+.I offset
+(in bytes) from the beginning of the device or file.
+.TP
+.B \-v
+Report which block we're currently replaying.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+e2undo-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH AUTHOR
+.B e2undo
+was written by Aneesh Kumar K.V. (aneesh.kumar@linux.vnet.ibm.com)
+.SH AVAILABILITY
+.B e2undo
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR mke2fs (8),
+.BR tune2fs (8)
+
diff --git a/upstream/fedora-40/man8/e4crypt.8 b/upstream/fedora-40/man8/e4crypt.8
new file mode 100644
index 00000000..579397f2
--- /dev/null
+++ b/upstream/fedora-40/man8/e4crypt.8
@@ -0,0 +1,74 @@
+.TH E4CRYPT 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e4crypt \- ext4 file system encryption utility
+.SH SYNOPSIS
+.B e4crypt add_key -S \fR[\fB -k \fIkeyring\fR ] [\fB-v\fR] [\fB-q\fR] \fR[\fB -p \fIpad\fR ] [ \fIpath\fR ... ]
+.br
+.B e4crypt new_session
+.br
+.B e4crypt get_policy \fIpath\fR ...
+.br
+.B e4crypt set_policy \fR[\fB -p \fIpad\fR ] \fIpolicy path\fR ...
+.SH DESCRIPTION
+.B e4crypt
+performs encryption management for ext4 file systems.
+.SH COMMANDS
+.TP
+.B e4crypt add_key \fR[\fB-vq\fR] [\fB-S\fI salt\fR ] [\fB-k \fIkeyring\fR ] [\fB -p \fIpad\fR ] [ \fIpath\fR ... ]
+Prompts the user for a passphrase and inserts it into the specified
+keyring. If no keyring is specified, e4crypt will use the session
+keyring if it exists or the user session keyring if it does not.
+.IP
+The
+.I salt
+argument is interpreted in a number of different ways, depending on how
+its prefix value. If the first two characters are "s:", then the rest
+of the argument will be used as an text string and used as the salt
+value. If the first two characters are "0x", then the rest of the
+argument will be parsed as a hex string as used as the salt. If the
+first characters are "f:" then the rest of the argument will be
+interpreted as a filename from which the salt value will be read. If
+the string begins with a '/' character, it will similarly be treated as
+filename. Finally, if the
+.I salt
+argument can be parsed as a valid UUID, then the UUID value will be used
+as a salt value.
+.IP
+The
+.I keyring
+argument specifies the keyring to which the key should be added.
+.IP
+The
+.I pad
+value specifies the number of bytes of padding will be added to
+directory names for obfuscation purposes. Valid
+.I pad
+values are 4, 8, 16, and 32.
+.IP
+If one or more directory paths are specified, e4crypt will try to
+set the policy of those directories to use the key just added by the
+.B add_key
+command. If a salt was explicitly specified, then it will be used
+to derive the encryption key of those directories. Otherwise a
+directory-specific default salt will be used.
+.TP
+.B e4crypt get_policy \fIpath\fR ...
+Print the policy for the directories specified on the command line.
+.TP
+.B e4crypt new_session
+Give the invoking process (typically a shell) a new session keyring,
+discarding its old session keyring.
+.TP
+.B e4crypt set_policy \fR[\fB -p \fIpad\fR ] \fIpolicy path\fR ...
+Sets the policy for the directories specified on the command line.
+All directories must be empty to set the policy; if the directory
+already has a policy established, e4crypt will validate that the
+policy matches what was specified. A policy is an encryption key
+identifier consisting of 16 hexadecimal characters.
+.SH AUTHOR
+Written by Michael Halcrow <mhalcrow@google.com>, Ildar Muslukhov
+<muslukhovi@gmail.com>, and Theodore Ts'o <tytso@mit.edu>
+.SH SEE ALSO
+.BR keyctl (1),
+.BR mke2fs (8),
+.BR mount (8).
diff --git a/upstream/fedora-40/man8/e4defrag.8 b/upstream/fedora-40/man8/e4defrag.8
new file mode 100644
index 00000000..53d7f17d
--- /dev/null
+++ b/upstream/fedora-40/man8/e4defrag.8
@@ -0,0 +1,90 @@
+.TH E4DEFRAG 8 "May 2009" "e4defrag version 2.0"
+.SH NAME
+e4defrag \- online defragmenter for ext4 file system
+.SH SYNOPSIS
+.B e4defrag
+[
+.B \-c
+]
+[
+.B \-v
+]
+.I target
+\&...
+.SH DESCRIPTION
+.B e4defrag
+reduces fragmentation of extent based file. The file targeted by
+.B e4defrag
+is created on ext4 file system made with "-O extent" option (see
+.BR mke2fs (8)).
+The targeted file gets more contiguous blocks and improves the file access
+speed.
+.PP
+.I target
+is a regular file, a directory, or a device that is mounted as ext4 file system.
+If
+.I target
+is a directory,
+.B e4defrag
+reduces fragmentation of all files in it. If
+.I target
+is a device,
+.B e4defrag
+gets the mount point of it and reduces fragmentation of all files in this mount
+point.
+.SH OPTIONS
+.TP
+.B \-c
+Get a current fragmentation count and an ideal fragmentation count, and
+calculate fragmentation score based on them. By seeing this score, we can
+determine whether we should execute
+.B e4defrag
+to
+.IR target .
+When used with
+.B \-v
+option, the current fragmentation count and the ideal fragmentation count are
+printed for each file.
+.IP
+Also this option outputs the average data size in one extent. If you see it,
+you'll find the file has ideal extents or not. Note that the maximum extent
+size is 131072KB in ext4 file system (if block size is 4KB).
+.IP
+If this option is specified,
+.I target
+is never defragmented.
+.TP
+.B \-v
+Print error messages and the fragmentation count before and after defrag for
+each file.
+.SH NOTES
+.B e4defrag
+does not support swap file, files in lost+found directory, and files allocated
+in indirect blocks. When
+.I target
+is a device or a mount point,
+.B e4defrag
+doesn't defragment files in mount point of other device.
+.PP
+It is safe to run e4defrag on a file while it is actively in use by another
+application. Since the contents of file blocks are copied using the
+page cache, this can result in a performance slowdown to both e4defrag
+and the application due to contention over the system's memory and disk
+bandwidth.
+.PP
+If the file system's free space is fragmented, or if there is
+insufficient free space available, e4defrag may not be able
+to improve the file's fragmentation.
+.PP
+Non-privileged users can execute
+.B e4defrag
+to their own file, but the score is not printed if
+.B \-c
+option is specified. Therefore, it is desirable to be executed by root user.
+.SH AUTHOR
+Written by Akira Fujita <a-fujita@rs.jp.nec.com> and Takashi Sato
+<t-sato@yk.jp.nec.com>.
+.SH SEE ALSO
+.BR mke2fs (8),
+.BR mount (8).
+
diff --git a/upstream/fedora-40/man8/editmap.sendmail.8 b/upstream/fedora-40/man8/editmap.sendmail.8
new file mode 100644
index 00000000..d6cb5a9a
--- /dev/null
+++ b/upstream/fedora-40/man8/editmap.sendmail.8
@@ -0,0 +1,110 @@
+.\" Copyright (c) 2000-2001, 2003 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: editmap.8,v 1.10 2013-11-22 20:51:26 ca Exp $
+.\"
+.TH EDITMAP 8 "$Date: 2013-11-22 20:51:26 $"
+.SH NAME
+.B editmap
+\- query and edit single records in database maps for sendmail
+.SH SYNOPSIS
+.B editmap
+.RB [ \-C
+.IR file ]
+.RB [ \-N ]
+.RB [ \-f ]
+.RB [ \-q|\-u|\-x ]
+maptype mapname
+key [ "value ..." ]
+.SH DESCRIPTION
+.B Editmap
+queries or edits one record in database maps used by the keyed map lookups in
+sendmail(8).
+Arguments are passed on the command line and output (for queries) is
+directed to standard output.
+.PP
+Depending on how it is compiled,
+.B editmap
+handles different database formats,
+selected using the
+.I maptype
+parameter.
+They may be
+.TP
+dbm
+DBM format maps.
+This requires the
+ndbm(3)
+library.
+.TP
+btree
+B-Tree format maps.
+This requires the new Berkeley DB
+library.
+.TP
+hash
+Hash format maps.
+This also requires the Berkeley DB
+library.
+.TP
+cdb
+CDB (Constant DataBase) format maps.
+This requires the tinycdb library.
+.PP
+If the
+.I TrustedUser
+option is set in the sendmail configuration file and
+.B editmap
+is invoked as root, the generated files will be owned by
+the specified
+.IR TrustedUser.
+.SS Flags
+.TP
+.B \-C
+Use the specified
+.B sendmail
+configuration file for looking up the TrustedUser option.
+.TP
+.B \-N
+Include the null byte that terminates strings
+in the map (for alias maps).
+.TP
+.B \-f
+Normally all upper case letters in the key
+are folded to lower case.
+This flag disables that behaviour.
+This is intended to mesh with the
+\-f flag in the
+.B K
+line in sendmail.cf.
+The value is never case folded.
+.TP
+.B \-q
+Query the map for the specified key. If found, print value to standard
+output and exit with 0. If not found then print an error
+message to stdout and exit with EX_UNAVAILABLE.
+.TP
+.B \-u
+Update the record for
+.I key
+with
+.I value
+or inserts a new record if one doesn't exist. Exits with 0 on success
+or EX_IOERR on failure.
+.TP
+.B \-x
+Deletes the specific key from the map. Exits with 0 on success or
+EX_IOERR on failure.
+.TP
+.SH SEE ALSO
+sendmail(8),
+makemap(8)
+.SH HISTORY
+The
+.B editmap
+command has no history.
diff --git a/upstream/fedora-40/man8/edquota.8 b/upstream/fedora-40/man8/edquota.8
new file mode 100644
index 00000000..85ad762e
--- /dev/null
+++ b/upstream/fedora-40/man8/edquota.8
@@ -0,0 +1,192 @@
+.TH EDQUOTA 8
+.SH NAME
+edquota \- edit user quotas
+.SH SYNOPSIS
+.B edquota
+[
+.B \-p
+.I protoname
+] [
+.BR \-u \ |
+.BR \-g \ |
+.B \-P
+] [
+.B \-rm
+] [
+.B \-F
+.I format-name
+] [
+.B \-f
+.I filesystem
+]
+.IR username \ |
+.IR groupname \ |
+.IR projectname .\|.\|.
+.LP
+.B edquota
+[
+.BR \-u \ |
+.BR \-g \ |
+.B \-P
+] [
+.B \-F
+.I format-name
+] [
+.B \-f
+.I filesystem
+]
+.B \-t
+.LP
+.B edquota
+[
+.BR \-u \ |
+.BR \-g \ |
+.B \-P
+] [
+.B \-F
+.I format-name
+] [
+.B \-f
+.I filesystem
+]
+.B \-T
+.IR username \ |
+.IR groupname \ |
+.IR projectname .\|.\|.
+.SH DESCRIPTION
+.IX "edquota command" "" "\fLedquota\fP \(em edit user quotas"
+.IX edit "user quotas \(em \fLedquota\fP"
+.IX "user quotas" "edquota command" "" "\fLedquota\fP \(em edit user quotas"
+.IX "disk quotas" "edquota command" "" "\fLedquota\fP \(em edit user quotas"
+.IX "quotas" "edquota command" "" "\fLedquota\fP \(em edit user quotas"
+.IX "filesystem" "edquota command" "" "\fLedquota\fP \(em edit user quotas"
+.B edquota
+is a quota editor. One or more users, groups, or projects may be specified
+on the command line. If a number is given in the place of user/group/project
+name it is treated as an UID/GID/Project ID. For each user, group, or project
+a temporary file is created with an
+.SM ASCII
+representation of the current disk quotas for that user, group, or project and
+an editor is then invoked on the file. The quotas may then be modified, new
+quotas added, etc.
+Setting a quota to zero indicates that no quota should be imposed.
+.PP
+Block usage and limits are reported and interpreted as multiples of kibibyte
+(1024 bytes) blocks by default. Symbols K, M, G, and T can be appended to
+numeric value to express kibibytes, mebibytes, gibibytes, and tebibytes.
+.PP
+Inode usage and limits are interpreted literally. Symbols k, m, g, and t can
+be appended to numeric value to express multiples of 10^3, 10^6, 10^9, and
+10^12 inodes.
+.PP
+Users are permitted to exceed their soft limits for a grace period that
+may be specified per filesystem. Once the grace period has expired, the
+soft limit is enforced as a hard limit.
+.PP
+The current usage information in the file is for informational purposes;
+only the hard and soft limits can be changed.
+.PP
+Upon leaving the editor,
+.B edquota
+reads the temporary file and modifies the binary quota files to reflect
+the changes made.
+.LP
+The editor invoked is
+.BR vi (1)
+unless either the
+.SB EDITOR
+or the
+.SB VISUAL
+environment variable specifies otherwise.
+.LP
+Only the super-user may edit quotas.
+.SH OPTIONS
+.TP
+.B -r, --remote
+Edit also non-local quota use rpc.rquotad on remote server to set quota.
+This option is available only if quota tools were compiled with enabled
+support for setting quotas over RPC.
+The
+.B -n
+option is equivalent, and is maintained for backward compatibility.
+.TP
+.B -m, --no-mixed-pathnames
+Currently, pathnames of NFSv4 mountpoints are sent without leading slash in the path.
+.BR rpc.rquotad
+uses this to recognize NFSv4 mounts and properly prepend pseudoroot of NFS filesystem
+to the path. If you specify this option,
+.BR edquota
+will always send paths with a leading slash. This can be useful for legacy reasons but
+be aware that quota over RPC will stop working if you are using new
+.BR rpc.rquotad .
+.TP
+.B -u, --user
+Edit the user quota. This is the default.
+.TP
+.B -g, --group
+Edit the group quota.
+.TP
+.B -P, --project
+Edit the project quota.
+.TP
+.B -p, --prototype=\f2protoname\f1
+Duplicate the quotas of the prototypical user
+specified for each user specified. This is the normal
+mechanism used to initialize quotas for groups of users.
+.TP
+.B --always-resolve
+Always try to translate user / group name to uid / gid even if the name
+is composed of digits only.
+.TP
+.B -F, --format=\f2format-name\f1
+Edit quota for specified format (ie. don't perform format autodetection).
+Possible format names are:
+.B vfsold
+Original quota format with 16-bit UIDs / GIDs,
+.B vfsv0
+Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits,
+.B vfsv1
+Quota format with 64-bit quota limits and usage,
+.B rpc
+(quota over NFS),
+.B xfs
+(quota on XFS filesystem)
+.TP
+.B \-f, --filesystem \f2filesystem\f1
+Perform specified operations only for given filesystem (default is to perform
+operations for all filesystems with quota).
+.TP
+.B \-t, --edit-period
+Edit the soft time limits for each filesystem.
+In old quota format if the time limits are zero, the default time limits in
+.B <linux/quota.h>
+are used. In new quota format time limits must be specified (there is no default
+value set in kernel). Time units of 'seconds', 'minutes', 'hours', and 'days'
+are understood. Time limits are printed in the greatest possible time unit such that
+the value is greater than or equal to one.
+.TP
+.B \-T, --edit-times
+Edit time for the user/group/project when softlimit is enforced. Possible values
+are 'unset' or number and unit. Units are the same as in
+.B \-t
+option.
+.SH FILES
+.PD 0
+.TP 20
+.BR aquota.user " or " aquota.group
+quota file at the filesystem root (version 2 quota, non-XFS filesystems)
+.TP
+.BR quota.user " or " quota.group
+quota file at the filesystem root (version 1 quota, non-XFS filesystems)
+.TP
+.B /etc/mtab
+mounted filesystems table
+.PD
+.SH SEE ALSO
+.BR quota (1),
+.BR vi (1),
+.BR quotactl (2),
+.BR quotacheck (8),
+.BR quotaon (8),
+.BR repquota (8),
+.BR setquota (8)
diff --git a/upstream/fedora-40/man8/ether-wake.8 b/upstream/fedora-40/man8/ether-wake.8
new file mode 100644
index 00000000..d0569c24
--- /dev/null
+++ b/upstream/fedora-40/man8/ether-wake.8
@@ -0,0 +1,81 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH ETHER-WAKE 8 "March 31, 2003" "Scyld"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+ether-wake \- A tool to send a Wake-On-LAN "Magic Packet"
+.SH SYNOPSIS
+.B ether-wake
+.RI [ options ] " Host-ID"
+.SH DESCRIPTION
+This manual page documents the usage of the
+.B ether-wake
+command.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invoke bold face and italics,
+.\" respectively.
+\fBether-wake\fP is a program that generates and transmits a Wake-On-LAN
+(WOL) "Magic Packet", used for restarting machines that have been
+soft-powered-down (ACPI D3-warm state). It generates the standard
+AMD Magic Packet format, optionally with a password included. The
+single required parameter is a station (MAC) address or a host ID that can
+be translated to a MAC address by an
+.BR ethers (5)
+database specified in
+.BR nsswitch.conf (5)
+.
+.SH OPTIONS
+\fBether-wake\fP needs a single dash (´-´) in front of options.
+A summary of options is included below.
+.TP
+.B \-b
+Send the wake-up packet to the broadcast address.
+.TP
+.B \-D
+Increase the Debug Level.
+.TP
+.B \-i ifname
+Use interface ifname instead of sending a wake packet to all interfaces.
+.TP
+.B \-p passwd
+Append a four or six byte password to the packet. Only a few adapters
+need or support this. A six byte password may be specified in Ethernet hex
+format (00:22:44:66:88:aa) or four byte dotted decimal (192.168.1.1) format.
+A four byte password must use the dotted decimal format.
+
+.TP
+.B \-V
+Show the program version information.
+
+.SH EXIT STATUS
+This program returns 0 on success.
+A permission failures (e.g. run as a non-root user) results in an exit
+status of 2. Unrecognized or invalid parameters result in an exit
+status of 3. Failure to retrieve network interface information or send
+a packet will result in an exit status of 1.
+
+.SH SEE ALSO
+.BR arp (8).
+.br
+.SH SECURITY
+On some non-Linux systems dropping root capability allows the process to be
+dumped, traced or debugged.
+If someone traces this program, they get control of a raw socket.
+Linux handles this safely, but beware when porting this program.
+.SH AUTHOR
+The ether-wake program was written by Donald Becker at Scyld Computing
+Corporation for use with the Scyld(\*(Tm) Beowulf System.
diff --git a/upstream/fedora-40/man8/exportfs.8 b/upstream/fedora-40/man8/exportfs.8
new file mode 100644
index 00000000..6d417a70
--- /dev/null
+++ b/upstream/fedora-40/man8/exportfs.8
@@ -0,0 +1,337 @@
+.\"@(#)exportfs.8"
+.\"
+.\" Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
+.\" Modifications 1999-2003 Neil Brown <neilb@cse.unsw.edu.au>
+.\"
+.TH exportfs 8 "30 September 2013"
+.SH NAME
+exportfs \- maintain table of exported NFS file systems
+.SH SYNOPSIS
+.BI "/usr/sbin/exportfs [-avi] [-o " "options,.." "] [" "client:/path" " ..]
+.br
+.BI "/usr/sbin/exportfs -r [-v]"
+.br
+.BI "/usr/sbin/exportfs [-av] -u [" "client:/path" " ..]
+.br
+.BI "/usr/sbin/exportfs [-v]
+.br
+.BI "/usr/sbin/exportfs -f"
+.br
+.BI "/usr/sbin/exportfs -s"
+.br
+.SH DESCRIPTION
+An NFS server maintains a table of local physical file systems
+that are accessible to NFS clients.
+Each file system in this table is referred to as an
+.IR "exported file system" ,
+or
+.IR export ,
+for short.
+.PP
+The
+.B exportfs
+command maintains the current table of exports for the NFS server.
+The master export table is kept in a file named
+.IR /var/lib/nfs/etab .
+This file is read by
+.B rpc.mountd
+when a client sends an NFS MOUNT request.
+.PP
+Normally the master export table is initialized with the contents of
+.I /etc/exports
+and files under
+.I /etc/exports.d
+by invoking
+.BR "exportfs -a" .
+However, a system administrator can choose to add or delete
+exports without modifying
+.I /etc/exports
+or files under
+.I /etc/exports.d
+by using the
+.B exportfs
+command.
+.PP
+.B exportfs
+and its partner program
+.B rpc.mountd
+work in one of two modes: a legacy mode which applies to 2.4 and
+earlier versions of the Linux kernel, and a new mode which applies to
+2.6 and later versions, providing the
+.B nfsd
+virtual filesystem has been mounted at
+.I /proc/fs/nfsd
+or
+.IR /proc/fs/nfs .
+On 2.6 kernels, if this filesystem is not mounted, the legacy mode is used.
+.PP
+In the new mode,
+.B exportfs
+does not give any information to the kernel, but provides it only to
+.B rpc.mountd
+through the
+.I /var/lib/nfs/etab
+file.
+.B rpc.mountd
+then manages kernel requests for information about exports, as needed.
+.PP
+In the legacy mode,
+exports which identify a specific host, rather than a subnet or netgroup,
+are entered directly into the kernel's export table,
+as well as being written to
+.IR /var/lib/nfs/etab .
+Further, exports listed in
+.I /var/lib/nfs/rmtab
+which match a non host-specific export request will cause an
+appropriate export entry for the host given in
+.I rmtab
+to be added to the kernel's export table.
+.SH OPTIONS
+.TP
+.B \-d kind " or " \-\-debug kind
+Turn on debugging. Valid kinds are: all, auth, call, general and parse.
+Debugging can also be turned on by setting
+.B debug=
+in the
+.B [exportfs]
+section of
+.IR /etc/nfs.conf .
+
+.TP
+.B -a
+Export or unexport all directories.
+.TP
+.BI "-o " options,...
+Specify a list of export options in the same manner as in
+.BR exports (5).
+.TP
+.B -i
+Ignore the
+.I /etc/exports
+file and files under
+.I /etc/exports.d
+directory. Only default options and options given on the command line are used.
+.TP
+.B -r
+Reexport all directories, synchronizing
+.I /var/lib/nfs/etab
+with
+.IR /etc/exports
+and files under
+.IR /etc/exports.d .
+This option removes entries in
+.I /var/lib/nfs/etab
+which have been deleted from
+.I /etc/exports
+or files under
+.IR /etc/exports.d ,
+and removes any entries from the
+kernel export table which are no longer valid.
+.TP
+.B -u
+Unexport one or more directories.
+.TP
+.B -f
+If
+.I /proc/fs/nfsd
+or
+.I /proc/fs/nfs
+is mounted, flush everything out of the kernel's export table.
+Fresh entries for active clients are added to the kernel's export table by
+.B rpc.mountd
+when they make their next NFS mount request.
+.TP
+.B -v
+Be verbose. When exporting or unexporting, show what's going on. When
+displaying the current export list, also display the list of export
+options.
+.TP
+.B -s
+Display the current export list suitable for /etc/exports.
+
+.SH CONFIGURATION FILE
+The
+.B [exportfs]
+section of the
+.I /etc/nfs.conf
+configuration file can contain a
+.B debug
+value, which can be one or more from the list
+.BR general ,
+.BR call ,
+.BR auth ,
+.BR parse ,
+.BR all .
+When a list is given, the members should be comma-separated.
+
+.B exportfs
+will also recognize the
+.B state-directory-path
+value from both the
+.B [mountd]
+section and the
+.B [exportd]
+section
+
+.SH DISCUSSION
+.SS Exporting Directories
+The first synopsis shows how to invoke
+.B exportfs
+when adding new entries to the export table. When using
+.BR "exportfs -a" ,
+all exports listed in
+.I /etc/exports
+and files under
+.I /etc/exports.d
+are added to
+.IR /var/lib/nfs/etab .
+The kernel's export table is also updated as needed.
+.PP
+The
+.I host:/path
+argument specifies a local directory to export,
+along with the client or clients who are permitted to access it.
+See
+.B exports(5)
+for a description of supported options and access list formats.
+.PP
+IPv6 presentation addresses contain colons, which are already used
+to separate the "host" and "path" command line arguments.
+When specifying a client using a raw IPv6 address,
+enclose the address in square brackets.
+For IPv6 network addresses, place the prefix just after the closing
+bracket.
+.PP
+To export a directory to the world, simply specify
+.IR :/path .
+.PP
+The export options for a particular host/directory pair derive from
+several sources.
+The default export options are
+.BR sync,ro,root_squash,wdelay .
+These can be overridden by entries in
+.IR /etc/exports
+or files under
+.IR /etc/exports.d .
+.PP
+A system administrator may override options from these sources using the
+.B -o
+command-line option on
+.BR exportfs .
+This option takes a comma-separated list of options in the same fashion
+as one would specify them in
+.IR /etc/exports .
+In this way
+.B exportfs
+can be used to modify the export options of an already exported directory.
+.SS Unexporting Directories
+The third synopsis shows how to unexport a currently exported directory.
+When using
+.BR "exportfs -ua" ,
+all entries listed in
+.I /var/lib/nfs/etab
+are removed from the kernel export tables, and the file is cleared. This
+effectively shuts down all NFS activity.
+.PP
+To remove an export, specify a
+.I host:/path
+pair. This deletes the specified entry from
+.I /var/lib/nfs/etab
+and removes the corresponding kernel entry (if any).
+.PP
+.SS Dumping the Export Table
+Invoking
+.B exportfs
+without options shows the current list of exported file systems.
+Adding the
+.B -v
+option causes
+.B exportfs
+to display the export options for each export.
+.SH EXAMPLES
+The following adds all directories listed in
+.I /etc/exports
+and files under
+.I /etc/exports.d
+to
+.I /var/lib/nfs/etab
+and pushes the resulting export entries into the kernel:
+.PP
+.nf
+.B "# exportfs -a
+.fi
+.PP
+To export the
+.I /usr/tmp
+directory to host
+.BR django ,
+allowing insecure file locking requests from clients:
+.PP
+.nf
+.B "# exportfs -o insecure_locks django:/usr/tmp
+.fi
+.PP
+To unexport the
+.I /usr/tmp
+directory:
+.PP
+.nf
+.B "# exportfs -u django:/usr/tmp
+.fi
+.PP
+To unexport all exports listed in
+.IR /etc/exports
+and files under
+.IR /etc/exports.d :
+.PP
+.nf
+.B "# exportfs -au
+.fi
+.PP
+To export the
+.I /usr/tmp
+directory to IPv6 link-local clients:
+.PP
+.nf
+.B "# exportfs [fe80::]/64:/usr/tmp
+.fi
+.SH USAGE NOTES
+Exporting to IP networks or DNS and NIS domains does not enable clients
+from these groups to access NFS immediately.
+Rather, these sorts of exports are hints to
+.BR rpc.mountd (8)
+to grant any mount requests from these clients.
+This is usually not a problem, because any existing mounts are preserved in
+.I rmtab
+across reboots.
+.PP
+When unexporting a network or domain entry, any current exports to members
+of this group will be checked against the remaining valid exports and
+if they themselves are no longer valid they will be removed.
+.SH FILES
+.TP 2.5i
+.I /etc/exports
+input file listing exports, export options, and access control lists
+.TP 2.5i
+.I /etc/exports.d
+directory where extra input files are stored.
+.B Note:
+only files that end with
+.I .exports
+are used.
+.TP 2.5i
+.I /var/lib/nfs/etab
+master table of exports
+.TP 2.5i
+.I /var/lib/nfs/rmtab
+table of clients accessing server's exports
+.SH SEE ALSO
+.BR exports (5),
+.BR nfs.conf (5),
+.BR rpc.mountd (8),
+.BR exportd (8),
+.BR netgroup (5)
+.SH AUTHORS
+Olaf Kirch <okir@monad.swb.de>
+.br
+Neil Brown <neilb@cse.unsw.edu.au>
diff --git a/upstream/fedora-40/man8/fatlabel.8 b/upstream/fedora-40/man8/fatlabel.8
new file mode 100644
index 00000000..a37c78c0
--- /dev/null
+++ b/upstream/fedora-40/man8/fatlabel.8
@@ -0,0 +1,172 @@
+.\" fatlabel.8 - manpage for fatlabel
+.\"
+.\" Copyright (C) 2006-2014 Daniel Baumann <daniel@debian.org>
+.\" Copyright (C) 2017 Andreas Bombe <aeb@debian.org>
+.\" Copyright (C) 2017-2021 Pali Rohár <pali.rohar@gmail.com>
+.\"
+.\" This program is free software: you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation, either version 3 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
+.\"
+.\" The complete text of the GNU General Public License
+.\" can be found in /usr/share/common-licenses/GPL-3 file.
+.\"
+.\"
+.TH FATLABEL 8 2021-01-31 "dosfstools 4.2"
+.SH NAME
+fatlabel \- set or get MS-DOS filesystem label or volume ID
+.\" ----------------------------------------------------------------------------
+.SH SYNOPSIS
+\fBfatlabel\fP [\fIOPTIONS\fP] \fIDEVICE\fP [\fINEW\fP]
+.\" ----------------------------------------------------------------------------
+.SH DESCRIPTION
+\fBfatlabel\fP will display or change the volume label or volume ID on the
+MS-DOS filesystem located on \fIDEVICE\fP.
+By default it works in label mode.
+It can be switched to volume ID mode with the option \fB\-i\fP or
+\fB\-\-volume\-id\fP.
+.PP
+If \fINEW\fP is omitted, then the existing label or volume ID is written to the
+standard output.
+A label can't be longer than 11 bytes and should be in all upper case for best
+compatibility.
+An empty string or a label consisting only of white space is not allowed.
+A volume ID must be given as a hexadecimal number (no leading "0x" or
+similar) and must fit into 32 bits.
+.\" ----------------------------------------------------------------------------
+.SH OPTIONS
+.IP "\fB\-i\fP, \fB\-\-volume\-id\fP" 4
+Switch to volume ID mode.
+.IP "\fB\-r\fP, \fB\-\-reset\fP" 4
+Remove label in label mode or generate new ID in volume ID mode.
+.IP "\fB-c\fP \fIPAGE\fP, \fB\-\-codepage\fP=\fIPAGE\fP" 4
+Use DOS codepage \fIPAGE\fP to encode/decode label.
+By default codepage 850 is used.
+.IP "\fB\-h\fP, \fB\-\-help\fP" 4
+Display a help message and terminate.
+.IP "\fB\-V\fP, \fB\-\-version\fP" 4
+Show version number and terminate.
+.\" ----------------------------------------------------------------------------
+.SH COMPATIBILITY and BUGS
+For historic reasons FAT label is stored in two different locations: in the boot
+sector and as a special volume label entry in the root directory.
+MS-DOS 5.00, MS-DOS 6.22, MS-DOS 7.10, Windows 98, Windows XP and also
+Windows 10 read FAT label only from the root directory.
+Absence of the volume label in the root directory is interpreted as empty or
+none label, even if boot sector contains some valid label.
+
+When Windows XP or Windows 10 system changes a FAT label it stores it only in
+the root directory \(em letting boot sector unchanged.
+Which leads to problems when a label is removed on Windows.
+Old label is still stored in the boot sector but is removed from the root
+directory.
+
+\fBdosfslabel\fP prior to the version 3.0.7 operated only with FAT labels stored
+in the boot sector, completely ignoring a volume label in the root directory.
+
+\fBdosfslabel\fP in versions 3.0.7\(en3.0.15 reads FAT labels from the root
+directory and in case of absence, it fallbacks to a label stored in the boot
+sector.
+Change operation resulted in updating a label in the boot sector and
+\fIsometimes\fP also in the root directory due to the bug.
+That bug was fixed in \fBdosfslabel\fP version 3.0.16 and since this version
+\fBdosfslabel\fP updates label in both location.
+
+Since version 4.2, \fBfatlabel\fP reads a FAT label only from the root directory
+(like MS-DOS and Windows systems), but changes a FAT label in both locations.
+In version 4.2 was fixed handling of empty labels and labels which starts with a
+byte 0xE5.
+Also in this version was added support for non-ASCII labels according to the
+specified DOS codepage and were added checks if a new label is valid.
+
+It is strongly suggested to not use \fBdosfslabel\fP prior to version 3.0.16.
+.\" ----------------------------------------------------------------------------
+.SH DOS CODEPAGES
+MS-DOS and Windows systems use DOS (OEM) codepage for encoding and decoding FAT
+label.
+In Windows systems DOS codepage is global for all running applications and
+cannot be configured explicitly.
+It is set implicitly by option \fILanguage for non-Unicode programs\fP available
+in \fIRegional and Language Options\fP via \fIControl Panel\fP.
+Default DOS codepage for fatlabel is 850.
+See following mapping table between DOS codepage and Language for non-Unicode
+programs:
+.TS
+tab(:);
+c lx.
+\fBCodepage\fP:\fBLanguage\fP
+437:T{
+English (India), English (Malaysia), English (Republic of the Philippines),
+English (Singapore), English (South Africa), English (United States),
+English (Zimbabwe), Filipino, Hausa, Igbo, Inuktitut, Kinyarwanda, Kiswahili,
+Yoruba
+T}
+720:Arabic, Dari, Persian, Urdu, Uyghur
+737:Greek
+775:Estonian, Latvian, Lithuanian
+850:T{
+Afrikaans, Alsatian, Basque, Breton, Catalan, Corsican, Danish, Dutch,
+English (Australia), English (Belize), English (Canada), English (Caribbean),
+English (Ireland), English (Jamaica), English (New Zealand),
+English (Trinidad and Tobago), English (United Kingdom), Faroese, Finnish,
+French, Frisian, Galician, German, Greenlandic, Icelandic, Indonesian, Irish,
+isiXhosa, isiZulu, Italian, K'iche, Lower Sorbian, Luxembourgish, Malay,
+Mapudungun, Mohawk, Norwegian, Occitan, Portuguese, Quechua, Romansh, Sami,
+Scottish Gaelic, Sesotho sa Leboa, Setswana, Spanish, Swedish, Tamazight,
+Upper Sorbian, Welsh, Wolof
+T}
+852:T{
+Albanian, Bosnian (Latin), Croatian, Czech, Hungarian, Polish, Romanian,
+Serbian (Latin), Slovak, Slovenian, Turkmen
+T}
+855:Bosnian (Cyrillic), Serbian (Cyrillic)
+857:Azeri (Latin), Turkish, Uzbek (Latin)
+862:Hebrew
+866:T{
+Azeri (Cyrillic), Bashkir, Belarusian, Bulgarian, Kyrgyz, Macedonian, Mongolian,
+Russian, Tajik, Tatar, Ukrainian, Uzbek (Cyrillic), Yakut
+T}
+874:Thai
+932:Japanese
+936:Chinese (Simplified)
+949:Korean
+950:Chinese (Traditional)
+1258:Vietnamese
+.TE
+.\" ----------------------------------------------------------------------------
+.SH SEE ALSO
+.BR fsck.fat (8),
+.BR mkfs.fat (8)
+.\" ----------------------------------------------------------------------------
+.SH HOMEPAGE
+The home for the \fBdosfstools\fP project is its
+.UR https://github.com/dosfstools/dosfstools
+GitHub project page
+.UE .
+.\" ----------------------------------------------------------------------------
+.SH AUTHORS
+\fBdosfstools\fP were written by
+.MT werner.almesberger@\:lrc.di.epfl.ch
+Werner Almesberger
+.ME ,
+.MT Roman.Hodek@\:informatik.\:uni-erlangen.de
+Roman Hodek
+.ME ,
+and others.
+Current maintainers are
+.MT aeb@\:debian.org
+Andreas Bombe
+.ME
+and
+.MT pali.rohar@\:gmail.com
+Pali Rohár
+.ME .
diff --git a/upstream/fedora-40/man8/filefrag.8 b/upstream/fedora-40/man8/filefrag.8
new file mode 100644
index 00000000..5cfa0523
--- /dev/null
+++ b/upstream/fedora-40/man8/filefrag.8
@@ -0,0 +1,77 @@
+.\" -*- nroff -*-
+.TH FILEFRAG 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+filefrag \- report on file fragmentation
+.SH SYNOPSIS
+.B filefrag
+[
+.BI \-b blocksize
+]
+[
+.B \-BeEkPsvVxX
+]
+[
+.I files...
+]
+.SH DESCRIPTION
+.B filefrag
+reports on how badly fragmented a particular file might be. It makes
+allowances for indirect blocks for ext2 and ext3 file systems, but can be
+used on files for any file system.
+.PP
+The
+.B filefrag
+program initially attempts to get the
+extent information using FIEMAP ioctl which is more efficient and faster.
+If FIEMAP is not supported then filefrag will fall back to using FIBMAP.
+.SH OPTIONS
+.TP
+.B \-B
+Force the use of the older FIBMAP ioctl instead of the FIEMAP ioctl for
+testing purposes.
+.TP
+.BI \-b blocksize
+Use
+.I blocksize
+in bytes, or with [KMG] suffix, up to 1GB for output instead of the
+file system blocksize. For compatibility with earlier versions of
+.BR filefrag ,
+if
+.I blocksize
+is unspecified it defaults to 1024 bytes. Since
+.I blocksize
+is an optional argument, it must be added without any space after
+.BR -b .
+.TP
+.B \-e
+Print output in extent format, even for block-mapped files.
+.TP
+.B \-E
+Display the contents of ext4's extent status cache. This feature is not
+supported on all kernels, and is only supported on ext4 file systems.
+.TP
+.B \-k
+Use 1024\-byte blocksize for output (identical to '\-b1024').
+.TP
+.B -P
+Pre-load the ext4 extent status cache for the file. This is not
+supported on all kernels, and is only supported on ext4 file systems.
+.TP
+.B \-s
+Sync the file before requesting the mapping.
+.TP
+.B \-v
+Be verbose when checking for file fragmentation.
+.TP
+.B \-V
+Print version number of program and library. If given twice, also
+print the FIEMAP flags that are understood by the current version.
+.TP
+.B \-x
+Display mapping of extended attributes.
+.TP
+.B \-X
+Display extent block numbers in hexadecimal format.
+.SH AUTHOR
+.B filefrag
+was written by Theodore Ts'o <tytso@mit.edu>.
diff --git a/upstream/fedora-40/man8/fsck.btrfs.8 b/upstream/fedora-40/man8/fsck.btrfs.8
new file mode 100644
index 00000000..02a04994
--- /dev/null
+++ b/upstream/fedora-40/man8/fsck.btrfs.8
@@ -0,0 +1,74 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "FSCK.BTRFS" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+fsck.btrfs \- do nothing, successfully
+.SH SYNOPSIS
+.sp
+\fBfsck.btrfs\fP [\-aApy] [<device>...]
+.SH DESCRIPTION
+.sp
+\fBfsck.btrfs\fP is a type of utility that should exist for any filesystem and is
+called during system setup when the corresponding \fB/etc/fstab\fP entries
+contain non\-zero value for \fIfs_passno\fP, see \fBfstab(5)\fP for more.
+.sp
+Traditional filesystems need to run their respective fsck utility in case the
+filesystem was not unmounted cleanly and the log needs to be replayed before
+mount. This is not needed for BTRFS. You should set fs_passno to 0.
+.sp
+If you wish to check the consistency of a BTRFS filesystem or repair a damaged
+filesystem, see \fI\%btrfs\-check(8)\fP\&. By default filesystem consistency is checked,
+the repair mode is enabled via the \fI\-\-repair\fP option (use with care!).
+.SH OPTIONS
+.sp
+The options are all the same and detect if \fBfsck.btrfs\fP is executed in
+non\-interactive mode and exits with success, otherwise prints a message about
+btrfs check.
+.SH EXIT STATUS
+.sp
+There are two possible exit codes returned:
+.INDENT 0.0
+.TP
+.B 0
+No error
+.TP
+.B 8
+Operational error, e.g. device does not exist
+.UNINDENT
+.SH FILES
+.sp
+\fB/etc/fstab\fP
+.SH SEE ALSO
+.sp
+\fI\%btrfs(8)\fP,
+\fBfsck(8)\fP,
+\fBfstab(5)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/fsck.ext2.8 b/upstream/fedora-40/man8/fsck.ext2.8
new file mode 100644
index 00000000..68b867cf
--- /dev/null
+++ b/upstream/fedora-40/man8/fsck.ext2.8
@@ -0,0 +1,509 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2FSCK 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2fsck \- check a Linux ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B e2fsck
+[
+.B \-pacnyrdfkvtDFV
+]
+[
+.B \-b
+.I superblock
+]
+[
+.B \-B
+.I blocksize
+]
+[
+.BR \-l | \-L
+.I bad_blocks_file
+]
+[
+.B \-C
+.I fd
+]
+[
+.B \-j
+.I external-journal
+]
+[
+.B \-E
+.I extended_options
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+.SH DESCRIPTION
+.B e2fsck
+is used to check the ext2/ext3/ext4 family of file systems.
+For ext3 and ext4 file systems that use a journal, if the system has been
+shut down uncleanly without any errors, normally, after replaying the
+committed transactions in the journal, the file system should be
+marked as clean. Hence, for file systems that use journaling,
+.B e2fsck
+will normally replay the journal and exit, unless its superblock
+indicates that further checking is required.
+.PP
+.I device
+is a block device (e.g.,
+.IR /dev/sdc1 )
+or file containing the file system.
+.PP
+Note that in general it is not safe to run
+.B e2fsck
+on mounted file systems. The only exception is if the
+.B \-n
+option is specified, and
+.BR \-c ,
+.BR \-l ,
+or
+.B -L
+options are
+.I not
+specified. However, even if it is safe to do so, the results printed by
+.B e2fsck
+are not valid if the file system is mounted. If
+.B e2fsck
+asks whether or not you should check a file system which is mounted,
+the only correct answer is ``no''. Only experts who really know what
+they are doing should consider answering this question in any other way.
+.PP
+If
+.B e2fsck
+is run in interactive mode (meaning that none of
+.BR \-y ,
+.BR \-n ,
+or
+.BR \-p
+are specified), the program will ask the user to fix each problem found in the
+file system. A response of 'y' will fix the error; 'n' will leave the error
+unfixed; and 'a' will fix the problem and all subsequent problems; pressing
+Enter will proceed with the default response, which is printed before the
+question mark. Pressing Control-C terminates e2fsck immediately.
+.SH OPTIONS
+.TP
+.B \-a
+This option does the same thing as the
+.B \-p
+option. It is provided for backwards compatibility only; it is
+suggested that people use
+.B \-p
+option whenever possible.
+.TP
+.BI \-b " superblock"
+Instead of using the normal superblock, use an alternative superblock
+specified by
+.IR superblock .
+This option is normally used when the primary superblock has been
+corrupted. The location of backup superblocks is dependent on the
+file system's blocksize, the number of blocks per group, and features
+such as
+.BR sparse_super .
+.IP
+Additional backup superblocks can be determined by using the
+.B mke2fs
+program using the
+.B \-n
+option to print out where the superblocks exist, supposing
+.B mke2fs
+is supplied with arguments that are consistent with the file system's layout
+(e.g. blocksize, blocks per group,
+.BR sparse_super ,
+etc.).
+.IP
+If an alternative superblock is specified and
+the file system is not opened read-only, e2fsck will make sure that the
+primary superblock is updated appropriately upon completion of the
+file system check.
+.TP
+.BI \-B " blocksize"
+Normally,
+.B e2fsck
+will search for the superblock at various different
+block sizes in an attempt to find the appropriate block size.
+This search can be fooled in some cases. This option forces
+.B e2fsck
+to only try locating the superblock at a particular blocksize.
+If the superblock is not found,
+.B e2fsck
+will terminate with a fatal error.
+.TP
+.B \-c
+This option causes
+.B e2fsck
+to use
+.BR badblocks (8)
+program to do a read-only scan of the device in order to find any bad
+blocks. If any bad blocks are found, they are added to the bad block
+inode to prevent them from being allocated to a file or directory. If
+this option is specified twice, then the bad block scan will be done
+using a non-destructive read-write test.
+.TP
+.BI \-C " fd"
+This option causes
+.B e2fsck
+to write completion information to the specified file descriptor
+so that the progress of the file system
+check can be monitored. This option is typically used by programs
+which are running
+.BR e2fsck .
+If the file descriptor number is negative, then absolute value of
+the file descriptor will be used, and the progress information will be
+suppressed initially. It can later be enabled by sending the
+.B e2fsck
+process a SIGUSR1 signal.
+If the file descriptor specified is 0,
+.B e2fsck
+will print a completion bar as it goes about its business. This requires
+that e2fsck is running on a video console or terminal.
+.TP
+.B \-d
+Print debugging output (useless unless you are debugging
+.BR e2fsck ).
+.TP
+.B \-D
+Optimize directories in file system. This option causes e2fsck to
+try to optimize all directories, either by re-indexing them if the
+file system supports directory indexing, or by sorting and compressing
+directories for smaller directories, or for file systems using
+traditional linear directories.
+.IP
+Even without the
+.B \-D
+option,
+.B e2fsck
+may sometimes optimize a few directories --- for example, if
+directory indexing is enabled and a directory is not indexed and would
+benefit from being indexed, or if the index structures are corrupted
+and need to be rebuilt. The
+.B \-D
+option forces all directories in the file system to be optimized. This can
+sometimes make them a little smaller and slightly faster to search, but
+in practice, you should rarely need to use this option.
+.IP
+The
+.B \-D
+option will detect directory entries with duplicate names in a single
+directory, which e2fsck normally does not enforce for performance reasons.
+.TP
+.BI \-E " extended_options"
+Set e2fsck extended options. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+following options are supported:
+.RS 1.2i
+.TP
+.BI ea_ver= extended_attribute_version
+Set the version of the extended attribute blocks which
+.B e2fsck
+will require while checking the file system. The version number may
+be 1 or 2. The default extended attribute version format is 2.
+.TP
+.BI journal_only
+Only replay the journal if required, but do not perform any further checks
+or repairs.
+.TP
+.BI fragcheck
+During pass 1, print a detailed report of any discontiguous blocks for
+files in the file system.
+.TP
+.BI discard
+Attempt to discard free blocks and unused inode blocks after the full
+file system check (discarding blocks is useful on solid state devices and sparse
+/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the
+file system has been fully checked and only if it does not contain recognizable
+errors. However there might be cases where
+.B e2fsck
+does not fully recognize a problem and hence in this case this
+option may prevent you from further manual data recovery.
+.TP
+.BI nodiscard
+Do not attempt to discard free blocks and unused inode blocks. This option is
+exactly the opposite of discard option. This is set as default.
+.TP
+.BI no_optimize_extents
+Do not offer to optimize the extent tree by eliminating unnecessary
+width or depth. This can also be enabled in the options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI optimize_extents
+Offer to optimize the extent tree by eliminating unnecessary
+width or depth. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI inode_count_fullmap
+Trade off using memory for speed when checking a file system with a
+large number of hard-linked files. The amount of memory required is
+proportional to the number of inodes in the file system. For large file
+systems, this can be gigabytes of memory. (For example, a 40TB file system
+with 2.8 billion inodes will consume an additional 5.7 GB memory if this
+optimization is enabled.) This optimization can also be enabled in the
+options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI no_inode_count_fullmap
+Disable the
+.B inode_count_fullmap
+optimization. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI readahead_kb
+Use this many KiB of memory to pre-fetch metadata in the hopes of reducing
+e2fsck runtime. By default, this is set to the size of two block groups' inode
+tables (typically 4MiB on a regular ext4 file system); if this amount is more
+than 1/50th of total physical memory, readahead is disabled. Set this to zero
+to disable readahead entirely.
+.TP
+.BI bmap2extent
+Convert block-mapped files to extent-mapped files.
+.TP
+.BI fixes_only
+Only fix damaged metadata; do not optimize htree directories or compress
+extent trees. This option is incompatible with the -D and -E bmap2extent
+options.
+.TP
+.BI check_encoding
+Force verification of encoded filenames in case-insensitive directories.
+This is the default mode if the file system has the strict flag enabled.
+.TP
+.BI unshare_blocks
+If the file system has shared blocks, with the shared blocks read-only feature
+enabled, then this will unshare all shared blocks and unset the read-only
+feature bit. If there is not enough free space then the operation will fail.
+If the file system does not have the read-only feature bit, but has shared
+blocks anyway, then this option will have no effect. Note when using this
+option, if there is no free space to clone blocks, there is no prompt to
+delete files and instead the operation will fail.
+.IP
+Note that unshare_blocks implies the "-f" option to ensure that all passes
+are run. Additionally, if "-n" is also specified, e2fsck will simulate trying
+to allocate enough space to deduplicate. If this fails, the exit code will
+be non-zero.
+.RE
+.TP
+.B \-f
+Force checking even if the file system seems clean.
+.TP
+.B \-F
+Flush the file system device's buffer caches before beginning. Only
+really useful for doing
+.B e2fsck
+time trials.
+.TP
+.BI \-j " external-journal"
+Set the pathname where the external-journal for this file system can be
+found.
+.TP
+.BI \-k
+When combined with the
+.B \-c
+option, any existing bad blocks in the bad blocks list are preserved,
+and any new bad blocks found by running
+.BR badblocks (8)
+will be added to the existing bad blocks list.
+.TP
+.BI \-l " filename"
+Add the block numbers listed in the file specified by
+.I filename
+to the list of bad blocks. The format of this file is the same as the
+one generated by the
+.BR badblocks (8)
+program. Note that the block numbers are based on the blocksize
+of the file system. Hence,
+.BR badblocks (8)
+must be given the blocksize of the file system in order to obtain correct
+results. As a result, it is much simpler and safer to use the
+.B -c
+option to
+.BR e2fsck ,
+since it will assure that the correct parameters are passed to the
+.B badblocks
+program.
+.TP
+.BI \-L " filename"
+Set the bad blocks list to be the list of blocks specified by
+.IR filename .
+(This option is the same as the
+.B \-l
+option, except the bad blocks list is cleared before the blocks listed
+in the file are added to the bad blocks list.)
+.TP
+.B \-n
+Open the file system read-only, and assume an answer of `no' to all
+questions. Allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-p
+or
+.B \-y
+options.
+.TP
+.B \-p
+Automatically repair ("preen") the file system. This option will cause
+.B e2fsck
+to automatically
+fix any file system problems that can be safely fixed without human
+intervention. If
+.B e2fsck
+discovers a problem which may require the system administrator
+to take additional corrective action,
+.B e2fsck
+will print a description of the problem and then exit with the value 4
+logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.)
+This option is normally used by the system's boot scripts. It may not
+be specified at the same time as the
+.B \-n
+or
+.B \-y
+options.
+.TP
+.B \-r
+This option does nothing at all; it is provided only for backwards
+compatibility.
+.TP
+.B \-t
+Print timing statistics for
+.BR e2fsck .
+If this option is used twice, additional timing statistics are printed
+on a pass by pass basis.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-V
+Print version information and exit.
+.TP
+.B \-y
+Assume an answer of `yes' to all questions; allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-n
+or
+.B \-p
+options.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+e2fsck-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH EXIT CODE
+The exit code returned by
+.B e2fsck
+is the sum of the following conditions:
+.br
+\ 0\ \-\ No errors
+.br
+\ 1\ \-\ File system errors corrected
+.br
+\ 2\ \-\ File system errors corrected, system should
+.br
+\ \ \ \ be rebooted
+.br
+\ 4\ \-\ File system errors left uncorrected
+.br
+\ 8\ \-\ Operational error
+.br
+\ 16\ \-\ Usage or syntax error
+.br
+\ 32\ \-\ E2fsck canceled by user request
+.br
+\ 128\ \-\ Shared library error
+.br
+.SH SIGNALS
+The following signals have the following effect when sent to
+.BR e2fsck .
+.TP
+.B SIGUSR1
+This signal causes
+.B e2fsck
+to start displaying a completion bar or emitting progress information.
+(See discussion of the
+.B \-C
+option.)
+.TP
+.B SIGUSR2
+This signal causes
+.B e2fsck
+to stop displaying a completion bar or emitting progress information.
+.SH REPORTING BUGS
+Almost any piece of software will have bugs. If you manage to find a
+file system which causes
+.B e2fsck
+to crash, or which
+.B e2fsck
+is unable to repair, please report it to the author.
+.PP
+Please include as much information as possible in your bug report.
+Ideally, include a complete transcript of the
+.B e2fsck
+run, so I can see exactly what error messages are displayed. (Make sure
+the messages printed by
+.B e2fsck
+are in English; if your system has been
+configured so that
+.BR e2fsck 's
+messages have been translated into another language, please set the the
+.B LC_ALL
+environment variable to
+.B C
+so that the transcript of e2fsck's output will be useful to me.)
+If you
+have a writable file system where the transcript can be stored, the
+.BR script (1)
+program is a handy way to save the output of
+.B e2fsck
+to a file.
+.PP
+It is also useful to send the output of
+.BR dumpe2fs (8).
+If a specific inode or inodes seems to be giving
+.B e2fsck
+trouble, try running the
+.BR debugfs (8)
+command and send the output of the
+.BR stat (1u)
+command run on the relevant inode(s). If the inode is a directory, the
+.B debugfs
+.I dump
+command will allow you to extract the contents of the directory inode,
+which can sent to me after being first run through
+.BR uuencode (1).
+The most useful data you can send to help reproduce
+the bug is a compressed raw image dump of the file system, generated using
+.BR e2image (8).
+See the
+.BR e2image (8)
+man page for more details.
+.PP
+Always include the full version string which
+.B e2fsck
+displays when it is run, so I know which version you are running.
+.SH ENVIRONMENT
+.TP
+.BI E2FSCK_CONFIG
+Determines the location of the configuration file (see
+.BR e2fsck.conf (5)).
+.SH AUTHOR
+This version of
+.B e2fsck
+was written by Theodore Ts'o <tytso@mit.edu>.
+.SH SEE ALSO
+.BR e2fsck.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR debugfs (8),
+.BR e2image (8),
+.BR mke2fs (8),
+.BR tune2fs (8)
diff --git a/upstream/fedora-40/man8/fsck.ext3.8 b/upstream/fedora-40/man8/fsck.ext3.8
new file mode 100644
index 00000000..68b867cf
--- /dev/null
+++ b/upstream/fedora-40/man8/fsck.ext3.8
@@ -0,0 +1,509 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2FSCK 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2fsck \- check a Linux ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B e2fsck
+[
+.B \-pacnyrdfkvtDFV
+]
+[
+.B \-b
+.I superblock
+]
+[
+.B \-B
+.I blocksize
+]
+[
+.BR \-l | \-L
+.I bad_blocks_file
+]
+[
+.B \-C
+.I fd
+]
+[
+.B \-j
+.I external-journal
+]
+[
+.B \-E
+.I extended_options
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+.SH DESCRIPTION
+.B e2fsck
+is used to check the ext2/ext3/ext4 family of file systems.
+For ext3 and ext4 file systems that use a journal, if the system has been
+shut down uncleanly without any errors, normally, after replaying the
+committed transactions in the journal, the file system should be
+marked as clean. Hence, for file systems that use journaling,
+.B e2fsck
+will normally replay the journal and exit, unless its superblock
+indicates that further checking is required.
+.PP
+.I device
+is a block device (e.g.,
+.IR /dev/sdc1 )
+or file containing the file system.
+.PP
+Note that in general it is not safe to run
+.B e2fsck
+on mounted file systems. The only exception is if the
+.B \-n
+option is specified, and
+.BR \-c ,
+.BR \-l ,
+or
+.B -L
+options are
+.I not
+specified. However, even if it is safe to do so, the results printed by
+.B e2fsck
+are not valid if the file system is mounted. If
+.B e2fsck
+asks whether or not you should check a file system which is mounted,
+the only correct answer is ``no''. Only experts who really know what
+they are doing should consider answering this question in any other way.
+.PP
+If
+.B e2fsck
+is run in interactive mode (meaning that none of
+.BR \-y ,
+.BR \-n ,
+or
+.BR \-p
+are specified), the program will ask the user to fix each problem found in the
+file system. A response of 'y' will fix the error; 'n' will leave the error
+unfixed; and 'a' will fix the problem and all subsequent problems; pressing
+Enter will proceed with the default response, which is printed before the
+question mark. Pressing Control-C terminates e2fsck immediately.
+.SH OPTIONS
+.TP
+.B \-a
+This option does the same thing as the
+.B \-p
+option. It is provided for backwards compatibility only; it is
+suggested that people use
+.B \-p
+option whenever possible.
+.TP
+.BI \-b " superblock"
+Instead of using the normal superblock, use an alternative superblock
+specified by
+.IR superblock .
+This option is normally used when the primary superblock has been
+corrupted. The location of backup superblocks is dependent on the
+file system's blocksize, the number of blocks per group, and features
+such as
+.BR sparse_super .
+.IP
+Additional backup superblocks can be determined by using the
+.B mke2fs
+program using the
+.B \-n
+option to print out where the superblocks exist, supposing
+.B mke2fs
+is supplied with arguments that are consistent with the file system's layout
+(e.g. blocksize, blocks per group,
+.BR sparse_super ,
+etc.).
+.IP
+If an alternative superblock is specified and
+the file system is not opened read-only, e2fsck will make sure that the
+primary superblock is updated appropriately upon completion of the
+file system check.
+.TP
+.BI \-B " blocksize"
+Normally,
+.B e2fsck
+will search for the superblock at various different
+block sizes in an attempt to find the appropriate block size.
+This search can be fooled in some cases. This option forces
+.B e2fsck
+to only try locating the superblock at a particular blocksize.
+If the superblock is not found,
+.B e2fsck
+will terminate with a fatal error.
+.TP
+.B \-c
+This option causes
+.B e2fsck
+to use
+.BR badblocks (8)
+program to do a read-only scan of the device in order to find any bad
+blocks. If any bad blocks are found, they are added to the bad block
+inode to prevent them from being allocated to a file or directory. If
+this option is specified twice, then the bad block scan will be done
+using a non-destructive read-write test.
+.TP
+.BI \-C " fd"
+This option causes
+.B e2fsck
+to write completion information to the specified file descriptor
+so that the progress of the file system
+check can be monitored. This option is typically used by programs
+which are running
+.BR e2fsck .
+If the file descriptor number is negative, then absolute value of
+the file descriptor will be used, and the progress information will be
+suppressed initially. It can later be enabled by sending the
+.B e2fsck
+process a SIGUSR1 signal.
+If the file descriptor specified is 0,
+.B e2fsck
+will print a completion bar as it goes about its business. This requires
+that e2fsck is running on a video console or terminal.
+.TP
+.B \-d
+Print debugging output (useless unless you are debugging
+.BR e2fsck ).
+.TP
+.B \-D
+Optimize directories in file system. This option causes e2fsck to
+try to optimize all directories, either by re-indexing them if the
+file system supports directory indexing, or by sorting and compressing
+directories for smaller directories, or for file systems using
+traditional linear directories.
+.IP
+Even without the
+.B \-D
+option,
+.B e2fsck
+may sometimes optimize a few directories --- for example, if
+directory indexing is enabled and a directory is not indexed and would
+benefit from being indexed, or if the index structures are corrupted
+and need to be rebuilt. The
+.B \-D
+option forces all directories in the file system to be optimized. This can
+sometimes make them a little smaller and slightly faster to search, but
+in practice, you should rarely need to use this option.
+.IP
+The
+.B \-D
+option will detect directory entries with duplicate names in a single
+directory, which e2fsck normally does not enforce for performance reasons.
+.TP
+.BI \-E " extended_options"
+Set e2fsck extended options. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+following options are supported:
+.RS 1.2i
+.TP
+.BI ea_ver= extended_attribute_version
+Set the version of the extended attribute blocks which
+.B e2fsck
+will require while checking the file system. The version number may
+be 1 or 2. The default extended attribute version format is 2.
+.TP
+.BI journal_only
+Only replay the journal if required, but do not perform any further checks
+or repairs.
+.TP
+.BI fragcheck
+During pass 1, print a detailed report of any discontiguous blocks for
+files in the file system.
+.TP
+.BI discard
+Attempt to discard free blocks and unused inode blocks after the full
+file system check (discarding blocks is useful on solid state devices and sparse
+/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the
+file system has been fully checked and only if it does not contain recognizable
+errors. However there might be cases where
+.B e2fsck
+does not fully recognize a problem and hence in this case this
+option may prevent you from further manual data recovery.
+.TP
+.BI nodiscard
+Do not attempt to discard free blocks and unused inode blocks. This option is
+exactly the opposite of discard option. This is set as default.
+.TP
+.BI no_optimize_extents
+Do not offer to optimize the extent tree by eliminating unnecessary
+width or depth. This can also be enabled in the options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI optimize_extents
+Offer to optimize the extent tree by eliminating unnecessary
+width or depth. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI inode_count_fullmap
+Trade off using memory for speed when checking a file system with a
+large number of hard-linked files. The amount of memory required is
+proportional to the number of inodes in the file system. For large file
+systems, this can be gigabytes of memory. (For example, a 40TB file system
+with 2.8 billion inodes will consume an additional 5.7 GB memory if this
+optimization is enabled.) This optimization can also be enabled in the
+options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI no_inode_count_fullmap
+Disable the
+.B inode_count_fullmap
+optimization. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI readahead_kb
+Use this many KiB of memory to pre-fetch metadata in the hopes of reducing
+e2fsck runtime. By default, this is set to the size of two block groups' inode
+tables (typically 4MiB on a regular ext4 file system); if this amount is more
+than 1/50th of total physical memory, readahead is disabled. Set this to zero
+to disable readahead entirely.
+.TP
+.BI bmap2extent
+Convert block-mapped files to extent-mapped files.
+.TP
+.BI fixes_only
+Only fix damaged metadata; do not optimize htree directories or compress
+extent trees. This option is incompatible with the -D and -E bmap2extent
+options.
+.TP
+.BI check_encoding
+Force verification of encoded filenames in case-insensitive directories.
+This is the default mode if the file system has the strict flag enabled.
+.TP
+.BI unshare_blocks
+If the file system has shared blocks, with the shared blocks read-only feature
+enabled, then this will unshare all shared blocks and unset the read-only
+feature bit. If there is not enough free space then the operation will fail.
+If the file system does not have the read-only feature bit, but has shared
+blocks anyway, then this option will have no effect. Note when using this
+option, if there is no free space to clone blocks, there is no prompt to
+delete files and instead the operation will fail.
+.IP
+Note that unshare_blocks implies the "-f" option to ensure that all passes
+are run. Additionally, if "-n" is also specified, e2fsck will simulate trying
+to allocate enough space to deduplicate. If this fails, the exit code will
+be non-zero.
+.RE
+.TP
+.B \-f
+Force checking even if the file system seems clean.
+.TP
+.B \-F
+Flush the file system device's buffer caches before beginning. Only
+really useful for doing
+.B e2fsck
+time trials.
+.TP
+.BI \-j " external-journal"
+Set the pathname where the external-journal for this file system can be
+found.
+.TP
+.BI \-k
+When combined with the
+.B \-c
+option, any existing bad blocks in the bad blocks list are preserved,
+and any new bad blocks found by running
+.BR badblocks (8)
+will be added to the existing bad blocks list.
+.TP
+.BI \-l " filename"
+Add the block numbers listed in the file specified by
+.I filename
+to the list of bad blocks. The format of this file is the same as the
+one generated by the
+.BR badblocks (8)
+program. Note that the block numbers are based on the blocksize
+of the file system. Hence,
+.BR badblocks (8)
+must be given the blocksize of the file system in order to obtain correct
+results. As a result, it is much simpler and safer to use the
+.B -c
+option to
+.BR e2fsck ,
+since it will assure that the correct parameters are passed to the
+.B badblocks
+program.
+.TP
+.BI \-L " filename"
+Set the bad blocks list to be the list of blocks specified by
+.IR filename .
+(This option is the same as the
+.B \-l
+option, except the bad blocks list is cleared before the blocks listed
+in the file are added to the bad blocks list.)
+.TP
+.B \-n
+Open the file system read-only, and assume an answer of `no' to all
+questions. Allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-p
+or
+.B \-y
+options.
+.TP
+.B \-p
+Automatically repair ("preen") the file system. This option will cause
+.B e2fsck
+to automatically
+fix any file system problems that can be safely fixed without human
+intervention. If
+.B e2fsck
+discovers a problem which may require the system administrator
+to take additional corrective action,
+.B e2fsck
+will print a description of the problem and then exit with the value 4
+logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.)
+This option is normally used by the system's boot scripts. It may not
+be specified at the same time as the
+.B \-n
+or
+.B \-y
+options.
+.TP
+.B \-r
+This option does nothing at all; it is provided only for backwards
+compatibility.
+.TP
+.B \-t
+Print timing statistics for
+.BR e2fsck .
+If this option is used twice, additional timing statistics are printed
+on a pass by pass basis.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-V
+Print version information and exit.
+.TP
+.B \-y
+Assume an answer of `yes' to all questions; allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-n
+or
+.B \-p
+options.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+e2fsck-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH EXIT CODE
+The exit code returned by
+.B e2fsck
+is the sum of the following conditions:
+.br
+\ 0\ \-\ No errors
+.br
+\ 1\ \-\ File system errors corrected
+.br
+\ 2\ \-\ File system errors corrected, system should
+.br
+\ \ \ \ be rebooted
+.br
+\ 4\ \-\ File system errors left uncorrected
+.br
+\ 8\ \-\ Operational error
+.br
+\ 16\ \-\ Usage or syntax error
+.br
+\ 32\ \-\ E2fsck canceled by user request
+.br
+\ 128\ \-\ Shared library error
+.br
+.SH SIGNALS
+The following signals have the following effect when sent to
+.BR e2fsck .
+.TP
+.B SIGUSR1
+This signal causes
+.B e2fsck
+to start displaying a completion bar or emitting progress information.
+(See discussion of the
+.B \-C
+option.)
+.TP
+.B SIGUSR2
+This signal causes
+.B e2fsck
+to stop displaying a completion bar or emitting progress information.
+.SH REPORTING BUGS
+Almost any piece of software will have bugs. If you manage to find a
+file system which causes
+.B e2fsck
+to crash, or which
+.B e2fsck
+is unable to repair, please report it to the author.
+.PP
+Please include as much information as possible in your bug report.
+Ideally, include a complete transcript of the
+.B e2fsck
+run, so I can see exactly what error messages are displayed. (Make sure
+the messages printed by
+.B e2fsck
+are in English; if your system has been
+configured so that
+.BR e2fsck 's
+messages have been translated into another language, please set the the
+.B LC_ALL
+environment variable to
+.B C
+so that the transcript of e2fsck's output will be useful to me.)
+If you
+have a writable file system where the transcript can be stored, the
+.BR script (1)
+program is a handy way to save the output of
+.B e2fsck
+to a file.
+.PP
+It is also useful to send the output of
+.BR dumpe2fs (8).
+If a specific inode or inodes seems to be giving
+.B e2fsck
+trouble, try running the
+.BR debugfs (8)
+command and send the output of the
+.BR stat (1u)
+command run on the relevant inode(s). If the inode is a directory, the
+.B debugfs
+.I dump
+command will allow you to extract the contents of the directory inode,
+which can sent to me after being first run through
+.BR uuencode (1).
+The most useful data you can send to help reproduce
+the bug is a compressed raw image dump of the file system, generated using
+.BR e2image (8).
+See the
+.BR e2image (8)
+man page for more details.
+.PP
+Always include the full version string which
+.B e2fsck
+displays when it is run, so I know which version you are running.
+.SH ENVIRONMENT
+.TP
+.BI E2FSCK_CONFIG
+Determines the location of the configuration file (see
+.BR e2fsck.conf (5)).
+.SH AUTHOR
+This version of
+.B e2fsck
+was written by Theodore Ts'o <tytso@mit.edu>.
+.SH SEE ALSO
+.BR e2fsck.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR debugfs (8),
+.BR e2image (8),
+.BR mke2fs (8),
+.BR tune2fs (8)
diff --git a/upstream/fedora-40/man8/fsck.ext4.8 b/upstream/fedora-40/man8/fsck.ext4.8
new file mode 100644
index 00000000..68b867cf
--- /dev/null
+++ b/upstream/fedora-40/man8/fsck.ext4.8
@@ -0,0 +1,509 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH E2FSCK 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+e2fsck \- check a Linux ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B e2fsck
+[
+.B \-pacnyrdfkvtDFV
+]
+[
+.B \-b
+.I superblock
+]
+[
+.B \-B
+.I blocksize
+]
+[
+.BR \-l | \-L
+.I bad_blocks_file
+]
+[
+.B \-C
+.I fd
+]
+[
+.B \-j
+.I external-journal
+]
+[
+.B \-E
+.I extended_options
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+.SH DESCRIPTION
+.B e2fsck
+is used to check the ext2/ext3/ext4 family of file systems.
+For ext3 and ext4 file systems that use a journal, if the system has been
+shut down uncleanly without any errors, normally, after replaying the
+committed transactions in the journal, the file system should be
+marked as clean. Hence, for file systems that use journaling,
+.B e2fsck
+will normally replay the journal and exit, unless its superblock
+indicates that further checking is required.
+.PP
+.I device
+is a block device (e.g.,
+.IR /dev/sdc1 )
+or file containing the file system.
+.PP
+Note that in general it is not safe to run
+.B e2fsck
+on mounted file systems. The only exception is if the
+.B \-n
+option is specified, and
+.BR \-c ,
+.BR \-l ,
+or
+.B -L
+options are
+.I not
+specified. However, even if it is safe to do so, the results printed by
+.B e2fsck
+are not valid if the file system is mounted. If
+.B e2fsck
+asks whether or not you should check a file system which is mounted,
+the only correct answer is ``no''. Only experts who really know what
+they are doing should consider answering this question in any other way.
+.PP
+If
+.B e2fsck
+is run in interactive mode (meaning that none of
+.BR \-y ,
+.BR \-n ,
+or
+.BR \-p
+are specified), the program will ask the user to fix each problem found in the
+file system. A response of 'y' will fix the error; 'n' will leave the error
+unfixed; and 'a' will fix the problem and all subsequent problems; pressing
+Enter will proceed with the default response, which is printed before the
+question mark. Pressing Control-C terminates e2fsck immediately.
+.SH OPTIONS
+.TP
+.B \-a
+This option does the same thing as the
+.B \-p
+option. It is provided for backwards compatibility only; it is
+suggested that people use
+.B \-p
+option whenever possible.
+.TP
+.BI \-b " superblock"
+Instead of using the normal superblock, use an alternative superblock
+specified by
+.IR superblock .
+This option is normally used when the primary superblock has been
+corrupted. The location of backup superblocks is dependent on the
+file system's blocksize, the number of blocks per group, and features
+such as
+.BR sparse_super .
+.IP
+Additional backup superblocks can be determined by using the
+.B mke2fs
+program using the
+.B \-n
+option to print out where the superblocks exist, supposing
+.B mke2fs
+is supplied with arguments that are consistent with the file system's layout
+(e.g. blocksize, blocks per group,
+.BR sparse_super ,
+etc.).
+.IP
+If an alternative superblock is specified and
+the file system is not opened read-only, e2fsck will make sure that the
+primary superblock is updated appropriately upon completion of the
+file system check.
+.TP
+.BI \-B " blocksize"
+Normally,
+.B e2fsck
+will search for the superblock at various different
+block sizes in an attempt to find the appropriate block size.
+This search can be fooled in some cases. This option forces
+.B e2fsck
+to only try locating the superblock at a particular blocksize.
+If the superblock is not found,
+.B e2fsck
+will terminate with a fatal error.
+.TP
+.B \-c
+This option causes
+.B e2fsck
+to use
+.BR badblocks (8)
+program to do a read-only scan of the device in order to find any bad
+blocks. If any bad blocks are found, they are added to the bad block
+inode to prevent them from being allocated to a file or directory. If
+this option is specified twice, then the bad block scan will be done
+using a non-destructive read-write test.
+.TP
+.BI \-C " fd"
+This option causes
+.B e2fsck
+to write completion information to the specified file descriptor
+so that the progress of the file system
+check can be monitored. This option is typically used by programs
+which are running
+.BR e2fsck .
+If the file descriptor number is negative, then absolute value of
+the file descriptor will be used, and the progress information will be
+suppressed initially. It can later be enabled by sending the
+.B e2fsck
+process a SIGUSR1 signal.
+If the file descriptor specified is 0,
+.B e2fsck
+will print a completion bar as it goes about its business. This requires
+that e2fsck is running on a video console or terminal.
+.TP
+.B \-d
+Print debugging output (useless unless you are debugging
+.BR e2fsck ).
+.TP
+.B \-D
+Optimize directories in file system. This option causes e2fsck to
+try to optimize all directories, either by re-indexing them if the
+file system supports directory indexing, or by sorting and compressing
+directories for smaller directories, or for file systems using
+traditional linear directories.
+.IP
+Even without the
+.B \-D
+option,
+.B e2fsck
+may sometimes optimize a few directories --- for example, if
+directory indexing is enabled and a directory is not indexed and would
+benefit from being indexed, or if the index structures are corrupted
+and need to be rebuilt. The
+.B \-D
+option forces all directories in the file system to be optimized. This can
+sometimes make them a little smaller and slightly faster to search, but
+in practice, you should rarely need to use this option.
+.IP
+The
+.B \-D
+option will detect directory entries with duplicate names in a single
+directory, which e2fsck normally does not enforce for performance reasons.
+.TP
+.BI \-E " extended_options"
+Set e2fsck extended options. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+following options are supported:
+.RS 1.2i
+.TP
+.BI ea_ver= extended_attribute_version
+Set the version of the extended attribute blocks which
+.B e2fsck
+will require while checking the file system. The version number may
+be 1 or 2. The default extended attribute version format is 2.
+.TP
+.BI journal_only
+Only replay the journal if required, but do not perform any further checks
+or repairs.
+.TP
+.BI fragcheck
+During pass 1, print a detailed report of any discontiguous blocks for
+files in the file system.
+.TP
+.BI discard
+Attempt to discard free blocks and unused inode blocks after the full
+file system check (discarding blocks is useful on solid state devices and sparse
+/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the
+file system has been fully checked and only if it does not contain recognizable
+errors. However there might be cases where
+.B e2fsck
+does not fully recognize a problem and hence in this case this
+option may prevent you from further manual data recovery.
+.TP
+.BI nodiscard
+Do not attempt to discard free blocks and unused inode blocks. This option is
+exactly the opposite of discard option. This is set as default.
+.TP
+.BI no_optimize_extents
+Do not offer to optimize the extent tree by eliminating unnecessary
+width or depth. This can also be enabled in the options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI optimize_extents
+Offer to optimize the extent tree by eliminating unnecessary
+width or depth. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI inode_count_fullmap
+Trade off using memory for speed when checking a file system with a
+large number of hard-linked files. The amount of memory required is
+proportional to the number of inodes in the file system. For large file
+systems, this can be gigabytes of memory. (For example, a 40TB file system
+with 2.8 billion inodes will consume an additional 5.7 GB memory if this
+optimization is enabled.) This optimization can also be enabled in the
+options section of
+.BR /etc/e2fsck.conf .
+.TP
+.BI no_inode_count_fullmap
+Disable the
+.B inode_count_fullmap
+optimization. This is the default unless otherwise specified in
+.BR /etc/e2fsck.conf .
+.TP
+.BI readahead_kb
+Use this many KiB of memory to pre-fetch metadata in the hopes of reducing
+e2fsck runtime. By default, this is set to the size of two block groups' inode
+tables (typically 4MiB on a regular ext4 file system); if this amount is more
+than 1/50th of total physical memory, readahead is disabled. Set this to zero
+to disable readahead entirely.
+.TP
+.BI bmap2extent
+Convert block-mapped files to extent-mapped files.
+.TP
+.BI fixes_only
+Only fix damaged metadata; do not optimize htree directories or compress
+extent trees. This option is incompatible with the -D and -E bmap2extent
+options.
+.TP
+.BI check_encoding
+Force verification of encoded filenames in case-insensitive directories.
+This is the default mode if the file system has the strict flag enabled.
+.TP
+.BI unshare_blocks
+If the file system has shared blocks, with the shared blocks read-only feature
+enabled, then this will unshare all shared blocks and unset the read-only
+feature bit. If there is not enough free space then the operation will fail.
+If the file system does not have the read-only feature bit, but has shared
+blocks anyway, then this option will have no effect. Note when using this
+option, if there is no free space to clone blocks, there is no prompt to
+delete files and instead the operation will fail.
+.IP
+Note that unshare_blocks implies the "-f" option to ensure that all passes
+are run. Additionally, if "-n" is also specified, e2fsck will simulate trying
+to allocate enough space to deduplicate. If this fails, the exit code will
+be non-zero.
+.RE
+.TP
+.B \-f
+Force checking even if the file system seems clean.
+.TP
+.B \-F
+Flush the file system device's buffer caches before beginning. Only
+really useful for doing
+.B e2fsck
+time trials.
+.TP
+.BI \-j " external-journal"
+Set the pathname where the external-journal for this file system can be
+found.
+.TP
+.BI \-k
+When combined with the
+.B \-c
+option, any existing bad blocks in the bad blocks list are preserved,
+and any new bad blocks found by running
+.BR badblocks (8)
+will be added to the existing bad blocks list.
+.TP
+.BI \-l " filename"
+Add the block numbers listed in the file specified by
+.I filename
+to the list of bad blocks. The format of this file is the same as the
+one generated by the
+.BR badblocks (8)
+program. Note that the block numbers are based on the blocksize
+of the file system. Hence,
+.BR badblocks (8)
+must be given the blocksize of the file system in order to obtain correct
+results. As a result, it is much simpler and safer to use the
+.B -c
+option to
+.BR e2fsck ,
+since it will assure that the correct parameters are passed to the
+.B badblocks
+program.
+.TP
+.BI \-L " filename"
+Set the bad blocks list to be the list of blocks specified by
+.IR filename .
+(This option is the same as the
+.B \-l
+option, except the bad blocks list is cleared before the blocks listed
+in the file are added to the bad blocks list.)
+.TP
+.B \-n
+Open the file system read-only, and assume an answer of `no' to all
+questions. Allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-p
+or
+.B \-y
+options.
+.TP
+.B \-p
+Automatically repair ("preen") the file system. This option will cause
+.B e2fsck
+to automatically
+fix any file system problems that can be safely fixed without human
+intervention. If
+.B e2fsck
+discovers a problem which may require the system administrator
+to take additional corrective action,
+.B e2fsck
+will print a description of the problem and then exit with the value 4
+logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.)
+This option is normally used by the system's boot scripts. It may not
+be specified at the same time as the
+.B \-n
+or
+.B \-y
+options.
+.TP
+.B \-r
+This option does nothing at all; it is provided only for backwards
+compatibility.
+.TP
+.B \-t
+Print timing statistics for
+.BR e2fsck .
+If this option is used twice, additional timing statistics are printed
+on a pass by pass basis.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-V
+Print version information and exit.
+.TP
+.B \-y
+Assume an answer of `yes' to all questions; allows
+.B e2fsck
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-n
+or
+.B \-p
+options.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+e2fsck-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH EXIT CODE
+The exit code returned by
+.B e2fsck
+is the sum of the following conditions:
+.br
+\ 0\ \-\ No errors
+.br
+\ 1\ \-\ File system errors corrected
+.br
+\ 2\ \-\ File system errors corrected, system should
+.br
+\ \ \ \ be rebooted
+.br
+\ 4\ \-\ File system errors left uncorrected
+.br
+\ 8\ \-\ Operational error
+.br
+\ 16\ \-\ Usage or syntax error
+.br
+\ 32\ \-\ E2fsck canceled by user request
+.br
+\ 128\ \-\ Shared library error
+.br
+.SH SIGNALS
+The following signals have the following effect when sent to
+.BR e2fsck .
+.TP
+.B SIGUSR1
+This signal causes
+.B e2fsck
+to start displaying a completion bar or emitting progress information.
+(See discussion of the
+.B \-C
+option.)
+.TP
+.B SIGUSR2
+This signal causes
+.B e2fsck
+to stop displaying a completion bar or emitting progress information.
+.SH REPORTING BUGS
+Almost any piece of software will have bugs. If you manage to find a
+file system which causes
+.B e2fsck
+to crash, or which
+.B e2fsck
+is unable to repair, please report it to the author.
+.PP
+Please include as much information as possible in your bug report.
+Ideally, include a complete transcript of the
+.B e2fsck
+run, so I can see exactly what error messages are displayed. (Make sure
+the messages printed by
+.B e2fsck
+are in English; if your system has been
+configured so that
+.BR e2fsck 's
+messages have been translated into another language, please set the the
+.B LC_ALL
+environment variable to
+.B C
+so that the transcript of e2fsck's output will be useful to me.)
+If you
+have a writable file system where the transcript can be stored, the
+.BR script (1)
+program is a handy way to save the output of
+.B e2fsck
+to a file.
+.PP
+It is also useful to send the output of
+.BR dumpe2fs (8).
+If a specific inode or inodes seems to be giving
+.B e2fsck
+trouble, try running the
+.BR debugfs (8)
+command and send the output of the
+.BR stat (1u)
+command run on the relevant inode(s). If the inode is a directory, the
+.B debugfs
+.I dump
+command will allow you to extract the contents of the directory inode,
+which can sent to me after being first run through
+.BR uuencode (1).
+The most useful data you can send to help reproduce
+the bug is a compressed raw image dump of the file system, generated using
+.BR e2image (8).
+See the
+.BR e2image (8)
+man page for more details.
+.PP
+Always include the full version string which
+.B e2fsck
+displays when it is run, so I know which version you are running.
+.SH ENVIRONMENT
+.TP
+.BI E2FSCK_CONFIG
+Determines the location of the configuration file (see
+.BR e2fsck.conf (5)).
+.SH AUTHOR
+This version of
+.B e2fsck
+was written by Theodore Ts'o <tytso@mit.edu>.
+.SH SEE ALSO
+.BR e2fsck.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR debugfs (8),
+.BR e2image (8),
+.BR mke2fs (8),
+.BR tune2fs (8)
diff --git a/upstream/fedora-40/man8/fsck.fat.8 b/upstream/fedora-40/man8/fsck.fat.8
new file mode 100644
index 00000000..3571297e
--- /dev/null
+++ b/upstream/fedora-40/man8/fsck.fat.8
@@ -0,0 +1,272 @@
+.\" fsck.fat.8 - manpage for fsck.fat
+.\"
+.\" Copyright (C) 2006-2014 Daniel Baumann <daniel@debian.org>
+.\" Copyright (C) 2018-2021 Pali Rohár <pali.rohar@gmail.com>
+.\"
+.\" This program is free software: you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation, either version 3 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
+.\"
+.\" The complete text of the GNU General Public License
+.\" can be found in /usr/share/common-licenses/GPL-3 file.
+.\"
+.\"
+.TH FSCK.FAT 8 2021-01-31 "dosfstools 4.2"
+.SH NAME
+fsck.fat \- check and repair MS-DOS FAT filesystems
+.\" ----------------------------------------------------------------------------
+.SH SYNOPSIS
+\fBfsck.fat\fP [\fIOPTIONS\fP] \fIDEVICE\fP
+.\" ----------------------------------------------------------------------------
+.SH DESCRIPTION
+\fBfsck.fat\fP verifies the consistency of MS-DOS filesystems and optionally
+tries to repair them.
+.PP
+The following filesystem problems can be corrected (in this order):
+.IP "\(bu" 4
+FAT contains invalid cluster numbers.
+Cluster is changed to EOF.
+.IP "\(bu" 4
+File's cluster chain contains a loop.
+The loop is broken.
+.IP "\(bu" 4
+Bad clusters (read errors).
+The clusters are marked bad and they are removed from files owning them.
+This check is optional.
+.IP "\(bu" 4
+Directories with a large number of bad entries (probably corrupt).
+The directory can be deleted.
+.IP "\(bu" 4
+Files . and .. are non-directories.
+They can be deleted or renamed.
+.IP "\(bu" 4
+Directories . and .. in root directory.
+They are deleted.
+.IP "\(bu" 4
+Bad filenames.
+They can be renamed.
+.IP "\(bu" 4
+Duplicate directory entries.
+They can be deleted or renamed.
+.IP "\(bu" 4
+Directories with non-zero size field.
+Size is set to zero.
+.IP "\(bu" 4
+Directory . does not point to parent directory.
+The start pointer is adjusted.
+.IP "\(bu" 4
+Directory .. does not point to parent of parent directory.
+The start pointer is adjusted.
+.IP "\(bu" 4
+\&. and .. are not the two first entries in a non-root directory.
+The entries are created, moving occupied slots if necessary.
+.IP "\(bu" 4
+Start cluster number of a file is invalid.
+The file is truncated.
+.IP "\(bu" 4
+File contains bad or free clusters.
+The file is truncated.
+.IP "\(bu" 4
+File's cluster chain is longer than indicated by the size fields.
+The file is truncated.
+.IP "\(bu" 4
+Two or more files share the same cluster(s).
+All but one of the files are truncated.
+If the file being truncated is a directory file that has already been read, the
+filesystem check is restarted after truncation.
+.IP "\(bu" 4
+File's cluster chain is shorter than indicated by the size fields.
+The file is truncated.
+.IP "\(bu" 4
+Volume label in root directory or label in boot sector is invalid.
+Invalid labels are removed.
+.IP "\(bu" 4
+Volume label in root directory and label in boot sector are different.
+Volume label from root directory is copied to boot sector.
+.IP "\(bu" 4
+Clusters are marked as used but are not owned by a file.
+They are marked as free.
+.PP
+Additionally, the following problems are detected, but not repaired:
+.IP "\(bu" 4
+Invalid parameters in boot sector
+.PP
+When \fBfsck.fat\fP checks a filesystem, it accumulates all changes in memory
+and performs them only after all checks are complete.
+This can be disabled with the \fB\-w\fP option.
+.PP
+Two different variants of the FAT filesystem are supported.
+Standard is the FAT12, FAT16 and FAT32 filesystems as defined by Microsoft and
+widely used on hard disks and removable media like USB sticks and SD cards.
+The other is the legacy Atari variant used on Atari ST.
+.PP
+There are some minor differences in Atari format:
+Some boot sector fields are interpreted slightly different, and the special FAT
+entries for end-of-file and bad cluster can be different.
+Under MS-DOS 0xfff8 is used for EOF and Atari employs 0xffff by default, but
+both systems recognize all values from 0xfff8\(en0xffff as end-of-file.
+MS-DOS uses only 0xfff7 for bad clusters, where on Atari values 0xfff0\(en0xfff7
+are for this purpose (but the standard value is still 0xfff7).
+.\" ----------------------------------------------------------------------------
+.SH OPTIONS
+.IP "\fB\-a\fP" 4
+Automatically repair the filesystem.
+No user intervention is necessary.
+Whenever there is more than one method to solve a problem, the least
+destructive approach is used.
+.IP "\fB\-A\fP" 4
+Select using the Atari variation of the FAT filesystem if that isn't active
+already, otherwise select standard FAT filesystem.
+This is selected by default if \fBmkfs.fat\fP is run on 68k Atari Linux.
+.IP "\fB-b\fP" 4
+Make read-only boot sector check.
+.IP "\fB-c\fP \fIPAGE\fP" 4
+Use DOS codepage \fIPAGE\fP to decode short file names.
+By default codepage 850 is used.
+.IP "\fB\-d\fP \fIPATH\fP" 4
+Delete the specified file.
+If more than one file with that name exist, the first one is deleted.
+This option can be given more than once.
+.IP "\fB\-f\fP" 4
+Salvage unused cluster chains to files.
+By default, unused clusters are added to the free disk space except in auto mode
+(\fB\-a\fP).
+.IP "\fB\-F\fP \fINUM\fP" 4
+Specify FAT table \fINUM\fP for filesystem access.
+By default value \fI0\fP is assumed and then the first uncorrupted FAT table is
+chosen.
+Uncorrupted means that FAT table has valid first cluster.
+If default value \fI0\fP is used and all FAT tables are corrupted then
+\fBfsck.fat\fP gives up and does not try to repair FAT filesystem.
+If non-zero \fINUM\fP value is specified then \fBfsck.fat\fP uses FAT table
+\fINUM\fP for repairing FAT filesystem.
+If FAT table \fINUM\fP has corrupted first cluster then \fBfsck.fat\fP will
+repair it.
+In any case, if FAT filesystem has more FAT tables then repaired content of
+chosen FAT table is copied to other FAT tables.
+To repair corrupted first cluster it is required to call \fBfsck.fat\fP with
+non-zero \fINUM\fP value.
+.IP "\fB\-l\fP" 4
+List path names of files being processed.
+.IP "\fB\-n\fP" 4
+No-operation mode: non-interactively check for errors, but don't write
+anything to the filesystem.
+.IP "\fB\-p\fP" 4
+Same as \fB\-a\fP, for compatibility with other *fsck.
+.IP "\fB\-r\fP" 4
+Interactively repair the filesystem.
+The user is asked for advice whenever there is more than one approach to fix an
+inconsistency.
+This is the default mode and the option is only retained for backwards
+compatibility.
+.IP "\fB\-S\fP" 4
+Consider short (8.3) file names with spaces in the middle to be invalid, like
+previous versions of this program did.
+While such file names are not forbidden by the FAT specification, and were never
+treated as errors by Microsoft file system checking tools, many DOS programs are
+unable to handle files with such names.
+Using this option can make them accessible to these programs.
+.IP "" 4
+Short file names which \fIstart\fP with a space are considered invalid
+regardless of this option's setting.
+.IP "" 4
+Previous versions of this program exceptionally treated \fIEA DATA. SF\fP and
+\fIWP ROOT. SF\fP as valid short names; using this option does not preserve
+that exception.
+.IP "\fB\-t\fP" 4
+Mark unreadable clusters as bad.
+.IP "\fB\-u\fP \fIPATH\fP" 4
+Try to undelete the specified file.
+\fBfsck.fat\fP tries to allocate a chain of contiguous unallocated clusters
+beginning with the start cluster of the undeleted file.
+This option can be given more than once.
+.IP "\fB\-U\fP" 4
+Consider lowercase volume and boot label as invalid and allow only uppercase
+characters.
+Such labels are forbidden by the FAT specification, but they are widely used
+by Linux tools.
+Moreover MS-DOS and Windows systems do not have problems to read them.
+Therefore volume and boot labels with lowercase characters are by default
+permitted.
+.IP "\fB\-v\fP" 4
+Verbose mode.
+Generates slightly more output.
+.IP "\fB\-V\fP" 4
+Perform a verification pass.
+The filesystem check is repeated after the first run.
+The second pass should never report any fixable errors.
+It may take considerably longer than the first pass, because the first pass may
+have generated long list of modifications that have to be scanned for each disk
+read.
+.IP "\fB\-\-variant\fP \fITYPE\fP" 4
+Create a filesystem of variant \fITYPE\fP.
+Acceptable values are \fIstandard\fP and \fIatari\fP (in any combination of
+upper/lower case).
+See above under DESCRIPTION for the differences.
+.IP "\fB\-w\fP" 4
+Write changes to disk immediately.
+.IP "\fB\-y\fP" 4
+Same as \fB\-a\fP (automatically repair filesystem) for compatibility with other
+fsck tools.
+.IP "\fB\-\-help\fP" 4
+Display help message describing usage and options then exit.
+.\" ----------------------------------------------------------------------------
+.SH "EXIT STATUS"
+.IP "0" 4
+No recoverable errors have been detected.
+.IP "1" 4
+Recoverable errors have been detected or \fBfsck.fat\fP has discovered an
+internal inconsistency.
+.IP "2" 4
+Usage error.
+\fBfsck.fat\fP did not access the filesystem.
+.\" ----------------------------------------------------------------------------
+.SH FILES
+.IP "\fIfsck0000.rec\fP, \fIfsck0001.rec\fP, ..." 4
+When recovering from a corrupted filesystem, \fBfsck.fat\fP dumps recovered data
+into files named \fIfsckNNNN.rec\fP in the top level directory of the filesystem.
+.\" ----------------------------------------------------------------------------
+.SH BUGS
+.IP "\(bu" 4
+Does not remove entirely empty directories.
+.IP "\(bu" 4
+Should give more diagnostic messages.
+.IP "\(bu" 4
+Undeleting files should use a more sophisticated algorithm.
+.\" ----------------------------------------------------------------------------
+.SH SEE ALSO
+.BR fatlabel (8),
+.BR mkfs.fat (8)
+.\" ----------------------------------------------------------------------------
+.SH HOMEPAGE
+The home for the \fBdosfstools\fP project is its
+.UR https://github.com/dosfstools/dosfstools
+GitHub project page
+.UE .
+.\" ----------------------------------------------------------------------------
+.SH AUTHORS
+\fBdosfstools\fP were written by
+.MT werner.almesberger@\:lrc.di.epfl.ch
+Werner Almesberger
+.ME ,
+.MT Roman.Hodek@\:informatik.\:uni-erlangen.de
+Roman Hodek
+.ME ,
+and others.
+Current maintainers are
+.MT aeb@\:debian.org
+Andreas Bombe
+.ME
+and
+.MT pali.rohar@\:gmail.com
+Pali Rohár
+.ME .
diff --git a/upstream/fedora-40/man8/fsck.xfs.8 b/upstream/fedora-40/man8/fsck.xfs.8
new file mode 100644
index 00000000..a51baf7c
--- /dev/null
+++ b/upstream/fedora-40/man8/fsck.xfs.8
@@ -0,0 +1,38 @@
+.TH fsck.xfs 8
+.SH NAME
+fsck.xfs \- do nothing, successfully
+.SH SYNOPSIS
+.B fsck.xfs
+[
+.I filesys
+\&... ]
+.SH DESCRIPTION
+.B fsck.xfs
+is called by the generic Linux
+.BR fsck (8)
+program at startup to check and repair an XFS filesystem.
+XFS is a journaling filesystem and performs recovery at
+.BR mount (8)
+time if necessary, so
+.B fsck.xfs
+simply exits with a zero exit status.
+.PP
+If you wish to check the consistency of an XFS filesystem,
+or repair a damaged or corrupt XFS filesystem,
+see
+.BR xfs_repair (8).
+.PP
+However, the system administrator can force
+.B fsck.xfs
+to run
+.BR xfs_repair (8)
+at boot time by creating a /forcefsck file or booting the system with
+"fsck.mode=force" on the kernel command line.
+.
+.SH FILES
+.IR /etc/fstab .
+.SH SEE ALSO
+.BR fsck (8),
+.BR fstab (5),
+.BR xfs (5),
+.BR xfs_repair (8).
diff --git a/upstream/fedora-40/man8/genl.8 b/upstream/fedora-40/man8/genl.8
new file mode 100644
index 00000000..b9de594d
--- /dev/null
+++ b/upstream/fedora-40/man8/genl.8
@@ -0,0 +1,77 @@
+.TH GENL 8 "29 Oct 2015" "iproute2" "Linux"
+.SH NAME
+genl \- generic netlink utility frontend
+.SH SYNOPSIS
+.in +8
+.ti -8
+.BR genl " [ " -s [ tatistics "] ] [ " -d [ etails "] ] [ " -r [ aw "] ] " OBJECT
+
+.ti -8
+.BR genl " { " -V [ ersion "] | " -h [ elp "] }"
+
+.ti -8
+.IR OBJECT " := { "
+.B ctrl
+.IR CTRL_OPTS " }"
+
+.ti -8
+.IR CTRL_OPTS " := { "
+.BR help " | " list " | " monitor " | " get
+.IR PARMS " }"
+
+.ti -8
+.IR PARMS " := { "
+.B name
+.IR NAME " | "
+.B id
+.IR ID " }"
+.SH DESCRIPTION
+The
+.B genl
+utility provides a simple frontend to the generic netlink library. Although it's
+designed to support multiple
+.IR OBJECT s,
+for now only the
+.B ctrl
+object is available, which is used to query the generic netlink controller.
+.SS ctrl
+The generic netlink controller can be queried in various ways:
+.TP
+.B help
+This command just prints a help text for the
+.B ctrl
+object.
+.TP
+.B list
+Show the registered netlink users.
+.TP
+.B monitor
+Listen for generic netlink notifications.
+.TP
+.B get
+Query the controller for a given user, identified either by
+.BR name " or " id .
+.SH OPTIONS
+genl supports the following options.
+.TP
+.B \-h, \-help
+Show summary of options.
+.TP
+.B \-V, \-Version
+Show version of program.
+.TP
+.B \-s, \-stats, \-statistics
+Show object statistics.
+.TP
+.B \-d, \-details
+Show object details.
+.TP
+.B \-r, \-raw
+Dump raw output only.
+.SH SEE ALSO
+.BR ip (8)
+.br
+.SH AUTHOR
+genl was written by Jamal Hadi Salim <hadi@cyberus.ca>.
+.PP
+This manual page was written by Petr Sabata <contyk@redhat.com>.
diff --git a/upstream/fedora-40/man8/getkeycodes.8 b/upstream/fedora-40/man8/getkeycodes.8
new file mode 100644
index 00000000..cc9b0255
--- /dev/null
+++ b/upstream/fedora-40/man8/getkeycodes.8
@@ -0,0 +1,16 @@
+.\" @(#)man/man8/getkeycodes.8 1.0 Nov 8 22:30:48 MET 1994
+.TH GETKEYCODES 8 "8 Nov 1994" "kbd"
+.SH NAME
+getkeycodes \- print kernel scancode-to-keycode mapping table
+.SH SYNOPSIS
+.B getkeycodes
+.SH DESCRIPTION
+The
+.I getkeycodes
+command prints the kernel scancode-to-keycode mapping table.
+.SH OPTIONS
+None.
+.SH "SEE ALSO"
+.BR setkeycodes (8)
+
+
diff --git a/upstream/fedora-40/man8/gpm.8 b/upstream/fedora-40/man8/gpm.8
new file mode 100644
index 00000000..be6950bd
--- /dev/null
+++ b/upstream/fedora-40/man8/gpm.8
@@ -0,0 +1,360 @@
+.TH GPM 8 "February 2002"
+.UC 4
+.SH NAME
+gpm \- a cut and paste utility and mouse server for virtual consoles
+.SH SYNOPSIS
+.B gpm
+[
+.I options
+]
+.br
+.SH DESCRIPTION
+This package tries to be a useful
+mouse server for applications running on the Linux console. It is
+based on the "selection" package, and some of its code
+comes from selection itself. This package is intended as a replacement
+for "selection" as a cut-and-paste mechanism; it also provides
+additional facilities. The "selection"
+package offered the first cut-and-paste implementation for Linux using
+two mouse buttons, and the cut buffer is still called "selection buffer"
+or just "selection" throughout this document.
+The information below is extracted from the texinfo file, which is the
+preferred source of information.
+
+.LP
+The gpm executable is meant to act like a daemon (thus, gpmd
+would be a better name for it). This section is meant to describe the
+command-line options for gpm, while its internals are outlined in
+the next section.
+
+.LP
+Due to restrictions in the ioctl(TIOCLINUX) system call, gpm must
+be run by the superuser. The restrictions have been added in the last 1.1
+kernels to fix a security hole related to selection and screen dumping.
+
+.LP
+The server can be configured to match the user's taste, and any
+application using the mouse will inherit the server's
+attitude. From release 1.02 up to 1.19.2 is was possible
+for any user logged on the system console to change the mouse feeling
+using the \-q option. This is no longer possible for security
+reasons.
+
+.LP
+As of 0.97 the server program puts itself in the background. To kill
+gpm you can just reinvoke it with the \-k cmdline switch,
+although killall gpm can be a better choice.
+
+.LP
+.SH SPECIAL COMMANDS
+
+.LP
+Version 1.10 adds the capability to execute special commands on
+certain circumstances. Special commands default to rebooting and halting
+the system, but the user can specify his/her personal choice. The
+capability to invoke commands using the mouse is a handy one for
+programmers, because it allows to issue a clean shutdown when the
+keyboard is locked and no network is available to restore the system to
+a sane state.
+
+.LP
+Special commands are toggled by triple-clicking the left and right button --
+an unlikely event during normal mouse usage. The easiest way to triple-click
+is pressing one of the buttons and triple-click the other one. When special
+processing is toggled, a message appears on the console (and the speaker
+beeps twice, if you have a speaker); if the user releases all the buttons
+and presses one of them again within three seconds, then the special
+command corresponding to the button is executed.
+
+.LP
+The default special commands are:
+.TP
+left button
+Reboot the system by signalling the init process
+.TP
+middle button (if any)
+Execute /sbin/shutdown \-h now
+.TP
+right button
+Execute /sbin/shutdown \-r now
+
+.LP
+The \-S command line switch enables special command processing and
+allows to change the three special commands. To accept the default
+commands use \-S "" (i.e., specify an empty argument). To specify
+your own commands, use a colon-separated list to specify commands
+associated to the left, middle and right button. If any of the commands
+is empty, it is interpreted as `send a signal to the init process'. This
+particular operation is supported, in addition to executing external
+commands, because sometimes bad bugs put the system to the impossibility
+to fork; in these rare case the programmer should be able to shutdown
+the system anyways, and killing init from a running process is the only
+way to do it.
+
+.LP
+As an example, \-S ":telinit 1:/sbin/halt", associates killing
+init to the left button, going single user to the middle one, and halting
+the system to the right button.
+
+.LP
+System administrators should obviously be careful about special
+commands, as gpm runs with superuser permissions. Special commands are
+best suited for computers whose mouse can be physically accessed only by
+trusted people.
+
+.LP
+.SH COMMAND LINE OPTIONS
+
+.LP
+Available command line options are the following:
+.TP
+\-a \fBaccel\fP
+Set the acceleration value used when a single motion event is
+longer than \fBdelta\fP (see \-d\fP).
+.TP
+\-A[\fBlimit\fP]
+Start up with selection pasting disabled. This is intended as a
+security measure; a plausible attack on a system seems to be to
+stuff a nasty shell command into the selection buffer
+(rm \-rf /) including the terminating line break, then all the
+victim has to do is click the middle mouse button ..
+As of version 1.17.2, this has developed
+into a more general aging mechanism; the
+gpm daemon can disable (age) selection pasting
+automatically after a period of inactivity. To enable this mode
+just give the optional \fBlimit\fP parameter (no space in between !)
+which is interpreted as the time in seconds for which a selection is
+considered valid and pastable.
+As of version 1.15.7, a trivial program called
+disable-paste is provided. The following makes a good
+addition to /etc/profile if you allow multiple users to
+work on your console.
+
+.LP
+case $( /usr/bin/tty ) in
+.br
+/dev/tty[0\-9]*) /usr/bin/disable-paste ;;
+.br
+esac
+.TP
+\-b \fBbaud\fP
+Set the baud rate.
+.TP
+\-B \fBsequence\fP
+Set the button sequence. 123 is the
+normal sequence, 321 can be used by left-handed people,
+and 132 can be useful with two-button mice (especially within
+Emacs). All the button permutations are allowable.
+.TP
+\-d \fBdelta\fP
+Set the delta value. When a single motion event
+is longer than \fBdelta\fP, \fBaccel\fP is used as a multiplying
+factor. (Must be 2 or above)
+.TP
+\-D
+Do not automatically enter background operation when started,
+and log messages to the standard error stream, not the syslog
+mechanism. This is useful for debugging; in previous releases
+it was done with a compile-time option.
+.TP
+\-g \fBnumber\fP
+With glidepoint devices, emulate the specified button with tapping.
+\fBnumber\fP must be 1\fP, 2\fP, or 3\fP, and refers to the
+button number before the \-B button remapping is performed.
+This option applies to the mman and ps2 decoding. No button is
+emulated by default because the ps2 tapping is incompatible with
+some normal ps2 mice
+.TP
+\-h
+Print a summary of command line options.
+.TP
+\-i \fBinterval\fP
+Set \fBinterval\fP to be used as an upper time limit
+for multiple clicks. If the interval between button-up and
+button-down events is less than \fBlimit\fP, the press is considered
+a double or triple click. Time is in milliseconds.
+.TP
+\-k
+Kill a running gpm. This can be used by busmouse users to kill gpm
+before running X (unless they use \-R or the single-open
+limitation is removed from the kernel).
+.TP
+\-l \fBcharset\fP
+Choose the inword() look up table. The
+\fBcharset\fP argument is a list of characters. \-\fP is used to
+specify a range and \\ is used to escape the next character
+or to provide octal codes.
+Only visible character can appear in \fBcharset\fP because control
+characters can't appear in text-mode video memory, whence selection
+is cut.
+.TP
+\-m \fBfilename\fP
+Choose the mouse file to open. Must be before \-t and \-o.
+.TP
+\-M
+Enable multiple mode. The daemon will read two different mouse devices.
+Any subsequent option will refer to the second device, while any
+preceding option will be used for the first device. This option
+automatically forces the repeater (\-R) option on.
+.TP
+\-o \fBlist-of-extra-options\fP
+The option works similary to the ``\-o'' option of mount; it is
+used to specify a list of ``extra options'' that are specific
+to each mouse type. The list is comma-separated. The options
+dtr, rts or both are used by the serial
+initialization to toggle the modem lines like, compatibly with
+earlier gpm versions; note however that using \-o dtr
+associated with non-plain-serial mouse types may now generate
+an error.
+And by the way, use \-o after \-m and after \-t.
+
+.TP
+\-p
+Forces the pointer to be visible while selecting. This is the
+behaviour of selection-1.7, but it is sometimes confusing.
+The default is not to show the pointer, which can be confusing as well.
+.TP
+\-r \fBnumber\fP
+Set the responsiveness. A higher responsiveness is used for a faster
+cursor motion.
+.TP
+\-R[\fBname\fP]
+Causes gpm to act as a repeater: any mouse data received while
+in graphic mode will be produced on the fifo /dev/gpmdata
+in protocol \fBname\fP, given as an optional argument (no space in
+between !). In principle, you can use the same
+names as for the \-t option, although repeating into some
+protocols may not be implemented for a while.
+In addition, you can specify raw\fP as the \fBname\fP, to repeat
+the mouse data byte by byte, without any protocol translation.
+If \fBname\fP is omitted, it defaults to msc\fP.
+Using gpm in repeater mode, you can configure the X
+server to use its fifo as a mouse device. This option is useful for
+bus-mouse owners to override the single-open limitation. It is also
+an easy way to manage those stupid dual-mode mice which force you
+to keep the middle button down while changing video mode. The option
+is forced on by the \-M option.
+.TP
+\-s \fBnumber\fP
+Set the sample rate for the mouse device.
+.TP
+\-S \fBcommands\fP
+Enable special-command processing, and optionally specify custom
+commands as a colon-separated list. See above for a detailed
+description of special commands.
+.TP
+\-t \fBname\fP
+Set the mouse type. Use \-t help to get a list
+of allowable types. Since version 1.18.1, the list also shows
+which protocols are available as repeaters (see \-R above),
+by marking them with an asterisk (``*'').
+
+Use \-t after you selected the mouse device with \-m.
+.TP
+\-v
+Print version information and exit.
+.TP
+\-2
+Force two buttons. This means that the middle button, if any,
+will be taken as it was the right one.
+.TP
+\-3
+Force three buttons. By default the
+mouse is considered to be a 2-buttons one, until the middle button
+is pressed. If three buttons are there, the right one is used
+to extend the selection, and the middle one is used to paste it.
+Beware: if you use the \-3 option with a 2-buttons mouse, you
+won't be able to paste the selection.
+
+.LP
+.SH OPERATION
+
+.LP
+To select text press the left mouse button and drag the mouse.
+To paste text in the same or another console, press the middle button.
+The right button is used to extend the selection, like in `xterm'.
+
+.LP
+Two-button mice use the right button to paste text.
+
+.LP
+Double and triple clicks select whole word and whole lines. Use of
+the `\-p' option is recommended for best visual feedback.
+
+.LP
+If a trailing space after the contents of a line is highlighted, and if
+there is no other text on the remainder of the line, the rest of the
+line will be selected automatically. If a number of lines are selected,
+highlighted trailing spaces on each line will be removed from the
+selection buffer.
+
+.LP
+Any output on the virtual console holding the selection will clear the
+highlighted selection from the screen, to maintain integrity of the
+display, although the contents of the paste buffer will be unaffected.
+
+.LP
+The selection mechanism is disabled if the controlling virtual console
+is placed in graphics mode, for example when running X11, and is
+re-enabled when text mode is resumed. (But see BUGS section below.)
+
+.LP
+.SH BUGS
+The gpm server may have problems interacting with X: if your
+mouse is a single-open device (i.e. a bus mouse), you should kill
+gpm before starting X, or use the \-R option (see
+above). To kill gpm just invoke gpm \-k. This problem doesn't
+apply to serial mice.
+
+.LP
+Two instances of gpm can't run on the same system. If you have two mice use
+the \-M option (see above).
+
+.LP
+While the current console is in graphic mode, gpm sleeps until
+text mode is back (unless \-R is used). Thus, it won't reply to
+clients. Anyways, it is unlikely that mouse-eager clients will spur
+out in hidden consoles.
+
+.LP
+The clients shipped out with gpm are not updated, thus there are potential
+security risks when using them.
+
+.LP
+.SH AUTHORS
+.nf
+Andrew Haylett <ajh@gec-mrc.co.uk> (the original selection code)
+Ian Zimmerman <itz@speakeasy.org> (old maintainer)
+Alessandro Rubini <rubini@linux.it> (old maintainer (still helps a lot))
+Nico Schottelius <nico-gpm2008@schottelius.org> (maintainer)
+
+Many many contributors, to both selection and gpm.
+.fi
+
+.LP
+.SH MAINTAINERS
+
+.LP
+The current maintainer is Nico Schottelius. But without the help of
+Alessandro Rubini and the mailing list it would be impossible for me to
+maintain gpm. The development mailing list can be reached under
+gpm@lists.linux.it. More information on the list is in the README file part of
+the source distribution of gpm.
+
+.LP
+.SH FILES
+.nf
+/var/run/gpm.pid The PID of the running gpm
+/dev/gpmctl A control socket for clients
+/dev/gpmdata The fifo written to by a \fBrepeater\fP (`\-R') daemon.
+.fi
+
+.LP
+.SH SEE ALSO
+.nf
+\fB mev(1)\fP A sample client for the gpm daemon.
+\fB gpm-root(1)\fP An handler for Control-Mouse events.
+
+.fi
+The info file about `gpm', which gives more complete information and
+explains how to write a gpm client.
diff --git a/upstream/fedora-40/man8/grub2-bios-setup.8 b/upstream/fedora-40/man8/grub2-bios-setup.8
new file mode 100644
index 00000000..fa4e5363
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-bios-setup.8
@@ -0,0 +1,75 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-BIOS-SETUP "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-bios-setup \- set up a device to boot using GRUB
+.SH SYNOPSIS
+.B grub-bios-setup
+[\fI\,OPTION\/\fR...] \fI\,DEVICE\/\fR
+.SH DESCRIPTION
+Set up images to boot from DEVICE.
+.PP
+You should not normally run this program directly. Use grub\-install instead.
+.TP
+\fB\-a\fR, \fB\-\-allow\-floppy\fR
+make the drive also bootable as floppy (default
+for fdX devices). May break on some BIOSes.
+.TP
+\fB\-b\fR, \fB\-\-boot\-image\fR=\fI\,FILE\/\fR
+use FILE as the boot image [default=boot.img]
+.TP
+\fB\-c\fR, \fB\-\-core\-image\fR=\fI\,FILE\/\fR
+use FILE as the core image [default=core.img]
+.TP
+\fB\-d\fR, \fB\-\-directory\fR=\fI\,DIR\/\fR
+use GRUB files in the directory DIR
+[default=/boot/grub2]
+.TP
+\fB\-f\fR, \fB\-\-force\fR
+install even if problems are detected
+.TP
+\fB\-m\fR, \fB\-\-device\-map\fR=\fI\,FILE\/\fR
+use FILE as the device map
+[default=/boot/grub2/device.map]
+.TP
+\fB\-\-no\-rs\-codes\fR
+Do not apply any reed\-solomon codes when
+embedding core.img. This option is only available
+on x86 BIOS targets.
+.TP
+\fB\-s\fR, \fB\-\-skip\-fs\-probe\fR
+do not probe for filesystems in DEVICE
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+print verbose messages.
+.TP
+\-?, \fB\-\-help\fR
+give this help list
+.TP
+\fB\-\-usage\fR
+give a short usage message
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print program version
+.PP
+Mandatory or optional arguments to long options are also mandatory or optional
+for any corresponding short options.
+.PP
+DEVICE must be an OS device (e.g. \fI\,/dev/sda\/\fP).
+.SH "REPORTING BUGS"
+Report bugs to <bug\-grub@gnu.org>.
+.SH "SEE ALSO"
+.BR grub-install (8),
+.BR grub-mkimage (1),
+.BR grub-mkrescue (1)
+.PP
+The full documentation for
+.B grub-bios-setup
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-bios-setup
+programs are properly installed at your site, the command
+.IP
+.B info grub-bios-setup
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-install.8 b/upstream/fedora-40/man8/grub2-install.8
new file mode 100644
index 00000000..3a455310
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-install.8
@@ -0,0 +1,168 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-INSTALL "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-install \- install GRUB to a device
+.SH SYNOPSIS
+.B grub-install
+[\fI\,OPTION\/\fR...] [\fI\,OPTION\/\fR] [\fI\,INSTALL_DEVICE\/\fR]
+.SH DESCRIPTION
+Install GRUB on your drive.
+.TP
+\fB\-\-appended\-signature\-size\fR=\fI\,SIZE\/\fR
+Add a note segment reserving SIZE bytes for an
+appended signature
+.TP
+\fB\-\-compress\fR=\fI\,no\/\fR|xz|gz|lzo
+compress GRUB files [optional]
+.TP
+\fB\-\-disable\-shim\-lock\fR
+disable shim_lock verifier
+.TP
+\fB\-\-dtb\fR=\fI\,FILE\/\fR
+embed a specific DTB
+.TP
+\fB\-d\fR, \fB\-\-directory\fR=\fI\,DIR\/\fR
+use images and modules under DIR
+[default=/usr/lib/grub/<platform>]
+.TP
+\fB\-\-fonts\fR=\fI\,FONTS\/\fR
+install FONTS [default=unicode]
+.TP
+\fB\-\-install\-modules\fR=\fI\,MODULES\/\fR
+install only MODULES and their dependencies
+[default=all]
+.TP
+\fB\-k\fR, \fB\-\-pubkey\fR=\fI\,FILE\/\fR
+embed FILE as public key for signature checking
+.TP
+\fB\-\-locale\-directory\fR=\fI\,DIR\/\fR use translations under DIR
+[default=/usr/share/locale]
+.TP
+\fB\-\-locales\fR=\fI\,LOCALES\/\fR
+install only LOCALES [default=all]
+.TP
+\fB\-\-modules\fR=\fI\,MODULES\/\fR
+pre\-load specified modules MODULES
+.TP
+\fB\-\-sbat\fR=\fI\,FILE\/\fR
+SBAT metadata
+.TP
+\fB\-\-themes\fR=\fI\,THEMES\/\fR
+install THEMES [default=starfield]
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+print verbose messages.
+.TP
+\fB\-x\fR, \fB\-\-x509key\fR=\fI\,FILE\/\fR
+embed FILE as an x509 certificate for signature
+checking
+.TP
+\fB\-\-allow\-floppy\fR
+make the drive also bootable as floppy (default
+for fdX devices). May break on some BIOSes.
+.TP
+\fB\-\-boot\-directory\fR=\fI\,DIR\/\fR
+install GRUB images under the directory DIR/grub2
+instead of the boot/grub2 directory
+.TP
+\fB\-\-bootloader\-id\fR=\fI\,ID\/\fR
+the ID of bootloader. This option is only
+available on EFI and Macs.
+.TP
+\fB\-\-core\-compress\fR=\fI\,xz\/\fR|none|auto
+choose the compression to use for core image
+.TP
+\fB\-\-disk\-module\fR=\fI\,MODULE\/\fR
+disk module to use (biosdisk or native). This
+option is only available on BIOS target.
+.TP
+\fB\-\-efi\-directory\fR=\fI\,DIR\/\fR
+use DIR as the EFI System Partition root.
+.TP
+\fB\-\-force\fR
+install even if problems are detected
+.TP
+\fB\-\-force\-file\-id\fR
+use identifier file even if UUID is available
+.TP
+\fB\-\-label\-bgcolor\fR=\fI\,COLOR\/\fR
+use COLOR for label background
+.TP
+\fB\-\-label\-color\fR=\fI\,COLOR\/\fR
+use COLOR for label
+.TP
+\fB\-\-label\-font\fR=\fI\,FILE\/\fR
+use FILE as font for label
+.HP
+\fB\-\-macppc\-directory\fR=\fI\,DIR\/\fR use DIR for PPC MAC install.
+.TP
+\fB\-\-no\-bootsector\fR
+do not install bootsector
+.TP
+\fB\-\-no\-nvram\fR
+don't update the `boot\-device'/`Boot*' NVRAM
+variables. This option is only available on EFI
+and IEEE1275 targets.
+.TP
+\fB\-\-no\-rs\-codes\fR
+Do not apply any reed\-solomon codes when
+embedding core.img. This option is only available
+on x86 BIOS targets.
+.TP
+\fB\-\-product\-version\fR=\fI\,STRING\/\fR
+use STRING as product version
+.TP
+\fB\-\-recheck\fR
+delete device map if it already exists
+.TP
+\fB\-\-removable\fR
+the installation device is removable. This option
+is only available on EFI.
+.TP
+\fB\-s\fR, \fB\-\-skip\-fs\-probe\fR
+do not probe for filesystems in DEVICE
+.TP
+\fB\-\-target\fR=\fI\,TARGET\/\fR
+install GRUB for TARGET platform
+[default=x86_64\-efi]; available targets:
+arm\-coreboot, arm\-efi, arm\-uboot, arm64\-efi,
+i386\-coreboot, i386\-efi, i386\-ieee1275,
+i386\-multiboot, i386\-pc, i386\-qemu, i386\-xen,
+i386\-xen_pvh, ia64\-efi, mips\-arc, mips\-qemu_mips,
+mipsel\-arc, mipsel\-loongson, mipsel\-qemu_mips,
+powerpc\-ieee1275, riscv32\-efi, riscv64\-efi,
+sparc64\-ieee1275, x86_64\-efi, x86_64\-xen
+.TP
+\-?, \fB\-\-help\fR
+give this help list
+.TP
+\fB\-\-usage\fR
+give a short usage message
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print program version
+.PP
+Mandatory or optional arguments to long options are also mandatory or optional
+for any corresponding short options.
+.PP
+INSTALL_DEVICE must be system device filename.
+grub\-install copies GRUB images into boot/grub2. On some platforms, it may
+also install GRUB into the boot sector.
+.SH "REPORTING BUGS"
+Report bugs to <bug\-grub@gnu.org>.
+.SH "SEE ALSO"
+.BR grub-mkconfig (8),
+.BR grub-mkimage (1),
+.BR grub-mkrescue (1)
+.PP
+The full documentation for
+.B grub-install
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-install
+programs are properly installed at your site, the command
+.IP
+.B info grub-install
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-mkconfig.8 b/upstream/fedora-40/man8/grub2-mkconfig.8
new file mode 100644
index 00000000..6c62e799
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-mkconfig.8
@@ -0,0 +1,37 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-MKCONFIG "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-mkconfig \- generate a GRUB configuration file
+.SH SYNOPSIS
+.B grub-mkconfig
+[\fI\,OPTION\/\fR]
+.SH DESCRIPTION
+Generate a grub config file
+.TP
+\fB\-o\fR, \fB\-\-output\fR=\fI\,FILE\/\fR
+output generated config to FILE [default=stdout]
+.TP
+\fB\-\-no\-grubenv\-update\fR
+do not update variables in the grubenv file
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+print this message and exit
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print the version information and exit
+.SH "REPORTING BUGS"
+Report bugs to <bug\-grub@gnu.org>.
+.SH "SEE ALSO"
+.BR grub-install (8)
+.PP
+The full documentation for
+.B grub-mkconfig
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-mkconfig
+programs are properly installed at your site, the command
+.IP
+.B info grub-mkconfig
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-probe.8 b/upstream/fedora-40/man8/grub2-probe.8
new file mode 100644
index 00000000..eeb328e6
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-probe.8
@@ -0,0 +1,62 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-PROBE "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-probe \- probe device information for GRUB
+.SH SYNOPSIS
+.B grub-probe
+[\fI\,OPTION\/\fR...] [\fI\,OPTION\/\fR]... [\fI\,PATH|DEVICE\/\fR]
+.SH DESCRIPTION
+Probe device information for a given path (or device, if the \fB\-d\fR option is
+given).
+.TP
+\fB\-0\fR
+separate items in output using ASCII NUL
+characters
+.TP
+\fB\-d\fR, \fB\-\-device\fR
+given argument is a system device, not a path
+.TP
+\fB\-m\fR, \fB\-\-device\-map\fR=\fI\,FILE\/\fR
+use FILE as the device map
+[default=/boot/grub2/device.map]
+.TP
+\fB\-t\fR, \fB\-\-target\fR=\fI\,TARGET\/\fR
+print TARGET
+available targets: abstraction, arc_hints,
+baremetal_hints, bios_hints, compatibility_hint,
+cryptodisk_uuid, device, disk, drive, efi_hints,
+fs, fs_label, fs_uuid, gpt_parttype,
+hints_string, ieee1275_hints, msdos_parttype,
+partmap, partuuid, zero_check [default=fs]
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+print verbose messages (pass twice to enable
+debug printing).
+.TP
+\-?, \fB\-\-help\fR
+give this help list
+.TP
+\fB\-\-usage\fR
+give a short usage message
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print program version
+.PP
+Mandatory or optional arguments to long options are also mandatory or optional
+for any corresponding short options.
+.SH "REPORTING BUGS"
+Report bugs to <bug\-grub@gnu.org>.
+.SH "SEE ALSO"
+.BR grub-fstest (1)
+.PP
+The full documentation for
+.B grub-probe
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-probe
+programs are properly installed at your site, the command
+.IP
+.B info grub-probe
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-reboot.8 b/upstream/fedora-40/man8/grub2-reboot.8
new file mode 100644
index 00000000..46beae18
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-reboot.8
@@ -0,0 +1,44 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-REBOOT "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-reboot \- set the default boot entry for GRUB, for the next boot only
+.SH SYNOPSIS
+.B grub-reboot
+[\fI\,OPTION\/\fR] \fI\,MENU_ENTRY\/\fR
+.SH DESCRIPTION
+Set the default boot menu entry for GRUB, for the next boot only.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+print this message and exit
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print the version information and exit
+.TP
+\fB\-\-boot\-directory\fR=\fI\,DIR\/\fR
+expect GRUB images under the directory DIR/grub2
+instead of the \fI\,/boot/grub2\/\fP directory
+.PP
+MENU_ENTRY is a number, a menu item title or a menu item identifier. Please note that menu items in
+submenus or sub\-submenus require specifying the submenu components and then the
+menu item component. The titles should be separated using the greater\-than
+character (>) with no extra spaces. Depending on your shell some characters including > may need escaping. More information about this is available
+in the GRUB Manual in the section about the 'default' command.
+.PP
+NOTE: In cases where GRUB cannot write to the environment block, such as when it is stored on an MDRAID or LVM device, the chosen boot menu entry will remain the default even after reboot.
+.SH "REPORTING BUGS"
+Report bugs to <bug\-grub@gnu.org>.
+.SH "SEE ALSO"
+.BR grub-set-default (8),
+.BR grub-editenv (1)
+.PP
+The full documentation for
+.B grub-reboot
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-reboot
+programs are properly installed at your site, the command
+.IP
+.B info grub-reboot
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-set-default.8 b/upstream/fedora-40/man8/grub2-set-default.8
new file mode 100644
index 00000000..3a7b0c59
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-set-default.8
@@ -0,0 +1,39 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-SET-DEFAULT "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-set-default \- set the saved default boot entry for GRUB
+.SH SYNOPSIS
+.B grub-set-default
+[\fI\,OPTION\/\fR] \fI\,MENU_ENTRY\/\fR
+.SH DESCRIPTION
+Set the default boot menu entry for GRUB.
+This requires setting GRUB_DEFAULT=saved in \fI\,/etc/default/grub\/\fP.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+print this message and exit
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print the version information and exit
+.TP
+\fB\-\-boot\-directory\fR=\fI\,DIR\/\fR
+expect GRUB images under the directory DIR/grub2
+instead of the \fI\,/boot/grub2\/\fP directory
+.PP
+MENU_ENTRY is a number, a menu item title or a menu item identifier.
+.SH "REPORTING BUGS"
+Report bugs to <bug\-grub@gnu.org>.
+.SH "SEE ALSO"
+.BR grub-reboot (8),
+.BR grub-editenv (1)
+.PP
+The full documentation for
+.B grub-set-default
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-set-default
+programs are properly installed at your site, the command
+.IP
+.B info grub-set-default
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-set-password.8 b/upstream/fedora-40/man8/grub2-set-password.8
new file mode 100644
index 00000000..b0b26a8e
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-set-password.8
@@ -0,0 +1,54 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-SET-PASSWORD "8" "February 2024" "The grub bootloader password may only be set by root." "System Administration Utilities"
+.SH NAME
+grub-set-password \- generate the user.cfg file containing the hashed grub bootloader password
+.SH SYNOPSIS
+.B grub-set-password
+[\fI\,OPTION\/\fR]
+.SH DESCRIPTION
+The grub bootloader password may only be set by root.
+.PP
+\&./grub\-set\-password prompts the user to set a password on the grub bootloader. The password
+is written to a file named user.cfg which lives in the GRUB directory
+located by default at \fI\,/boot/grub2\/\fP.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+print this message and exit
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+print the version information and exit
+.TP
+\fB\-o\fR, \fB\-\-output_path\fR <DIRECTORY>
+put user.cfg in a user\-selected directory
+.SH "REPORTING BUGS"
+Report bugs at https://bugzilla.redhat.com.
+.PP
+.br
+Usage: ./grub\-set\-password [OPTION]
+\&./grub\-set\-password prompts the user to set a password on the grub bootloader. The password
+is written to a file named user.cfg which lives in the GRUB directory
+located by default at \fI\,/boot/grub2\/\fP.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+print this message and exit
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+print the version information and exit
+.TP
+\fB\-o\fR, \fB\-\-output_path\fR <DIRECTORY>
+put user.cfg in a user\-selected directory
+.PP
+.br
+Report bugs at https://bugzilla.redhat.com.
+.SH "SEE ALSO"
+The full documentation for
+.B grub-set-password
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-set-password
+programs are properly installed at your site, the command
+.IP
+.B info grub-set-password
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/grub2-switch-to-blscfg.8 b/upstream/fedora-40/man8/grub2-switch-to-blscfg.8
new file mode 100644
index 00000000..c1f3c5a6
--- /dev/null
+++ b/upstream/fedora-40/man8/grub2-switch-to-blscfg.8
@@ -0,0 +1,42 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
+.TH GRUB-SWITCH-TO-BLSCFG "8" "February 2024" "GRUB 2.06" "System Administration Utilities"
+.SH NAME
+grub-switch-to-blscfg \- switch to using BLS config files
+.SH SYNOPSIS
+.B grub-switch-to-blscfg
+
+.SH DESCRIPTION
+Switch to BLS config files.\en
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+print this message and exit
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+print the version information and exit
+.TP
+\fB\-\-backup\-suffix\fR=\fI\,SUFFIX\/\fR
+\&.bak
+.TP
+\fB\-\-bls\-directory\fR=\fI\,DIR\/\fR
+\fI\,/boot/loader/entries\/\fP
+.TP
+\fB\-\-config\-file\fR=\fI\,FILE\/\fR
+\fI\,/etc/grub2\-efi.cfg\/\fP
+.TP
+\fB\-\-grub\-defaults\fR=\fI\,FILE\/\fR
+\fI\,/etc/default/grub\/\fP
+.TP
+\fB\-\-grub\-directory\fR=\fI\,DIR\/\fR
+/boot/efi/EFI/fedora/
+.SH "SEE ALSO"
+The full documentation for
+.B grub-switch-to-blscfg
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B grub-switch-to-blscfg
+programs are properly installed at your site, the command
+.IP
+.B info grub-switch-to-blscfg
+.PP
+should give you access to the complete manual.
diff --git a/upstream/fedora-40/man8/gssd.8 b/upstream/fedora-40/man8/gssd.8
new file mode 100644
index 00000000..2a5384d3
--- /dev/null
+++ b/upstream/fedora-40/man8/gssd.8
@@ -0,0 +1,408 @@
+.\"
+.\" rpc.gssd(8)
+.\"
+.\" Copyright (C) 2003 J. Bruce Fields <bfields@umich.edu>
+.\"
+.TH rpc.gssd 8 "20 Feb 2013"
+.SH NAME
+rpc.gssd \- RPCSEC_GSS daemon
+.SH SYNOPSIS
+.B rpc.gssd
+.RB [ \-DfMnlvrHC ]
+.RB [ \-k
+.IR keytab ]
+.RB [ \-p
+.IR pipefsdir ]
+.RB [ \-d
+.IR ccachedir ]
+.RB [ \-t
+.IR timeout ]
+.RB [ \-T
+.IR timeout ]
+.RB [ \-U
+.IR timeout ]
+.RB [ \-R
+.IR realm ]
+.SH INTRODUCTION
+The RPCSEC_GSS protocol, defined in RFC 5403, is used to provide
+strong security for RPC-based protocols such as NFS.
+.P
+Before exchanging RPC requests using RPCSEC_GSS, an RPC client must
+establish a GSS
+.IR "security context" .
+A security context is shared state on each
+end of a network transport that enables GSS-API security services.
+.P
+Security contexts are established using
+.IR "security credentials" .
+A credential grants temporary access to a secure network service,
+much as a railway ticket grants temporary access to use a rail service.
+.P
+A user typically obtains a credential by providing a password to the
+.BR kinit (1)
+command, or via a PAM library at login time.
+A credential acquired with a
+.I user principal
+is known as a
+.I user credential
+(see
+.BR kerberos (1)
+for more on principals).
+.P
+Certain operations require a credential that
+represents no particular user
+or
+represents the host itself.
+This kind of credential is called a
+.IR "machine credential" .
+.P
+A host establishes its machine credential using a
+.I "service principal"
+whose encrypted password is stored in a local file known as a
+.IR keytab .
+A machine credential remains effective
+without user intervention
+as long as the host can renew it.
+.P
+Once obtained, credentials are typically stored in local temporary files
+with well-known pathnames.
+.SH DESCRIPTION
+To establish GSS security contexts using these credential files,
+the Linux kernel RPC client depends on a userspace daemon called
+.BR rpc.gssd .
+The
+.B rpc.gssd
+daemon uses the rpc_pipefs filesystem to communicate with the kernel.
+.SS User Credentials
+When a user authenticates using a command such as
+.BR kinit (1),
+the resulting credential is stored in a file with a well-known name
+constructed using the user's UID.
+.P
+To interact with an NFS server
+on behalf of a particular Kerberos-authenticated user,
+the Linux kernel RPC client requests that
+.B rpc.gssd
+initialize a security context with the credential
+in that user's credential file.
+.P
+Typically, credential files are placed in
+.IR /tmp .
+However,
+.B rpc.gssd
+can search for credential files in more than one directory.
+See the description of the
+.B -d
+option for details.
+.SS Machine Credentials
+.B rpc.gssd
+searches the default keytab,
+.IR /etc/krb5.keytab ,
+in the following order for a principal and password to use
+when establishing the machine credential.
+For the search, rpc.gssd replaces <hostname> and <REALM> with the local
+system's hostname and Kerberos realm.
+.sp
+ <HOSTNAME>$@<REALM>
+.br
+ root/<hostname>@<REALM>
+.br
+ nfs/<hostname>@<REALM>
+.br
+ host/<hostname>@<REALM>
+.br
+ root/<anyname>@<REALM>
+.br
+ nfs/<anyname>@<REALM>
+.br
+ host/<anyname>@<REALM>
+.sp
+rpc.gssd selects one of the <anyname> entries if it does not find
+a service principal matching the local hostname,
+e.g. if DHCP assigns the local hostname dynamically.
+The <anyname> facility enables the use of the same keytab on multiple systems.
+However, using the same service principal to establish a machine credential
+on multiple hosts can create unwanted security exposures
+and is therefore not recommended.
+.P
+Note that <HOSTNAME>$@<REALM> is a user principal
+that enables Kerberized NFS when the local system is joined
+to an Active Directory domain using Samba.
+The keytab provides the password for this principal.
+.P
+You can specify a different keytab by using the
+.B -k
+option if
+.I /etc/krb5.keytab
+does not exist or does not provide one of these principals.
+.SS Credentials for UID 0
+UID 0 is a special case.
+By default
+.B rpc.gssd
+uses the system's machine credentials for UID 0 accesses
+that require GSS authentication.
+This limits the privileges of the root user
+when accessing network resources that require authentication.
+.P
+Specify the
+.B -n
+option when starting
+.B rpc.gssd
+if you'd like to force the root user to obtain a user credential
+rather than use the local system's machine credential.
+.P
+When
+.B -n
+is specified,
+the kernel continues to request a GSS context established
+with a machine credential for NFSv4 operations,
+such as SETCLIENTID or RENEW, that manage state.
+If
+.B rpc.gssd
+cannot obtain a machine credential (say, the local system has
+no keytab), NFSv4 operations that require machine credentials will fail.
+.SS Encryption types
+A realm administrator can choose to add keys encoded in a number of different
+encryption types to the local system's keytab.
+For instance, a host/ principal might have keys for the
+.BR aes256-cts-hmac-sha1-96 ,
+.BR aes128-cts-hmac-sha1-96 ,
+.BR des3-cbc-sha1 ", and"
+.BR arcfour-hmac " encryption types."
+This permits
+.B rpc.gssd
+to choose an appropriate encryption type that the target NFS server
+supports.
+.P
+These encryption types are stronger than legacy single-DES encryption types.
+To interoperate in environments where servers support
+only weak encryption types,
+you can restrict your client to use only single-DES encryption types
+by specifying the
+.B -l
+option when starting
+.BR rpc.gssd .
+.SH OPTIONS
+.TP
+.B \-D
+The server name passed to GSSAPI for authentication is normally the
+name exactly as requested. e.g. for NFS
+it is the server name in the "servername:/path" mount request. Only if this
+servername appears to be an IP address (IPv4 or IPv6) or an
+unqualified name (no dots) will a reverse DNS lookup
+will be performed to get the canoncial server name.
+
+If
+.B \-D
+is present, a reverse DNS lookup will
+.I always
+be used, even if the server name looks like a canonical name. So it
+is needed if partially qualified, or non canonical names are regularly
+used.
+
+Using
+.B \-D
+can introduce a security vulnerability, so it is recommended that
+.B \-D
+not be used, and that canonical names always be used when requesting
+services.
+.TP
+.B -f
+Runs
+.B rpc.gssd
+in the foreground and sends output to stderr (as opposed to syslogd)
+.TP
+.B -n
+When specified, UID 0 is forced to obtain user credentials
+which are used instead of the local system's machine credentials.
+.TP
+.BI "-k " keytab
+Tells
+.B rpc.gssd
+to use the keys found in
+.I keytab
+to obtain machine credentials.
+The default value is
+.IR /etc/krb5.keytab .
+.TP
+.B -l
+When specified, restricts
+.B rpc.gssd
+to sessions to weak encryption types such as
+.BR des-cbc-crc .
+This option is available only when the local system's Kerberos library
+supports settable encryption types.
+.TP
+.BI "-p " path
+Tells
+.B rpc.gssd
+where to look for the rpc_pipefs filesystem. The default value is
+.IR /var/lib/nfs/rpc_pipefs .
+.TP
+.BI "-d " search-path
+This option specifies a colon separated list of directories that
+.B rpc.gssd
+searches for credential files. The default value is
+.IR /tmp:/run/user/%U .
+The literal sequence "%U" can be specified to substitue the UID
+of the user for whom credentials are being searched.
+.TP
+.B -M
+By default, machine credentials are stored in files in the first
+directory in the credential directory search path (see the
+.B -d
+option). When
+.B -M
+is set,
+.B rpc.gssd
+stores machine credentials in memory instead.
+.TP
+.B -v
+Increases the verbosity of the output (can be specified multiple times).
+.TP
+.B -r
+If the RPCSEC_GSS library supports setting debug level,
+increases the verbosity of the output (can be specified multiple times).
+.TP
+.BI "-R " realm
+Kerberos tickets from this
+.I realm
+will be preferred when scanning available credentials cache files to be
+used to create a context. By default, the default realm, as configured
+in the Kerberos configuration file, is preferred.
+.TP
+.BI "-t " timeout
+Timeout, in seconds, for kernel GSS contexts. This option allows you to force
+new kernel contexts to be negotiated after
+.I timeout
+seconds, which allows changing Kerberos tickets and identities frequently.
+The default is no explicit timeout, which means the kernel context will live
+the lifetime of the Kerberos service ticket used in its creation.
+.TP
+.BI "-T " timeout
+Timeout, in seconds, to create an RPC connection with a server while
+establishing an authenticated gss context for a user.
+The default timeout is set to 5 seconds.
+If you get messages like "WARNING: can't create tcp rpc_clnt to server
+%servername% for user with uid %uid%: RPC: Remote system error -
+Connection timed out", you should consider an increase of this timeout.
+.TP
+.BI "-U " timeout
+Timeout, in seconds, for upcall threads. Threads executing longer than
+.I timeout
+seconds will cause an error message to be logged. The default
+.I timeout
+is 30 seconds. The minimum is 5 seconds. The maximum is 600 seconds.
+.TP
+.B -C
+In addition to logging an error message for threads that have timed out,
+the thread will be canceled and an error of -ETIMEDOUT will be reported
+to the kernel.
+.TP
+.B -H
+Avoids setting $HOME to "/". This allows rpc.gssd to read per user k5identity
+files versus trying to read /.k5identity for each user.
+
+If
+.B \-H
+is not set, rpc.gssd will use the first match found in
+/var/kerberos/krb5/user/$EUID/client.keytab and will not use a principal based on
+host and/or service parameters listed in $HOME/.k5identity.
+.SH CONFIGURATION FILE
+Many of the options that can be set on the command line can also be
+controlled through values set in the
+.B [gssd]
+section of the
+.I /etc/nfs.conf
+configuration file. Values recognized include:
+.TP
+.B verbosity
+Value which is equivalent to the number of
+.BR -v .
+.TP
+.B rpc-verbosity
+Value which is equivalent to the number of
+.BR -r .
+.TP
+.B use-memcache
+A Boolean flag equivalent to
+.BR -M .
+.TP
+.B use-machine-creds
+A Boolean flag. Setting to
+.B false
+is equivalent to giving the
+.B -n
+flag.
+.TP
+.B avoid-dns
+Setting to
+.B false
+is equivalent to providing the
+.B -D
+flag.
+.TP
+.B limit-to-legacy-enctypes
+Equivalent to
+.BR -l .
+.TP
+.B context-timeout
+Equivalent to
+.BR -t .
+.TP
+.B rpc-timeout
+Equivalent to
+.BR -T .
+.TP
+.B keytab-file
+Equivalent to
+.BR -k .
+.TP
+.BR cred-cache-directory
+Equivalent to
+.BR -d .
+.TP
+.B preferred-realm
+Equivalent to
+.BR -R .
+.TP
+.B upcall-timeout
+Equivalent to
+.BR -U .
+.TP
+.B cancel-timed-out-upcalls
+Setting to
+.B true
+is equivalent to providing the
+.B -C
+flag.
+.TP
+.B set-home
+Setting to
+.B false
+is equivalent to providing the
+.B -H
+flag.
+.P
+In addtion, the following value is recognized from the
+.B [general]
+section:
+.TP
+.B pipefs-directory
+Equivalent to
+.BR -p .
+
+.SH SEE ALSO
+.BR rpc.svcgssd (8),
+.BR kerberos (1),
+.BR kinit (1),
+.BR krb5.conf (5)
+.SH AUTHORS
+.br
+Dug Song <dugsong@umich.edu>
+.br
+Andy Adamson <andros@umich.edu>
+.br
+Marius Aamodt Eriksen <marius@umich.edu>
+.br
+J. Bruce Fields <bfields@umich.edu>
diff --git a/upstream/fedora-40/man8/hdparm.8 b/upstream/fedora-40/man8/hdparm.8
new file mode 100644
index 00000000..ccdbb21a
--- /dev/null
+++ b/upstream/fedora-40/man8/hdparm.8
@@ -0,0 +1,914 @@
+.TH HDPARM 8 "Sep 2022" "Version 9.65"
+
+.SH NAME
+hdparm \- get/set SATA/IDE device parameters
+.SH SYNOPSIS
+.B hdparm
+[options] [device ...]
+.SH DESCRIPTION
+.BI hdparm
+provides a command line interface to various kernel interfaces
+supported by the Linux SATA/PATA/SAS "libata" subsystem
+and the older IDE driver subsystem. Many newer (2008 and later)
+USB drive enclosures now also support "SAT" (SCSI-ATA Command Translation)
+and therefore may also work with hdparm. E.g. recent WD "Passport" models
+and recent NexStar-3 enclosures.
+Some options may work correctly only with the latest kernels.
+.SH OPTIONS
+When no options are given,
+.B -acdgkmur
+is assumed.
+For "Get/set" options, a query without the optional parameter (e.g. \-d) will query (get)
+the device state, and with a parameter (e.g., \-d0) will set the device state.
+.TP
+.I -a
+Get/set sector count for filesystem (software) read-ahead.
+This is used to improve performance in sequential reads of large files,
+by prefetching additional
+blocks in anticipation of them being needed by the running task.
+Many IDE drives also have a separate built-in read-ahead function,
+which augments this filesystem (software) read-ahead function.
+.TP
+.I -A
+Get/set the IDE drive\'s read-lookahead feature (usually ON by default).
+Usage:
+.B -A0
+(disable) or
+.B -A1
+(enable).
+.TP
+.I -b
+Get/set bus state.
+.TP
+.I -B
+Get/set Advanced Power Management feature, if the drive supports it. A low value
+means aggressive power management and a high value means better performance.
+Possible settings range from values 1 through 127 (which permit spin-down),
+and values 128 through 254 (which do not permit spin-down).
+The highest degree of power management is attained with a setting of 1,
+and the highest I/O performance with a setting of 254.
+A value of 255 tells hdparm to disable Advanced Power Management altogether
+on the drive (not all drives support disabling it, but most do).
+.TP
+.I -c
+Get/set (E)IDE 32-bit I/O support. A numeric parameter can be
+used to enable/disable 32-bit I/O support.
+Currently supported values include
+.B 0
+to disable 32-bit I/O support,
+.B 1
+to enable 32-bit data transfers, and
+.B 3
+to enable 32-bit data transfers with a special
+.B sync
+sequence required by many chipsets. The value
+.B 3
+works with nearly all
+32-bit IDE chipsets, but incurs slightly more overhead.
+Note that "32-bit" refers to data transfers across a PCI or VLB bus to the
+interface card only; all (E)IDE drives still have only a 16-bit connection
+over the ribbon cable from the interface card.
+.TP
+.I -C
+Check the current IDE power mode status, which will always be one of
+.B unknown
+(drive does not support this command),
+.B active/idle
+(normal operation),
+.B standby
+(low power mode, drive has spun down),
+or
+.B sleeping
+(lowest power mode, drive is completely shut down).
+The
+.B -S, -y, -Y,
+and
+.B -Z
+options can be used to manipulate the IDE power modes.
+.TP
+.I -d
+Get/set the "using_dma" flag for this drive. This option now works
+with most combinations of drives and PCI interfaces which support DMA
+and which are known to the kernel IDE driver.
+It is also a good idea to use the appropriate
+.B -X
+option in combination with
+.B -d1
+to ensure that the drive itself is programmed for the correct DMA mode,
+although most BIOSs should do this for you at boot time.
+Using DMA nearly always gives the best performance,
+with fast I/O throughput and low CPU usage.
+But there are at least a few configurations of chipsets and drives
+for which DMA does not make much of a difference, or may even slow
+things down (on really messed up hardware!). Your mileage may vary.
+.TP
+.I --dco-freeze
+DCO stands for Device Configuration Overlay, a way for vendors to selectively
+disable certain features of a drive. The
+.B --dco-freeze
+option will freeze/lock the current drive configuration,
+thereby preventing software (or malware)
+from changing any DCO settings until after the next power-on reset.
+.TP
+.I --dco-identify
+Query and dump information regarding drive configuration settings
+which can be disabled by the vendor or OEM installer.
+These settings show capabilities of the drive which might be disabled
+by the vendor for "enhanced compatibility".
+When disabled, they are otherwise hidden and will not show in the
+.B -I
+identify output. For example, system vendors sometimes disable 48_bit
+addressing on large drives, for compatibility (and loss of capacity)
+with a specific BIOS. In such cases,
+.B --dco-identify
+will show that the drive is 48_bit capable, but
+.B -I
+will not show it, and nor will the drive accept 48_bit commands.
+.TP
+.I --dco-restore
+Reset all drive settings, features, and accessible capacities back to factory defaults
+and full capabilities. This command will fail if DCO is frozen/locked,
+or if a
+.B -Np
+maximum size restriction has also been set.
+This is
+.B EXTREMELY DANGEROUS
+and will very likely cause massive loss of data.
+.B DO NOT USE THIS COMMAND.
+.TP
+.I --direct
+Use the kernel\'s "O_DIRECT" flag when performing a
+.B -t
+timing test. This bypasses the page cache, causing the reads
+to go directly from the drive into hdparm's buffers, using so-called
+"raw" I/O. In many cases, this can produce results that appear
+much faster than the usual page cache method, giving a better indication
+of raw device and driver performance.
+.TP
+.I --drq-hsm-error
+.B VERY DANGEROUS, DON'T EVEN THINK ABOUT USING IT.
+This option causes hdparm to issue an IDENTIFY command
+to the kernel, but incorrectly marked as a "non-data" command.
+This results in the drive being left with its DataReQust(DRQ) line
+"stuck" high. This confuses the kernel drivers, and may crash the system
+immediately with massive data loss. The option exists to help in testing
+and fortifying the kernel against similar real-world drive malfunctions.
+.B VERY DANGEROUS, DO NOT USE!!
+.TP
+.I -D
+Enable/disable the on-drive defect management feature,
+whereby the drive firmware tries to automatically manage
+defective sectors by relocating them to "spare" sectors
+reserved by the factory for such. Control of this feature
+via the
+.B -D
+option is not supported for most modern drives
+since ATA-4; thus this command may fail.
+.TP
+.I -E
+Set cd/dvd drive speed. This is NOT necessary for regular operation,
+as the drive will automatically switch speeds on its own.
+But if you want to play with it, just supply a speed number
+after the option, usually a number like 2 or 4.
+This can be useful in some cases, though, to smooth out DVD video playback.
+.TP
+.I -f
+Sync and flush the buffer cache for the device on exit.
+This operation is also performed internally as part of the
+.B -t
+and
+.B -T
+timings and other options.
+.TP
+.I --fallocate
+This option currently works only on ext4 and xfs filesystem types.
+When used, this must be the only option given.
+It requires two parameters: the desired file size in kilo-bytes
+(byte count divided by 1024), followed by the pathname for the new file.
+It will create a new file of the specified size,
+but without actually having to write any data to the file.
+This will normally complete very quickly, and without thrashing the storage device.
+.IP
+E.g. Create a 10KByte file:
+.B hdparm --fallocate 10 temp_file
+.TP
+.I --fibmap
+When used, this must be the only option given.
+It requires a file path as a parameter, and will print
+out a list of the block extents (sector ranges)
+occupied by that file on disk.
+Sector numbers are given as absolute LBA numbers,
+referenced from sector 0 of the physical device rather
+than from the partition or filesystem.
+This information can then be used for a variety of purposes,
+such as examining the degree of fragmenation of larger files, or
+determining appropriate sectors to deliberately corrupt
+during fault-injection testing procedures.
+.IP
+This option uses the new FIEMAP (file extent map) ioctl() when available,
+and falls back to the older FIBMAP (file block map) ioctl() otherwise.
+Note that FIBMAP suffers from a 32-bit block-number interface,
+and thus not work beyond 8TB or 16TB. FIBMAP is also very slow,
+and does not deal well with preallocated uncommitted extents
+in ext4/xfs filesystems, unless a sync() is done before using this option.
+.TP
+.I --fwdownload
+When used, this should be the only option given.
+It requires a file path immediately after the
+option, indicating where the new drive firmware should be read from.
+The contents of this file will be sent to the drive using the
+(S)ATA
+.B DOWNLOAD MICROCODE
+command, using either transfer protocol 7 (entire file at once),
+or, if the drive supports it, transfer protocol 3 (segmented download).
+This command is
+.B EXTREMELY DANGEROUS
+and could destroy both the drive and all data on it.
+.B DO NOT USE THIS COMMAND.
+The
+.B --fwdownload-mode3
+,
+.B --fwdownload-mode3-max
+, and
+.B --fwdownload-mode7
+variations on basic
+.B --fwdownload
+allow overriding automatic protocol detection in favour of
+forcing hdparm to use a specific transfer protocol, for testing purposes only.
+.TP
+.I -F
+Flush the on-drive write cache buffer (older drives may not implement this).
+.TP
+.I -g
+Display the drive geometry (cylinders, heads, sectors),
+the size (in sectors) of the device,
+and the starting offset (in sectors) of the device from
+the beginning of the drive.
+.TP
+.I -h
+Display terse usage information (help).
+.TP
+.I -H
+Read the temperature from some (mostly Hitachi) drives.
+Also reports if the temperature is within operating condition range
+(this may not be reliable). Does not cause the drive to spin up if idle.
+.TP
+.I -i
+Display the identification info which the kernel drivers (IDE, libata)
+have stored from boot/configuration time. This may differ from the
+current information obtainable directly from the drive itself
+with the
+.B -I
+option.
+The data returned may or may not be current, depending on activity
+since booting the system.
+For a more detailed interpretation of the identification info,
+refer to
+.I AT Attachment Interface for Disk Drives,
+ANSI ASC X3T9.2 working draft, revision 4a, April 19/93, and later editions.
+.TP
+.I --idle-immediate
+Issue an ATA IDLE_IMMEDIATE command, to put the drive into a lower power state.
+Usually the device remains spun-up.
+.TP
+.I --idle-unload
+Issue an ATA IDLE_IMMEDIATE_WITH_UNLOAD command, to unload or park the heads
+and put the drive into a lower power state. Usually the device remains spun-up.
+.TP
+.I -I
+Request identification info directly from the drive,
+which is displayed in a new expanded format with considerably
+more detail than with the older
+.B -i
+option.
+.TP
+.I --Iraw <pathname>
+This option dumps the drive's identify data in raw binary to the specified file.
+.TP
+.I --Istdin
+This is a special variation on the
+.B -I
+option,
+which accepts a drive identification block as standard input
+instead of using a /dev/hd* parameter.
+The format of this block must be
+.B exactly
+the same as that found in the /proc/ide/*/hd*/identify "files",
+or that produced by the
+.B --Istdout
+option described below.
+This variation is designed for use with collected "libraries" of drive
+identification information, and can also be used on ATAPI
+drives which may give media errors with the standard mechanism.
+When
+.B --Istdin
+is used, it must be the *only* parameter given.
+Note that some information will be incomplete, as the drive LOG PAGES are unavailable when
+.B --Istdin
+is used.
+.TP
+.I --Istdout
+This option dumps the drive's identify data in hex to stdout,
+in a format similar to that from /proc/ide/*/identify, and suitable for
+later use with the
+.B --Istdin
+option.
+.TP
+.I -J
+Get/set the Western Digital (WD) Green Drive's "idle3" timeout value.
+This timeout controls how often the drive parks its heads and enters
+a low power consumption state. The factory default is eight (8) seconds,
+which is a very poor choice for use with Linux. Leaving it at the default
+will result in hundreds of thousands of head load/unload cycles in a very
+short period of time. The drive mechanism is only rated for 300,000 to 1,000,000
+cycles, so leaving it at the default could result in premature failure,
+not to mention the performance impact of the drive often having to wake-up
+before doing routine I/O.
+.IP
+WD supply a WDIDLE3.EXE DOS utility for tweaking this setting,
+and you should use that program instead of hdparm
+if at all possible. The reverse-engineered implementation in hdparm
+is not as complete as the original official program, even though it does
+seem to work on at a least a few drives. A full power cycle is required
+for any change in setting to take effect, regardless of which program is
+used to tweak things.
+.IP
+A setting of 30 seconds is recommended for Linux use.
+Permitted values are from 8 to 12 seconds, and from 30 to 300 seconds
+in 30-second increments.
+Specify a value of zero (0) to disable the WD idle3 timer completely
+(NOT RECOMMENDED!).
+.TP
+.I -k
+Get/set the "keep_settings_over_reset" flag for the drive.
+When this flag is set, the drive will preserve the
+.B -dmu
+settings over a soft reset, (as done during the error recovery sequence).
+This option defaults to off,
+to prevent drive reset loops which could be caused by combinations of
+.B -dmu
+settings. The
+.B -k
+option should therefore only be set after one has achieved confidence in
+correct system operation with a chosen set of configuration settings.
+In practice, all that is typically necessary to test a configuration
+(prior to using \-k) is to verify that the drive can be read/written,
+and that no error logs (kernel messages) are generated in the process
+(look in /var/log/messages on most systems).
+.TP
+.I -K
+Set the drive\'s "keep_features_over_reset" flag. Setting this enables
+the drive to retain the settings for
+.B -APSWXZ
+over a soft reset (as done during the error recovery sequence).
+Not all drives support this feature.
+.TP
+.I -L
+Set the drive\'s doorlock flag. Setting this to
+.B 1
+will lock the door mechanism of some removable hard drives
+(e.g. Syquest, ZIP, Jazz..), and setting it to
+.B 0
+will unlock the door mechanism. Normally, Linux
+maintains the door locking mechanism automatically, depending on drive usage
+(locked whenever a filesystem is mounted). But on system shutdown, this can
+be a nuisance if the root partition is on a removable disk, since the root
+partition is left mounted (read-only) after shutdown. So, by using this
+command to unlock the door
+.B after
+the root filesystem is remounted read-only, one can then remove the cartridge
+from the drive after shutdown.
+.TP
+.I -m
+Get/set sector count for multiple sector I/O on the drive. A setting of
+.B 0
+disables this feature. Multiple sector mode (aka IDE Block Mode), is a feature
+of most modern IDE hard drives, permitting the transfer of multiple sectors per
+I/O interrupt, rather than the usual one sector per interrupt. When this
+feature is enabled, it typically reduces operating system overhead for disk
+I/O by 30-50%. On many systems, it also provides increased data throughput
+of anywhere from 5% to 50%. Some drives, however
+(most notably the WD Caviar series),
+seem to run slower with multiple mode enabled. Your mileage may vary.
+Most drives support the minimum settings of
+2, 4, 8, or 16 (sectors). Larger settings may also be possible, depending on
+the drive. A setting of 16 or 32 seems optimal on many systems.
+Western Digital recommends lower settings of 4 to 8 on many of their drives,
+due tiny (32kB) drive buffers and non-optimized buffering algorithms.
+The
+.B -i
+option can be used to find the maximum setting supported by an installed drive
+(look for MaxMultSect in the output).
+Some drives claim to support multiple mode, but lose data at some settings.
+Under rare circumstances, such failures can result in
+.B massive filesystem corruption.
+.TP
+.I --make-bad-sector
+Deliberately create a bad sector (aka. "media error") on the disk.
+.B EXCEPTIONALLY DANGEROUS. DO NOT USE THIS OPTION!!
+This can be useful for testing of device/RAID error recovery mechanisms.
+The sector number is given as a (base10) parameter after the option.
+Depending on the device, hdparm will choose one of two possible ATA commands for
+corrupting the sector. The WRITE_LONG works on most drives, but only up to the 28-bit
+sector boundary. Some very recent drives (2008) may support the new WRITE_UNCORRECTABLE_EXT
+command, which works for any LBA48 sector. If available, hdparm will use that in
+preference to WRITE_LONG. The WRITE_UNCORRECTABLE_EXT command itself presents a
+choice of how the new bad sector should behave.
+By default, it will look like any other bad sector, and the drive may take some
+time to retry and fail on subsequent READs of the sector.
+However, if a single letter
+.B f
+is prepended immediately in front of the first digit of the sector number parameter,
+then hdparm will issue a "flagged" WRITE_UNCORRECTABLE_EXT, which causes the drive
+to merely flag the sector as bad (rather than genuinely corrupt it), and subsequent
+READs of the sector will fail immediately (rather than after several retries).
+Note also that the
+.B --repair-sector
+option can be used to restore (any) bad sectors when they are no longer needed,
+including sectors that were genuinely bad (the drive will likely remap those
+to a fresh area on the media).
+.TP
+.I -M
+Get/set Automatic Acoustic Management (AAM) setting. Most modern harddisk drives
+have the ability to speed down the head movements to reduce their noise output.
+The possible values are between 0 and 254. 128 is the most quiet (and therefore
+slowest) setting and 254 the fastest (and loudest). Some drives have only two
+levels (quiet / fast), while others may have different levels between 128 and 254.
+At the moment, most drives only support 3 options, off, quiet, and fast.
+These have been assigned the values 0, 128, and 254 at present, respectively,
+but integer space has been incorporated for future expansion, should this change.
+.TP
+.I -n
+Get or set the "ignore_write_errors" flag in the driver.
+Do NOT play with this without grokking the driver source code first.
+.TP
+.I -N
+Get/set max visible number of sectors, also known as the
+.B Host Protected Area
+setting. Without a parameter,
+.B -N
+displays the current setting, which is reported as two values: the first
+gives the current max sectors setting, and the second shows
+the native (real) hardware limit for the disk.
+The difference between these two values indicates how many sectors of the disk
+are currently hidden from the operating system, in the form of a
+.B Host Protected Area (HPA).
+This area is often used by computer makers to hold diagnostic software,
+and/or a copy of the originally provided operating system for recovery purposes.
+Another possible use is to hide the true capacity of a very large disk
+from a BIOS/system that cannot normally cope with drives of that size
+(eg. most current {2010} BIOSs cannot deal with drives larger than 2TB,
+so an HPA could be used to cause a 3TB drive to report itself as a 2TB drive).
+To change the current max (VERY DANGEROUS, DATA LOSS IS EXTREMELY LIKELY),
+a new value should be provided (in base10) immediately
+following the
+.B -N
+option.
+This value is specified as a count of sectors, rather than
+the "max sector address" of the drive.
+Drives have the concept of a temporary (volatile) setting which is
+lost on the next hardware reset, as well as a more permanent (non-volatile)
+value which survives resets and power cycles. By default,
+.B -N
+affects only the temporary (volatile) setting. To change the permanent
+(non-volatile) value, prepend a leading
+.B p
+character immediately before the first digit of the value.
+Drives are supposed to allow only a single permanent
+change per session. A hardware reset (or power cycle) is required
+before another permanent
+.B -N
+operation can succeed. Note that any attempt to set this value
+may fail if the disk is being accessed by other software at the same time.
+This is because setting the value requires a pair of back-to-back drive commands,
+but there is no way to prevent some other command from being inserted between
+them by the kernel. So if it fails initially, just try again.
+Kernel support for
+.B -N
+is buggy for many adapter types across many kernel versions,
+in that an incorrect (too small) max size value is sometimes reported.
+As of the 2.6.27 kernel, this does finally seem to be working on most hardware.
+.TP
+.I --offset
+Offsets to given number of GiB (1024*1024*1024) when performing
+.B -t
+timings of device reads.
+Speed changes (about twice) along many mechanical drives.
+Usually the maximum is at the beginning, but not always.
+Solid-state drives (SSDs) should show similar timings regardless of offset.
+.TP
+.I -p
+Attempt to reprogram the IDE interface chipset for the specified PIO mode,
+or attempt to auto-tune for the "best" PIO mode supported by the drive.
+This feature is supported in the kernel for only a few "known" chipsets,
+and even then the support is iffy at best. Some IDE chipsets are unable
+to alter the PIO mode for a single drive, in which case this option may cause
+the PIO mode for
+.I both
+drives to be set. Many IDE chipsets support either fewer or more than the
+standard six (0 to 5) PIO modes, so the exact speed setting that is actually
+implemented will vary by chipset/driver sophistication.
+.I Use with extreme caution!
+This feature includes zero protection for the unwary,
+and an unsuccessful outcome may result in
+.I severe filesystem corruption!
+.TP
+.I -P
+Set the maximum sector count for the drive\'s internal prefetch mechanism.
+Not all drives support this feature, and it was dropped from the official spec
+as of ATA-4.
+.TP
+.I --prefer-ata12
+When using the SAT (SCSI ATA Translation) protocol, hdparm normally prefers
+to use the 16-byte command format whenever possible.
+But some USB drive enclosures don't work correctly with 16-byte commands.
+This option can be used to force use of the smaller 12-byte command format
+with such drives. hdparm will still revert to 16-byte commands for things
+that cannot be done with the 12-byte format (e.g. sector accesses beyond 28-bits).
+.TP
+.I -q
+Handle the next option quietly, suppressing normal output (but not error messages).
+This is useful for reducing screen clutter when running from system startup scripts.
+Not applicable to the
+.B -i
+or
+.B -v
+or
+.B -t
+or
+.B -T
+options.
+.TP
+.I -Q
+Get or set the device's command queue_depth, if supported by the hardware.
+This only works with 2.6.xx (or later) kernels, and only with
+device and driver combinations which support changing the queue_depth.
+For SATA disks, this is the Native Command Queuing (NCQ) queue depth.
+.TP
+.I -r
+Get/set read-only flag for the device. When set, Linux disallows write operations on the device.
+.TP
+.I -R
+Get/set Write-Read-Verify feature, if the drive supports it.
+Usage:
+.B -R0
+(disable) or
+.B -R1
+(enable). This feature is intended to have the drive firmware automatically
+read-back any data that is written by software, to verify that the data was
+successfully written. This is generally overkill, and can slow down disk
+writes by as much as a factor of two (or more).
+.TP
+.I --read-sector
+Reads from the specified sector number, and dumps the contents in hex to standard output.
+The sector number must be given (base10) after this option.
+hdparm will issue a low-level read (completely bypassing the usual block layer read/write mechanisms)
+for the specified sector. This can be used to definitively check whether a given sector is bad
+(media error) or not (doing so through the usual mechanisms can sometimes give false positives).
+.TP
+.I --repair-sector
+This is an alias for the
+.B --write-sector
+option. VERY DANGEROUS.
+.TP
+.I -s
+Enable/disable the power-on in standby feature, if supported by
+the drive.
+.B VERY DANGEROUS.
+Do not use unless you are absolutely certain
+that both the system BIOS (or firmware) and the operating system kernel
+(Linux >= 2.6.22) support probing for drives that use this feature.
+When enabled, the drive is powered-up in the
+.B standby
+mode to allow the controller to sequence the spin-up of devices,
+reducing the instantaneous current draw burden when many drives
+share a power supply. Primarily for use in large RAID setups.
+This feature is usually disabled and the drive is powered-up in the
+.B active
+mode (see \-C above).
+Note that a drive may also allow enabling this feature by a jumper.
+Some SATA drives support the control of this feature by pin 11 of
+the SATA power connector. In these cases, this command may be
+unsupported or may have no effect.
+.TP
+.I -S
+Put the drive into idle (low-power) mode, and also set the standby
+(spindown) timeout for the drive. This timeout value is used
+by the drive to determine how long to wait (with no disk activity)
+before turning off the spindle motor to save power. Under such
+circumstances, the drive may take as long as 30 seconds to respond to
+a subsequent disk access, though most drives are much quicker. The
+encoding of the timeout value is somewhat peculiar. A value of zero
+means "timeouts are disabled": the device will not automatically enter
+standby mode. Values from 1 to 240 specify multiples of 5 seconds,
+yielding timeouts from 5 seconds to 20 minutes. Values from 241 to
+251 specify from 1 to 11 units of 30 minutes, yielding timeouts from
+30 minutes to 5.5 hours. A value of 252 signifies a timeout of 21
+minutes. A value of 253 sets a vendor-defined timeout period between 8
+and 12 hours, and the value 254 is reserved. 255 is interpreted as 21
+minutes plus 15 seconds. Note that some older drives may have very
+different interpretations of these values.
+.TP
+.I --set-sector-size
+For drives which support reconfiguring of the Logical Sector Size,
+this flag can be used to specify the new desired sector size in bytes.
+.B VERY DANGEROUS. This most likely will scramble all data on the drive.
+The specified size must be one of 512, 520, 528, 4096, 4160, or 4224.
+Very few drives support values other than 512 and 4096. Eg.
+.B hdparm --set-sector-size 4096 /dev/sdb
+.TP
+.I -t
+Perform timings of device reads for benchmark and comparison purposes.
+For meaningful results, this operation should be repeated 2-3 times on
+an otherwise inactive system (no other active processes) with at least a
+couple of megabytes of free memory. This displays the speed of reading
+through the buffer cache to the disk without any prior caching of data.
+This measurement is an indication of how fast the drive can sustain
+sequential data reads under Linux, without any filesystem overhead. To
+ensure accurate measurements, the buffer cache is flushed during the
+processing of
+.I -t
+using the BLKFLSBUF ioctl.
+.TP
+.I -T
+Perform timings of cache reads for benchmark and comparison purposes.
+For meaningful results, this operation should be repeated 2-3 times
+on an otherwise inactive system (no other active processes) with at
+least a couple of megabytes of free memory. This displays the speed
+of reading directly from the Linux buffer cache without disk access.
+This measurement is essentially an indication of the throughput of the
+processor, cache, and memory of the system under test.
+.TP
+.I --trim-sector-ranges
+For Solid State Drives (SSDs).
+.B EXCEPTIONALLY DANGEROUS. DO NOT USE THIS OPTION!!
+Tells the drive firmware
+to discard unneeded data sectors, destroying any data that may have
+been present within them. This makes those sectors available for
+immediate use by the firmware's garbage collection mechanism, to
+improve scheduling for wear-leveling of the flash media.
+This option expects one or more sector range pairs immediately after the option:
+an LBA starting address, a colon, and a sector count (max 65535), with no intervening spaces.
+.B EXCEPTIONALLY DANGEROUS. DO NOT USE THIS OPTION!!
+.IP
+E.g.
+.B hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz
+.TP
+.I --trim-sector-ranges-stdin
+Identical to
+.B --trim-sector-ranges
+above, except the list of lba:count pairs is read from stdin
+rather than being specified on the command line. This can be used
+to avoid problems with excessively long command lines. It also permits
+batching of many more sector ranges into single commands to the drive,
+up to the currently configured transfer limit (max_sectors_kb).
+.TP
+.I -u
+Get/set the interrupt-unmask flag for the drive. A setting of
+.B 1
+permits the
+driver to unmask other interrupts during processing of a disk interrupt,
+which greatly improves Linux\'s responsiveness and eliminates "serial port
+overrun" errors.
+.B Use this feature with caution:
+some drive/controller combinations do
+not tolerate the increased I/O latencies possible when this feature is enabled,
+resulting in
+.B massive filesystem corruption.
+In particular,
+.B CMD-640B
+and
+.B RZ1000
+(E)IDE interfaces can be
+.B unreliable
+(due to a hardware flaw) when this option is used with kernel versions earlier
+than 2.0.13. Disabling the
+.B IDE prefetch
+feature of these interfaces (usually a BIOS/CMOS setting)
+provides a safe fix for the problem for use with earlier kernels.
+.TP
+.I -v
+Display some basic settings, similar to \-acdgkmur for IDE.
+This is also the default behaviour when no options are specified.
+.TP
+.I -V
+Display program version and exit immediately.
+.TP
+.I --verbose
+Display extra diagnostics from some commands.
+.TP
+.I -w
+Perform a device reset
+.B (DANGEROUS).
+Do NOT use this option.
+It exists for unlikely situations where a reboot might otherwise be
+required to get a confused drive back into a useable state.
+.TP
+.I --write-sector
+Writes zeros to the specified sector number. VERY DANGEROUS.
+The sector number must be given (base10) after this option.
+hdparm will issue a low-level write (completely bypassing the usual block layer read/write mechanisms)
+to the specified sector. This can be used to force a drive to repair a bad sector (media error).
+.TP
+.I -W
+Get/set the IDE/SATA drive\'s write-caching feature.
+.TP
+.I -X
+Set the IDE transfer mode for (E)IDE/ATA drives.
+This is typically used in combination with
+.B -d1
+when enabling DMA to/from a drive on a supported interface chipset, where
+.B -X mdma2
+is used to select multiword DMA mode2 transfers and
+.B -X sdma1
+is used to select simple mode 1 DMA transfers.
+With systems which support UltraDMA burst timings,
+.B -X udma2
+is used to select UltraDMA mode2 transfers (you\'ll need to prepare
+the chipset for UltraDMA beforehand).
+Apart from that, use of this option is
+.B seldom necessary
+since most/all modern IDE drives default to their fastest PIO transfer mode
+at power-on. Fiddling with this can be both needless and risky.
+On drives which support alternate transfer modes,
+.B -X
+can be used to switch the mode of the drive
+.B only.
+Prior to changing the transfer mode, the IDE interface should be jumpered
+or programmed (see
+.B -p
+option)
+for the new mode setting to prevent loss and/or corruption of data.
+.I Use this with extreme caution!
+For the PIO (Programmed Input/Output)
+transfer modes used by Linux, this value is simply the desired
+PIO mode number plus 8.
+Thus, a value of 09 sets PIO mode1, 10 enables PIO mode2,
+and 11 selects PIO mode3.
+Setting 00 restores the drive\'s "default" PIO mode, and 01 disables IORDY.
+For multiword DMA, the value used is the desired DMA mode number
+plus 32. for UltraDMA, the value is the desired UltraDMA mode number
+plus 64.
+.TP
+.I -y
+Force an IDE drive to immediately enter the low power consumption
+.B standby
+mode, usually causing it to spin down.
+The current power mode status can be checked using the
+.B -C
+option.
+.TP
+.I -Y
+Force an IDE drive to immediately enter the lowest power consumption
+.B sleep
+mode, causing it to shut down completely. A hard or soft reset
+is required before the drive can be accessed again
+(the Linux IDE driver will automatically handle issuing a reset if/when needed).
+The current power mode status can be checked using the
+.B -C
+option.
+.TP
+.I -z
+Force a kernel re-read of the partition table of the specified device(s).
+.TP
+.I -Z
+Disable the automatic power-saving function of certain Seagate drives
+(ST3xxx models?), to prevent them from idling/spinning-down
+at inconvenient times.
+.TP
+.SH ATA Security Feature Set
+.PP
+These switches are
+.B DANGEROUS
+to experiment with, and might not work with some kernels.
+.B USE AT YOUR OWN RISK.
+.TP
+.I --security-help
+Display terse usage info for all of the \--security-* options.
+.TP
+.I --security-freeze
+Freeze the drive\'s security settings.
+The drive does not accept any security commands until next power-on reset.
+Use this function in combination with \--security-unlock to protect drive
+from any attempt to set a new password. Can be used standalone, too.
+No other options are permitted on the command line with this one.
+.TP
+.I --security-prompt-for-password
+Prompt for the --security PWD rather than getting from the command line args.
+This avoids having passwords show up in shell history or in /proc/self/cmdline during execution.
+.TP
+.I --security-unlock PWD
+Unlock the drive, using password PWD.
+Password is given as an ASCII string and is padded with NULs to reach 32 bytes.
+The applicable drive password is selected with the \--user-master switch
+(default is "user" password).
+No other options are permitted on the command line with this one.
+.TP
+.I --security-set-pass PWD
+Lock the drive, using password PWD (Set Password)
+.B (DANGEROUS).
+Password is given as an ASCII string and is padded with NULs to reach 32 bytes.
+Use the special password
+.B NULL
+to set an empty password.
+The applicable drive password is selected with the \--user-master switch
+(default is "user" password)
+and the applicable security mode with the \--security-mode switch.
+No other options are permitted on the command line with this one.
+.TP
+.I --security-disable PWD
+Disable drive locking, using password PWD.
+Password is given as an ASCII string and is padded with NULs to reach 32 bytes.
+The applicable drive password is selected with the \--user-master switch
+(default is "user" password).
+No other options are permitted on the command line with this one.
+.TP
+.I --security-erase PWD
+Erase (locked) drive, using password PWD
+.B (DANGEROUS).
+Password is given as an ASCII string and is padded with NULs to reach 32 bytes.
+Use the special password
+.B NULL
+to represent an empty password.
+The applicable drive password is selected with the \--user-master switch
+(default is "user" password).
+No other options are permitted on the command line with this one.
+.TP
+.I --security-erase-enhanced PWD
+Enhanced erase (locked) drive, using password PWD
+.B (DANGEROUS).
+Password is given as an ASCII string and is padded with NULs to reach 32 bytes.
+The applicable drive password is selected with the \--user-master switch
+(default is "user" password).
+No other options are permitted on the command line with this one.
+.TP
+.I --user-master USER
+Specifies which password (user/master) to select.
+.B Defaults to "user" password.
+Only useful in combination with \--security-unlock, \--security-set-pass,
+\--security-disable, \--security-erase or \--security-erase-enhanced.
+ u user password
+ m master password
+
+.TP
+.I --security-mode MODE
+Specifies which security mode (high/maximum) to set.
+.B Defaults to high.
+Only useful in combination with \--security-set-pass.
+ h high security
+ m maximum security
+
+.B THIS FEATURE IS EXPERIMENTAL AND NOT WELL TESTED. USE AT YOUR OWN RISK.
+.SH FILES
+/etc/hdparm.conf
+.SH BUGS
+As noted above, the
+.B -m sectcount
+and
+.B -u 1
+options should be used with caution at first, preferably on a
+read-only filesystem. Most drives work well with these features, but
+a few drive/controller combinations are not 100% compatible. Filesystem
+corruption may result. Backup everything before experimenting!
+.PP
+Some options (e.g. \-r for SCSI) may not work with old kernels as
+necessary ioctl()\'s were not supported.
+.PP
+Although this utility is intended primarily for use with SATA/IDE hard disk
+devices, several of the options are also valid (and permitted) for use with
+SCSI hard disk devices and MFM/RLL hard disks with XT interfaces.
+.PP
+The Linux kernel up until 2.6.12 (and probably later) doesn\'t handle the
+security unlock and disable commands gracefully and will segfault and in some
+cases even panic. The security commands however might indeed have been executed
+by the drive. This poor kernel behaviour makes the PIO data security commands
+rather useless at the moment.
+.PP
+Note that the "security erase" and "security disable" commands have been
+implemented as two consecutive PIO data commands and will not succeed on a
+locked drive because the second command will not be issued after the segfault.
+See the code for hints how patch it to work around this problem. Despite the
+segfault it is often still possible to run two instances of hdparm
+consecutively and issue the two necessary commands that way.
+.SH AUTHOR
+.B hdparm
+has been written by Mark Lord <mlord@pobox.com>, the original primary
+developer and maintainer of the (E)IDE driver for Linux, and current contributor
+to the libata subsystem, along with suggestions and patches from many netfolk.
+.PP
+The disable Seagate auto-powersaving code
+is courtesy of Tomi Leppikangas(tomilepp@paju.oulu.fi).
+.PP
+Security freeze command by Benjamin Benz, 2005.
+.PP
+PIO data out security commands by Leonard den Ottolander, 2005.
+Some other parts by Benjamin Benz and others.
+.SH SEE ALSO
+.B http://www.t13.org/
+Technical Committee T13 AT Attachment (ATA/ATAPI) Interface.
+.PP
+.B http://www.serialata.org/
+Serial ATA International Organization.
+.PP
+.B http://www.compactflash.org/
+CompactFlash Association.
diff --git a/upstream/fedora-40/man8/iconvconfig.8 b/upstream/fedora-40/man8/iconvconfig.8
new file mode 100644
index 00000000..51c785c3
--- /dev/null
+++ b/upstream/fedora-40/man8/iconvconfig.8
@@ -0,0 +1,92 @@
+.\" Copyright (C) 2014 Marko Myllynen <myllynen@redhat.com>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.TH iconvconfig 8 2023-10-31 "Linux man-pages 6.06"
+.SH NAME
+iconvconfig \- create iconv module configuration cache
+.SH SYNOPSIS
+.B iconvconfig
+.RI [ options ]
+.RI [ directory ]...
+.SH DESCRIPTION
+The
+.BR iconv (3)
+function internally uses
+.I gconv
+modules to convert to and from a character set.
+A configuration file is used to determine the needed modules
+for a conversion.
+Loading and parsing such a configuration file would slow down
+programs that use
+.BR iconv (3),
+so a caching mechanism is employed.
+.P
+The
+.B iconvconfig
+program reads iconv module configuration files and writes
+a fast-loading gconv module configuration cache file.
+.P
+In addition to the system provided gconv modules, the user can specify
+custom gconv module directories with the environment variable
+.BR GCONV_PATH .
+However, iconv module configuration caching is used only when
+the environment variable
+.B GCONV_PATH
+is not set.
+.SH OPTIONS
+.TP
+.B "\-\-nostdlib"
+Do not search the system default gconv directory,
+only the directories provided on the command line.
+.TP
+.BI \-\-output= outputfile
+.TQ
+.BI \-o\~ outputfile
+Use
+.I outputfile
+for output instead of the system default cache location.
+.TP
+.BI \-\-prefix= pathname
+Set the prefix to be prepended to the system pathnames.
+See FILES, below.
+By default, the prefix is empty.
+Setting the prefix to
+.IR foo ,
+the gconv module configuration would be read from
+.I foo/usr/lib/gconv/gconv\-modules
+and the cache would be written to
+.IR foo/usr/lib/gconv/gconv\-modules.cache .
+.TP
+.B \-\-help
+.TQ
+.B \-?
+Print a usage summary and exit.
+.TP
+.B \-\-usage
+Print a short usage summary and exit.
+.TP
+.B \-\-version
+.TQ
+.B \-V
+Print the version number, license, and disclaimer of warranty for
+.BR iconv .
+.SH EXIT STATUS
+Zero on success, nonzero on errors.
+.SH FILES
+.TP
+.I /usr/lib/gconv
+Usual default gconv module path.
+.TP
+.I /usr/lib/gconv/gconv\-modules
+Usual system default gconv module configuration file.
+.TP
+.I /usr/lib/gconv/gconv\-modules.cache
+Usual system gconv module configuration cache.
+.P
+Depending on the architecture,
+the above files may instead be located at directories with the path prefix
+.IR /usr/lib64 .
+.SH SEE ALSO
+.BR iconv (1),
+.BR iconv (3)
diff --git a/upstream/fedora-40/man8/idmapd.8 b/upstream/fedora-40/man8/idmapd.8
new file mode 100644
index 00000000..8215d259
--- /dev/null
+++ b/upstream/fedora-40/man8/idmapd.8
@@ -0,0 +1,134 @@
+.\" $OpenBSD: mdoc.template,v 1.6 2001/02/03 08:22:44 niklas Exp $
+.\"
+.\" The following requests are required for all man pages.
+.Dd February 3, 2003
+.Dt RPC.IDMAPD 8
+.Os
+.Sh NAME
+.Nm rpc.idmapd
+.Nd NFSv4 ID <-> Name Mapper
+.Sh SYNOPSIS
+.\" For a program: program [-abc] file ...
+.Nm rpc.idmapd
+.Op Fl h
+.Op Fl f
+.Op Fl v
+.Op Fl C
+.Op Fl S
+.Op Fl p Ar path
+.Op Fl c Ar path
+.Sh DESCRIPTION
+.Nm
+is the NFSv4 ID <-> name mapping daemon. It provides functionality to
+the NFSv4 kernel client and server, to which it communicates via
+upcalls, by translating user and group IDs to names, and vice versa.
+.Pp
+The system derives the
+.Em user
+part of the string by performing a password or group lookup.
+The lookup mechanism is configured in
+.Pa /etc/idmapd.conf
+.Pp
+By default, the
+.Em domain
+part of the string is the system's DNS domain name.
+It can also be specified in
+.Pa /etc/idmapd.conf
+if the system is multi-homed,
+or if the system's DNS domain name does
+not match the name of the system's Kerberos realm.
+.Pp
+When the domain is not specified in /etc/idmapd.conf
+the local DNS server will be queried for the
+.Sy _nfsv4idmapdomain
+text record. If the record exists
+that will be used as the domain. When the record
+does not exist, the domain part of the DNS domain
+will used.
+.Pp
+Note that on more recent kernels only the NFSv4 server uses
+.Nm .
+The NFSv4 client instead uses
+.Xr nfsidmap 8 ,
+and only falls back to
+.Nm
+if there was a problem running the
+.Xr nfsidmap 8
+program.
+.Pp
+The options are as follows:
+.Bl -tag -width Ds_imagedir
+.It Fl h
+Display usage message.
+.It Fl v
+Increases the verbosity level (can be specified multiple times).
+.It Fl f
+Runs
+.Nm
+in the foreground and prints all output to the terminal.
+.It Fl p Ar path
+Specifies the location of the RPC pipefs to be
+.Ar path .
+The default value is \&"/var/lib/nfs/rpc_pipefs\&".
+.It Fl c Ar path
+Use configuration file
+.Ar path .
+This option is deprecated.
+.It Fl C
+Client-only: perform no idmapping for any NFS server, even if one is detected.
+.It Fl S
+Server-only: perform no idmapping for any NFS client, even if one is detected.
+.El
+.Sh CONFIGURATION FILES
+.Nm
+recognizes the following value from the
+.Sy [general]
+section of the
+.Pa /etc/nfs.conf
+configuration file:
+.Bl -tag -width Ds_imagedir
+.It Sy pipefs-directory
+Equivalent to
+.Sy -p .
+.El
+.Pp
+All other settings related to id mapping are found in the
+.Pa /etc/idmapd.conf
+configuration file.
+.Sh EXAMPLES
+.Cm rpc.idmapd -f -vvv
+.Pp
+Runs
+.Nm
+printing all
+messages to console, and with a verbosity level of 3.
+.\" This next request is for sections 2 and 3 function return values only.
+.\" .Sh RETURN VALUES
+.\" The next request is for sections 2 and 3 error and signal handling only.
+.\" .Sh ERRORS
+.\" This next request is for section 4 only.
+.\" .Sh DIAGNOSTICS
+.\" This next request is for sections 1, 6, 7 & 8 only.
+.\" .Sh ENVIRONMENT
+.Sh FILES
+.Pa /etc/idmapd.conf ,
+.Pa /etc/nfs.conf
+.Sh SEE ALSO
+.Xr idmapd.conf 5 ,
+.Xr nfs.conf 5 ,
+.Xr nfsidmap 8
+.\".Sh SEE ALSO
+.\".Xr nylon.conf 4
+.\" .Sh COMPATIBILITY
+.\".Sh STANDARDS
+.\".Sh ACKNOWLEDGEMENTS
+.Sh AUTHORS
+The
+.Nm
+software has been developed by Marius Aamodt Eriksen
+.Aq marius@citi.umich.edu .
+.\" .Sh HISTORY
+.\".Sh BUGS
+.\"Please report any bugs to Marius Aamodt Eriksen
+.\".Aq marius@monkey.org .
+.\" .Sh CAVEATS
diff --git a/upstream/fedora-40/man8/ifconfig.8 b/upstream/fedora-40/man8/ifconfig.8
new file mode 100644
index 00000000..b7865777
--- /dev/null
+++ b/upstream/fedora-40/man8/ifconfig.8
@@ -0,0 +1,251 @@
+.TH IFCONFIG 8 "2008\-10\-03" "net\-tools" "Linux System Administrator's Manual"
+.SH NAME
+ifconfig \- configure a network interface
+.SH SYNOPSIS
+.B "ifconfig [-v] [-a] [-s] [interface]"
+.br
+.B "ifconfig [-v] interface [aftype] options | address ..."
+
+.SH NOTE
+.P
+This program is obsolete!
+For replacement check \fBip addr\fR and \fBip link\fR.
+For statistics use \fBip -s link\fR.
+
+.SH DESCRIPTION
+.B Ifconfig
+is used to configure the kernel-resident network interfaces. It is
+used at boot time to set up interfaces as necessary. After that, it
+is usually only needed when debugging or when system tuning is needed.
+.LP
+If no arguments are given,
+.B ifconfig
+displays the status of the currently active interfaces. If
+a single
+.B interface
+argument is given, it displays the status of the given interface
+only; if a single
+.B \-a
+argument is given, it displays the status of all interfaces, even
+those that are down. Otherwise, it configures an interface.
+
+.SH Address Families
+If the first argument after the interface name is recognized as
+the name of a supported address family, that address family is
+used for decoding and displaying all protocol addresses. Currently
+supported address families include
+.B inet
+(TCP/IP, default),
+.B inet6
+(IPv6),
+.B ax25
+(AMPR Packet Radio),
+.B ddp
+(Appletalk Phase 2),
+.B ipx
+(Novell IPX) and
+.B netrom
+(AMPR Packet radio).
+All numbers supplied as parts in IPv4 dotted decimal notation may be decimal,
+octal, or hexadecimal, as specified in the ISO C standard (that is, a leading 0x
+or 0X implies hexadecimal; otherwise, a leading '0' implies octal; otherwise,
+the number is interpreted as decimal). Use of hexadecimal and octal numbers
+is not RFC-compliant and therefore its use is discouraged.
+.SH OPTIONS
+.TP
+.B -a
+display all interfaces which are currently available, even if down
+.TP
+.B -s
+display a short list (like netstat -i)
+.TP
+.B -v
+be more verbose for some error conditions
+.TP
+.B interface
+The name of the interface. This is usually a driver name followed by
+a unit number, for example
+.B eth0
+for the first Ethernet interface. If your kernel supports alias interfaces,
+you can specify them with syntax like
+.B eth0:0
+for the first alias of eth0. You can use them to assign more addresses. To
+delete an alias interface use
+.BR "ifconfig eth0:0 down" .
+Note: for every scope (i.e. same net with address/netmask combination) all
+aliases are deleted, if you delete the first (primary).
+.TP
+.B up
+This flag causes the interface to be activated. It is implicitly
+specified if an address is assigned to the interface; you can suppress this
+behavior when using an alias interface by appending an
+.BR "-"
+to the alias (e.g.
+.BR "eth0:0-" ).
+It is also suppressed when using the IPv4 0.0.0.0 address as the kernel will
+use this to implicitly delete alias interfaces.
+.TP
+.B down
+This flag causes the driver for this interface to be shut down.
+.TP
+.B "[\-]arp"
+Enable or disable the use of the ARP protocol on this interface.
+.TP
+.B "[\-]promisc"
+Enable or disable the
+.B promiscuous
+mode of the interface. If selected, all packets on the network will
+be received by the interface.
+.TP
+.B "[\-]allmulti"
+Enable or disable
+.B all-multicast
+mode. If selected, all multicast packets on the network will be
+received by the interface.
+.TP
+.B "mtu N"
+This parameter sets the Maximum Transfer Unit (MTU) of an interface.
+.TP
+.B "dstaddr addr"
+Set the remote IP address for a point-to-point link (such as
+PPP). This keyword is now obsolete; use the
+.B pointopoint
+keyword instead.
+.TP
+.B "netmask addr"
+Set the IP network mask for this interface. This value defaults to the
+usual class A, B or C network mask (as derived from the interface IP
+address), but it can be set to any value.
+.TP
+.B "add addr/prefixlen"
+Add an IPv6 address to an interface.
+.TP
+.B "del addr/prefixlen"
+Remove an IPv6 address from an interface.
+.TP
+.B "tunnel ::aa.bb.cc.dd"
+Create a new SIT (IPv6-in-IPv4) device, tunnelling to the given destination.
+.TP
+.B "irq addr"
+Set the interrupt line used by this device. Not all devices can
+dynamically change their IRQ setting.
+.TP
+.B "io_addr addr"
+Set the start address in I/O space for this device.
+.TP
+.B "mem_start addr"
+Set the start address for shared memory used by this device. Only a
+few devices need this.
+.TP
+.B "media type"
+Set the physical port or medium type to be used by the device. Not
+all devices can change this setting, and those that can vary in what
+values they support. Typical values for
+.B type
+are
+.B 10base2
+(thin Ethernet),
+.B 10baseT
+(twisted-pair 10Mbps Ethernet),
+.B AUI
+(external transceiver) and so on. The special medium type of
+.B auto
+can be used to tell the driver to auto-sense the media. Again, not
+all drivers can do this.
+.TP
+.B "[\-]broadcast [addr]"
+If the address argument is given, set the protocol broadcast
+address for this interface. Otherwise, set (or clear) the
+.B IFF_BROADCAST
+flag for the interface.
+.TP
+.B "[\-]pointopoint [addr]"
+This keyword enables the
+.B point-to-point
+mode of an interface, meaning that it is a direct link between two
+machines with nobody else listening on it.
+.br
+If the address argument is also given, set the protocol address of
+the other side of the link, just like the obsolete
+.B dstaddr
+keyword does. Otherwise, set or clear the
+.B IFF_POINTOPOINT
+flag for the interface.
+.TP
+.B hw class address
+Set the hardware address of this interface, if the device driver
+supports this operation. The keyword must be followed by the
+name of the hardware class and the printable ASCII equivalent of
+the hardware address. Hardware classes currently supported include
+.B ether
+(Ethernet),
+.B ax25
+(AMPR AX.25),
+.B ARCnet
+and
+.B netrom
+(AMPR NET/ROM).
+.TP
+.B multicast
+Set the multicast flag on the interface. This should not normally be needed
+as the drivers set the flag correctly themselves.
+.TP
+.B address
+The IP address to be assigned to this interface.
+.TP
+.B txqueuelen length
+Set the length of the transmit queue of the device. It is useful to set this
+to small values for slower devices with a high latency (modem links, ISDN)
+to prevent fast bulk transfers from disturbing interactive traffic like
+telnet too much.
+.SH NOTES
+Since kernel release 2.2 there are no explicit interface statistics for
+alias interfaces anymore. The statistics printed for the original address
+are shared with all alias addresses on the same device. If you want per-address
+statistics you should add explicit accounting
+rules for the address using the
+.BR iptables (8)
+command.
+.LP
+Since net\-tools 1.60\-4 ifconfig is printing byte counters and human readable
+counters with IEC 60027-2 units. So 1 KiB are 2^10 byte. Note, the numbers
+are truncated to one decimal (which can by quite a large error if you
+consider 0.1 PiB is 112.589.990.684.262 bytes :)
+.LP
+Interrupt problems with Ethernet device drivers fail with EAGAIN
+.I (SIOCSIIFLAGS: Resource temporarily unavailable)
+it is most likely a interrupt conflict. See
+.I http://www.scyld.com/expert/irq\-conflict.html
+for more information.
+.SH FILES
+.I /proc/net/dev
+.br
+.I /proc/net/if_inet6
+.SH BUGS
+Ifconfig uses the ioctl access method to get the full address information,
+which limits hardware addresses to 8 bytes.
+Because Infiniband hardware address has 20 bytes,
+only the first 8 bytes are displayed correctly.
+Please use
+.B ip link
+command from
+.B iproute2
+package to display link layer informations including the hardware address.
+.LP
+While appletalk DDP and IPX addresses will be displayed they cannot be
+altered by this command.
+.SH SEE ALSO
+.BR ip(8),
+.BR iptables(8)
+.br
+http://physics.nist.gov/cuu/Units/binary.html - Prefixes for binary multiples
+.SH AUTHORS
+Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
+.br
+Alan Cox, <Alan.Cox@linux.org>
+.br
+Phil Blundell, <Philip.Blundell@pobox.com>
+.br
+Andi Kleen
+.br
+Bernd Eckenfels, <net\-tools@lina.inka.de>
diff --git a/upstream/fedora-40/man8/ifenslave.8 b/upstream/fedora-40/man8/ifenslave.8
new file mode 100644
index 00000000..89998923
--- /dev/null
+++ b/upstream/fedora-40/man8/ifenslave.8
@@ -0,0 +1,68 @@
+.Dd 2004-04-09
+.Dt IFENSLAVE 8
+.\" Manual page created by Guus Sliepen <guus@debian.org>
+.Sh NAME
+.Nm ifenslave
+.Nd Attach and detach slave network devices to a bonding device.
+.Sh SYNOPSIS
+.Nm
+.Op Fl acdfhuvV
+.Op Fl -all-interfaces
+.Op Fl -change-active
+.Op Fl -detach
+.Op Fl -force
+.Op Fl -help
+.Op Fl -usage
+.Op Fl -verbose
+.Op Fl -version
+.Ar master
+.Ar slave
+.No ...
+.Sh DESCRIPTION
+.Nm
+is a tool to attach and detach slave network devices to a bonding device.
+A bonding device will act like a normal Ethernet network device to the kernel,
+but will send out the packets via the slave devices using a simple round-robin scheduler.
+This allows for simple load-balancing,
+identical to "channel bonding" or "trunking" techniques used in switches.
+.Pp
+The kernel must have support for bonding devices for
+.Nm
+to be useful.
+.Sh OPTIONS
+.Bl -tag -width indent
+.It Fl a, -all-interfaces
+Show information about all interfaces.
+.It Fl c, -change-active
+Change active slave.
+.It Fl d, -detach
+Removes slave interfaces from the bonding device.
+.It Fl f, -force
+Force actions to be taken if one of the specified interfaces appears not to belong to an Ethernet device.
+.It Fl h, -help
+Display a help message and exit.
+.It Fl u, -usage
+Show usage information and exit.
+.It Fl v, -verbose
+Print warning and debug messages.
+.It Fl V, -version
+Show version information and exit.
+.El
+If not options are given, the default action will be to enslave interfaces.
+.Sh EXAMPLE
+The following example shows how to setup a bonding device and
+enslave two real Ethernet devices to it:
+.Bd -literal
+# modprobe bonding
+# ifconfig bond0 192.168.0.1 netmask 255.255.0.0
+# ifenslave bond0 eth0 eth1
+.Ed
+.Sh AUTHOR
+.Nm
+was originally written by
+.An Donald Becker Aq becker@cesdis.gsfc.nasa.gov ,
+and has since been updated by various kernel developers.
+.Pp
+This manual page was written by
+.An Guus Sliepen Aq guus@debian.org
+for the Debian GNU/Linux system.
diff --git a/upstream/fedora-40/man8/ifstat.8 b/upstream/fedora-40/man8/ifstat.8
new file mode 100644
index 00000000..8cd164dd
--- /dev/null
+++ b/upstream/fedora-40/man8/ifstat.8
@@ -0,0 +1,77 @@
+.TH IFSTAT 8 "28 Oct 2015" "iproute2" "Linux"
+.SH NAME
+ifstat \- handy utility to read network interface statistics
+.SH SYNOPSIS
+.in +8
+.ti -8
+.BR ifstat " [ "
+.IR OPTIONS " ] [ " INTERFACE_LIST " ]"
+
+.ti -8
+.IR INTERFACE_LIST " := " INTERFACE_LIST " | " interface
+.SH DESCRIPTION
+\fBifstat\fP neatly prints out network interface statistics.
+The utility keeps records of the previous data displayed in history files and
+by default only shows difference between the last and the current call.
+Location of the history files defaults to /tmp/.ifstat.u$UID but may be
+overridden with the IFSTAT_HISTORY environment variable. Similarly, the default
+location for xstat (extended stats) is /tmp/.<xstat name>_ifstat.u$UID.
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-V, \-\-version
+Show version of program.
+.TP
+.B \-a, \-\-ignore
+Ignore the history file.
+.TP
+.B \-d, \-\-scan=SECS
+Sample statistics every SECS second.
+.TP
+.B \-e, \-\-errors
+Show errors.
+.TP
+.B \-n, \-\-nooutput
+Don't display any output. Update the history file only.
+.TP
+.B \-r, \-\-reset
+Reset history.
+.TP
+.B \-s, \-\-noupdate
+Don't update the history file.
+.TP
+.B \-t, \-\-interval=SECS
+Report average over the last SECS seconds.
+.TP
+.B \-z, \-\-zeros
+Show entries with zero activity.
+.TP
+.B \-j, \-\-json
+Display results in JSON format
+.TP
+.B \-p, \-\-pretty
+If combined with
+.BR \-\-json ,
+pretty print the output.
+.TP
+.B \-x, \-\-extended=TYPE
+Show extended stats of TYPE. Supported types are:
+
+.in +8
+.B cpu_hits
+- Counts only packets that went via the CPU.
+.in -8
+
+.SH ENVIRONMENT
+.TP
+.B IFSTAT_HISTORY
+If set, it's value is interpreted as alternate history file path.
+.SH SEE ALSO
+.BR ip (8)
+.br
+.SH AUTHOR
+ifstat was written by Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>.
+.PP
+This manual page was written by Petr Sabata <contyk@redhat.com>.
diff --git a/upstream/fedora-40/man8/in.ntalkd.8 b/upstream/fedora-40/man8/in.ntalkd.8
new file mode 100644
index 00000000..ebe8b517
--- /dev/null
+++ b/upstream/fedora-40/man8/in.ntalkd.8
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1983, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)talkd.8 6.5 (Berkeley) 3/16/91
+.\" $Id: talkd.8,v 1.14 2000/07/30 23:57:02 dholland Exp $
+.\"
+.Dd March 16, 1991
+.Dt TALKD 8
+.Os "Linux NetKit (0.17)"
+.Sh NAME
+.Nm talkd
+.Nd remote user communication server
+.Sh SYNOPSIS
+.Nm talkd
+.Op Fl dp
+.Sh DESCRIPTION
+.Nm Talkd
+is the server that notifies a user that someone else wants to
+initiate a conversation.
+It acts a repository of invitations, responding to requests
+by clients wishing to rendezvous to hold a conversation.
+In normal operation, a client, the caller,
+initiates a rendezvous by sending a
+.Tn CTL_MSG
+to the server of
+type
+.Tn LOOK_UP
+(see
+.Aq Pa protocols/talkd.h ) .
+This causes the server to search its invitation
+tables to check if an invitation currently exists for the caller
+(to speak to the callee specified in the message).
+If the lookup fails,
+the caller then sends an
+.Tn ANNOUNCE
+message causing the server to
+broadcast an announcement on the callee's login ports requesting contact.
+When the callee responds, the local server uses the
+recorded invitation to respond with the appropriate rendezvous
+address and the caller and callee client programs establish a
+stream connection through which the conversation takes place.
+.Sh OPTIONS
+.Op Fl d
+Debug mode; writes copious logging and debugging information to
+.Pa /var/log/talkd.log .
+.Pp
+.Op Fl p
+Packet logging mode; writes copies of malformed packets to
+.Pa /var/log/talkd.packets .
+This is useful for debugging interoperability problems.
+.Sh SEE ALSO
+.Xr talk 1 ,
+.Xr write 1
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.Bx 4.3 .
diff --git a/upstream/fedora-40/man8/insmod.8 b/upstream/fedora-40/man8/insmod.8
new file mode 100644
index 00000000..0af511cc
--- /dev/null
+++ b/upstream/fedora-40/man8/insmod.8
@@ -0,0 +1,65 @@
+'\" t
+.\" Title: insmod
+.\" Author: Jon Masters <jcm@jonmasters.org>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: insmod
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "INSMOD" "8" "02/09/2023" "kmod" "insmod"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+insmod \- Simple program to insert a module into the Linux Kernel
+.SH "SYNOPSIS"
+.HP \w'\fBinsmod\fR\ 'u
+\fBinsmod\fR [\fIfilename\fR] [\fImodule\ options\fR...]
+.SH "DESCRIPTION"
+.PP
+\fBinsmod\fR
+is a trivial program to insert a module into the kernel\&. Most users will want to use
+\fBmodprobe\fR(8)
+instead, which is more clever and can handle module dependencies\&.
+.PP
+Only the most general of error messages are reported: as the work of trying to link the module is now done inside the kernel, the
+\fBdmesg\fR
+usually gives more information about errors\&.
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2002, Rusty Russell, IBM Corporation\&. Maintained by Jon Masters and others\&.
+.SH "SEE ALSO"
+.PP
+\fBmodprobe\fR(8),
+\fBrmmod\fR(8),
+\fBlsmod\fR(8),
+\fBmodinfo\fR(8)
+\fBdepmod\fR(8)
+.SH "AUTHORS"
+.PP
+\fBJon Masters\fR <\&jcm@jonmasters\&.org\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/intro.8 b/upstream/fedora-40/man8/intro.8
new file mode 100644
index 00000000..a023443b
--- /dev/null
+++ b/upstream/fedora-40/man8/intro.8
@@ -0,0 +1,29 @@
+.\" Copyright (c) 1993 Michael Haardt (michael@moria.de),
+.\" Fri Apr 2 11:32:09 MET DST 1993
+.\" and Copyright (C) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.\" Modified Sat Jul 24 17:35:48 1993 by Rik Faith (faith@cs.unc.edu)
+.\" 2007-10-23 mtk: minor rewrites, and added paragraph on exit status
+.\"
+.TH intro 8 2023-10-31 "Linux man-pages 6.06"
+.SH NAME
+intro \- introduction to administration and privileged commands
+.SH DESCRIPTION
+Section 8 of the manual describes commands
+which either can be or are used only by the superuser,
+like system-administration commands, daemons,
+and hardware-related commands.
+.P
+As with the commands described in Section 1, the commands described
+in this section terminate with an exit status that indicates
+whether the command succeeded or failed.
+See
+.BR intro (1)
+for more information.
+.SH NOTES
+.SS Authors and copyright conditions
+Look at the header of the manual page source for the author(s) and copyright
+conditions.
+Note that these can be different from page to page!
diff --git a/upstream/fedora-40/man8/ip-address.8 b/upstream/fedora-40/man8/ip-address.8
new file mode 100644
index 00000000..8e0de0e9
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-address.8
@@ -0,0 +1,513 @@
+.TH "IP\-ADDRESS" 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-address \- protocol address management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B address
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BR "ip address" " { " add " | " change " | " replace " } "
+.IB IFADDR " dev " IFNAME
+.RI "[ " LIFETIME " ] [ " CONFFLAG-LIST " ]"
+
+.ti -8
+.BR "ip address del"
+.IB IFADDR " dev " IFNAME " [ " mngtmpaddr " ]"
+
+.ti -8
+.BR "ip address" " { " save " | " flush " } [ " dev
+.IR IFNAME " ] [ "
+.B scope
+.IR SCOPE-ID " ] [ "
+.B metric
+.IR METRIC " ] [ "
+.B to
+.IR PREFIX " ] [ " FLAG-LIST " ] [ "
+.B label
+.IR PATTERN " ] [ " up " ]"
+
+.ti -8
+.BR "ip address" " [ " show " [ " dev
+.IR IFNAME " ] [ "
+.B scope
+.IR SCOPE-ID " ] [ "
+.B to
+.IR PREFIX " ] [ " FLAG-LIST " ] [ "
+.B label
+.IR PATTERN " ] [ "
+.B master
+.IR DEVICE " ] [ "
+.B type
+.IR TYPE " ] [ "
+.B vrf
+.IR NAME " ] [ "
+.BR up " ] ["
+.BR nomaster " ]"
+.B proto
+.IR ADDRPROTO " ] ]"
+
+.ti -8
+.BR "ip address" " { " showdump " | " restore " }"
+
+.ti -8
+.IR IFADDR " := " PREFIX " | " ADDR
+.B peer
+.IR PREFIX " [ "
+.B broadcast
+.IR ADDR " ] [ "
+.B anycast
+.IR ADDR " ] [ "
+.B label
+.IR LABEL " ] [ "
+.B scope
+.IR SCOPE-ID " ] [ "
+.B proto
+.IR ADDRPROTO " ]"
+
+.ti -8
+.IR SCOPE-ID " := "
+.RB "[ " host " | " link " | " global " | "
+.IR NUMBER " ]"
+
+.ti -8
+.IR ADDRPROTO " := [ "
+.IR NAME " | " NUMBER " ]"
+
+.ti -8
+.IR FLAG-LIST " := [ " FLAG-LIST " ] " FLAG
+
+.ti -8
+.IR FLAG " := ["
+.RB [ - ] permanent " |"
+.RB [ - ] dynamic " |"
+.RB [ - ] secondary " |"
+.RB [ - ] primary " |"
+.RB [ - ] tentative " |"
+.RB [ - ] deprecated " |"
+.RB [ - ] dadfailed " |"
+.RB [ - ] temporary " |"
+.IR CONFFLAG-LIST " ]"
+
+.ti -8
+.IR CONFFLAG-LIST " := [ " CONFFLAG-LIST " ] " CONFFLAG
+
+.ti -8
+.IR CONFFLAG " := "
+.RB "[ " home " | " mngtmpaddr " | " nodad " | " optimistic " | " noprefixroute " | " autojoin " ]"
+
+.ti -8
+.IR LIFETIME " := [ "
+.BI valid_lft " LFT"
+.RB "] [ " preferred_lft
+.IR LFT " ]"
+
+.ti -8
+.IR LFT " := [ "
+.BR forever " |"
+.IR SECONDS " ]"
+
+.ti -8
+.IR TYPE " := [ "
+.BR bridge " | "
+.BR bridge_slave " |"
+.BR bond " | "
+.BR bond_slave " |"
+.BR can " | "
+.BR dummy " | "
+.BR hsr " | "
+.BR ifb " | "
+.BR ipoib " |"
+.BR macvlan " | "
+.BR macvtap " | "
+.BR vcan " | "
+.BR veth " | "
+.BR vlan " | "
+.BR vxlan " |"
+.BR ip6tnl " |"
+.BR ipip " |"
+.BR sit " |"
+.BR gre " |"
+.BR gretap " |"
+.BR erspan " |"
+.BR ip6gre " |"
+.BR ip6gretap " |"
+.BR ip6erspan " |"
+.BR vti " |"
+.BR vrf " |"
+.BR nlmon " |"
+.BR ipvlan " |"
+.BR lowpan " |"
+.BR geneve " |"
+.BR macsec " ]"
+
+.SH "DESCRIPTION"
+The
+.B address
+is a protocol (IPv4 or IPv6) address attached
+to a network device. Each device must have at least one address
+to use the corresponding protocol. It is possible to have several
+different addresses attached to one device. These addresses are not
+discriminated, so that the term
+.B alias
+is not quite appropriate for them and we do not use it in this document.
+.sp
+The
+.B ip address
+command displays addresses and their properties, adds new addresses
+and deletes old ones.
+
+.SS ip address add - add new protocol address.
+
+.TP
+.BI dev " IFNAME "
+the name of the device to add the address to.
+
+.TP
+.BI local " ADDRESS " (default)
+the address of the interface. The format of the address depends
+on the protocol. It is a dotted quad for IP and a sequence of
+hexadecimal halfwords separated by colons for IPv6. The
+.I ADDRESS
+may be followed by a slash and a decimal number which encodes
+the network prefix length.
+
+.TP
+.BI peer " ADDRESS"
+the address of the remote endpoint for pointopoint interfaces.
+Again, the
+.I ADDRESS
+may be followed by a slash and a decimal number, encoding the network
+prefix length. If a peer address is specified, the local address
+cannot have a prefix length. The network prefix is associated
+with the peer rather than with the local address.
+
+.TP
+.BI broadcast " ADDRESS"
+the broadcast address on the interface.
+.sp
+It is possible to use the special symbols
+.B '+'
+and
+.B '-'
+instead of the broadcast address. In this case, the broadcast address
+is derived by setting/resetting the host bits of the interface prefix.
+
+.TP
+.BI label " LABEL"
+Each address may be tagged with a label string.
+The maximum allowed total length of label is 15 characters.
+
+.TP
+.BI scope " SCOPE_VALUE"
+the scope of the area where this address is valid.
+The available scopes are listed in
+.BR /usr/share/iproute2/rt_scopes " or " /etc/iproute2/rt_scopes
+(has precedence if exists).
+Predefined scope values are:
+
+.in +8
+.B global
+- the address is globally valid.
+.sp
+.B site
+- (IPv6 only, deprecated) the address is site local, i.e. it is
+valid inside this site.
+.sp
+.B link
+- the address is link local, i.e. it is valid only on this device.
+.sp
+.B host
+- the address is valid only inside this host.
+.in -8
+
+.TP
+.BI metric " NUMBER"
+priority of prefix route associated with address.
+
+.TP
+.BI valid_lft " LFT"
+the valid lifetime of this address; see section 5.5.4 of
+RFC 4862. When it expires, the address is removed by the kernel.
+Defaults to
+.BR "forever" .
+
+.TP
+.BI preferred_lft " LFT"
+the preferred lifetime of this address; see section 5.5.4
+of RFC 4862. When it expires, the address is no longer used for new
+outgoing connections. Defaults to
+.BR "forever" .
+
+.TP
+.B home
+(IPv6 only) designates this address the "home address" as defined in
+RFC 6275.
+
+.TP
+.B mngtmpaddr
+(IPv6 only) make the kernel manage temporary addresses created from this one as
+template on behalf of Privacy Extensions (RFC3041). For this to become active,
+the \fBuse_tempaddr\fP sysctl setting has to be set to a value greater than
+zero. The given address needs to have a prefix length of 64. This flag allows
+to use privacy extensions in a manually configured network, just like if
+stateless auto-configuration was active.
+
+.TP
+.B nodad
+(IPv6 only) do not perform Duplicate Address Detection (RFC 4862) when
+adding this address.
+
+.TP
+.B optimistic
+(IPv6 only) When performing Duplicate Address Detection, use the RFC 4429
+optimistic variant.
+
+.TP
+.B noprefixroute
+Do not automatically create a route for the network prefix of the added
+address, and don't search for one to delete when removing the address. Changing
+an address to add this flag will remove the automatically added prefix route,
+changing it to remove this flag will create the prefix route automatically.
+
+.TP
+.B autojoin
+Joining multicast groups on Ethernet level via
+.B "ip maddr"
+command does not work if connected to an Ethernet switch that does IGMP
+snooping since the switch would not replicate multicast packets on ports that
+did not have IGMP reports for the multicast addresses.
+
+Linux VXLAN interfaces created via
+.B "ip link add vxlan"
+have the
+.B group
+option that enables them to do the required join.
+
+Using the
+.B autojoin
+flag when adding a multicast address enables similar functionality for
+Openvswitch VXLAN interfaces as well as other tunneling mechanisms that need to
+receive multicast traffic.
+
+.TP
+.BI proto " ADDRPROTO"
+the protocol identifier of this route.
+.I ADDRPROTO
+may be a number or a string from the file
+.BR "/etc/iproute2/rt_addrprotos" .
+If the protocol ID is not given,
+
+.B ip assumes protocol 0. Several protocol
+values have a fixed interpretation. Namely:
+
+.in +8
+.B kernel_lo
+- The ::1 address that kernel installs on a loopback netdevice has this
+ protocol value
+.sp
+
+.B kernel_ra
+- IPv6 addresses installed in response to router advertisement messages
+.sp
+
+.B kernel_ll
+- Link-local addresses have this protocol value
+.sp
+.in -8
+
+.sp
+The rest of the values are not reserved and the administrator is free
+to assign (or not to assign) protocol tags.
+
+.SS ip address delete - delete protocol address
+.B Arguments:
+coincide with the arguments of
+.B ip addr add.
+The device name is a required argument. The rest are optional.
+If no arguments are given, the first address is deleted.
+
+.SS ip address show - look at protocol addresses
+
+.TP
+.BI dev " IFNAME " (default)
+name of device.
+
+.TP
+.BI scope " SCOPE_VAL"
+only list addresses with this scope.
+
+.TP
+.BI to " PREFIX"
+only list addresses matching this prefix.
+
+.TP
+.BI label " PATTERN"
+only list addresses with labels matching the
+.IR "PATTERN" .
+.I PATTERN
+is a usual shell style pattern.
+
+.TP
+.BI master " DEVICE"
+only list interfaces enslaved to this master device.
+
+.TP
+.BI vrf " NAME "
+only list interfaces enslaved to this vrf.
+
+.TP
+.BI type " TYPE"
+only list interfaces of the given type.
+
+Note that the type name is not checked against the list of supported types -
+instead it is sent as-is to the kernel. Later it is used to filter the returned
+interface list by comparing it with the relevant attribute in case the kernel
+didn't filter already. Therefore any string is accepted, but may lead to empty
+output.
+
+.TP
+.B up
+only list running interfaces.
+
+.TP
+.B nomaster
+only list interfaces with no master.
+
+.TP
+.BR dynamic " and " permanent
+(IPv6 only) only list addresses installed due to stateless
+address configuration or only list permanent (not dynamic)
+addresses. These two flags are inverses of each other, so
+.BR -dynamic " is equal to " permanent " and "
+.BR -permanent " is equal to " dynamic .
+
+.TP
+.B tentative
+(IPv6 only) only list addresses which have not yet passed duplicate
+address detection.
+
+.TP
+.B -tentative
+(IPv6 only) only list addresses which are not in the process of
+duplicate address detection currently.
+
+.TP
+.B deprecated
+(IPv6 only) only list deprecated addresses.
+
+.TP
+.B -deprecated
+(IPv6 only) only list addresses not being deprecated.
+
+.TP
+.B dadfailed
+(IPv6 only) only list addresses which have failed duplicate
+address detection.
+
+.TP
+.B -dadfailed
+(IPv6 only) only list addresses which have not failed duplicate
+address detection.
+
+.TP
+.BR temporary " or " secondary
+List temporary IPv6 or secondary IPv4 addresses only. The Linux kernel shares a
+single bit for those, so they are actually aliases for each other although the
+meaning differs depending on address family.
+
+.TP
+.BR -temporary " or " -secondary
+These flags are aliases for
+.BR primary .
+
+.TP
+.B primary
+List only primary addresses, in IPv6 exclude temporary ones. This flag is the
+inverse of
+.BR temporary " and " secondary .
+
+.TP
+.B -primary
+This is an alias for
+.BR temporary " or " secondary .
+
+.TP
+.BI proto " ADDRPROTO"
+Only show addresses with a given protocol, or those for which the kernel
+response did not include protocol. See the corresponding argument to
+.B ip addr add
+for details about address protocols.
+
+.SS ip address flush - flush protocol addresses
+This command flushes the protocol addresses selected by some criteria.
+
+.PP
+This command has the same arguments as
+.BR show " except that " type " and " master " selectors are not supported."
+Another difference is that it does not run when no arguments are given.
+
+.PP
+.B Warning:
+This command and other
+.B flush
+commands are unforgiving. They will cruelly purge all the addresses.
+
+.PP
+With the
+.B -statistics
+option, the command becomes verbose. It prints out the number of deleted
+addresses and the number of rounds made to flush the address list.
+If this option is given twice,
+.B ip address flush
+also dumps all the deleted addresses in the format described in the
+previous subsection.
+
+.SH "EXAMPLES"
+.PP
+ip address show
+.RS 4
+Shows IPv4 and IPv6 addresses assigned to all network interfaces. The 'show'
+subcommand can be omitted.
+.RE
+.PP
+ip address show up
+.RS 4
+Same as above except that only addresses assigned to active network interfaces
+are shown.
+.RE
+.PP
+ip address show dev eth0
+.RS 4
+Shows IPv4 and IPv6 addresses assigned to network interface eth0.
+.RE
+.PP
+ip address add 2001:0db8:85a3::0370:7334/64 dev eth1
+.RS 4
+Adds an IPv6 address to network interface eth1.
+.RE
+.PP
+ip address delete 2001:0db8:85a3::0370:7334/64 dev eth1
+.RS 4
+Delete the IPv6 address added above.
+.RE
+.PP
+ip address flush dev eth4 scope global
+.RS 4
+Removes all global IPv4 and IPv6 addresses from device eth4. Without 'scope
+global' it would remove all addresses including IPv6 link-local ones.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-addrlabel.8 b/upstream/fedora-40/man8/ip-addrlabel.8
new file mode 100644
index 00000000..233d6067
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-addrlabel.8
@@ -0,0 +1,56 @@
+.TH IP\-ADDRLABEL 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-addrlabel \- protocol address label management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip addrlabel
+.RI " { " COMMAND " | "
+.BR help " }"
+
+.ti -8
+.BR "ip addrlabel" " { " add " | " del " } " prefix
+.BR PREFIX " [ "
+.B dev
+.IR DEV " ] [ "
+.B label
+.IR NUMBER " ]"
+
+.ti -8
+.BR "ip addrlabel" " { " list " | " flush " }"
+
+.SH "DESCRIPTION"
+IPv6 address labels are used for address selection;
+they are described in RFC 3484. Precedence is managed by userspace,
+and only the label itself is stored in the kernel.
+
+.SS ip addrlabel add - add an address label
+add an address label entry to the kernel.
+.TP
+.BI prefix " PREFIX"
+.TP
+.BI dev " DEV"
+the outgoing interface.
+.TP
+.BI label " NUMBER"
+the label for the prefix.
+0xffffffff is reserved.
+.SS ip addrlabel del - delete an address label
+delete an address label entry from the kernel.
+.B Arguments:
+coincide with the arguments of
+.B ip addrlabel add
+but the label is not required.
+.SS ip addrlabel list - list address labels
+list the current address label entries in the kernel.
+.SS ip addrlabel flush - flush address labels
+flush all address labels in the kernel. This does not restore any default settings.
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Manpage by Yoshifuji Hideaki / 吉藤英明
diff --git a/upstream/fedora-40/man8/ip-fou.8 b/upstream/fedora-40/man8/ip-fou.8
new file mode 100644
index 00000000..f4e08f16
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-fou.8
@@ -0,0 +1,126 @@
+.TH IP\-FOU 8 "2 Nov 2014" "iproute2" "Linux"
+.SH "NAME"
+ip-fou \- Foo-over-UDP receive port configuration
+.P
+ip-gue \- Generic UDP Encapsulation receive port configuration
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B fou
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+.BR "ip fou add"
+.B port
+.IR PORT
+.RB "{ "
+.B gue
+.RI "|"
+.B ipproto
+.IR PROTO
+.RB " }"
+.RB "[ "
+.B local
+.IR IFADDR
+.RB " ]"
+.RB "[ "
+.B peer
+.IR IFADDR
+.RB " ]"
+.RB "[ "
+.B peer_port
+.IR PORT
+.RB " ]"
+.RB "[ "
+.B dev
+.IR IFNAME
+.RB " ]"
+.br
+.ti -8
+.BR "ip fou del"
+.B port
+.IR PORT
+.RB "[ "
+.B local
+.IR IFADDR
+.RB " ]"
+.RB "[ "
+.B peer
+.IR IFADDR
+.RB " ]"
+.RB "[ "
+.B peer_port
+.IR PORT
+.RB " ]"
+.RB "[ "
+.B dev
+.IR IFNAME
+.RB " ]"
+.br
+.ti -8
+.B ip fou show
+.SH DESCRIPTION
+The
+.B ip fou
+commands are used to create and delete receive ports for Foo-over-UDP
+(FOU) as well as Generic UDP Encapsulation (GUE).
+.PP
+Foo-over-UDP allows encapsulating packets of an IP protocol directly
+over UDP. The receiver infers the protocol of a packet received on
+a FOU UDP port to be the protocol configured for the port.
+.PP
+Generic UDP Encapsulation (GUE) encapsulates packets of an IP protocol
+within UDP and an encapsulation header. The encapsulation header contains the
+IP protocol number for the encapsulated packet.
+.PP
+When creating a FOU or GUE receive port, the port number is specified in
+.I PORT
+argument. If FOU is used, the IP protocol number associated with the port is specified in
+.I PROTO
+argument. You can bind a port to a local address/interface, by specifying the
+address in the local
+.I IFADDR
+argument or the device in the
+.I IFNAME
+argument. If you would like to connect the port, you can specify the peer
+address in the peer
+.I IFADDR
+argument and peer port in the peer_port
+.I PORT
+argument.
+.PP
+A FOU or GUE receive port is deleted by specifying
+.I PORT
+in the delete command, as well as local address/interface or peer address/port
+(if set).
+.SH EXAMPLES
+.PP
+.SS Configure a FOU receive port for GRE bound to 7777
+.nf
+# ip fou add port 7777 ipproto 47
+.PP
+.SS Configure a FOU receive port for IPIP bound to 8888
+.nf
+# ip fou add port 8888 ipproto 4
+.PP
+.SS Configure a GUE receive port bound to 9999
+.nf
+# ip fou add port 9999 gue
+.PP
+.SS Delete the GUE receive port bound to 9999
+.nf
+# ip fou del port 9999
+.SS Configure a FOU receive port for GRE bound to 1.2.3.4:7777
+.nf
+# ip fou add port 7777 ipproto 47 local 1.2.3.4
+.PP
+.SH SEE ALSO
+.br
+.BR ip (8)
+.SH AUTHOR
+Tom Herbert <therbert@google.com>
diff --git a/upstream/fedora-40/man8/ip-ioam.8 b/upstream/fedora-40/man8/ip-ioam.8
new file mode 100644
index 00000000..1bdc0ece
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-ioam.8
@@ -0,0 +1,72 @@
+.TH IP\-IOAM 8 "05 Jul 2021" "iproute2" "Linux"
+.SH "NAME"
+ip-ioam \- IPv6 In-situ OAM (IOAM)
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip ioam
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+
+.ti -8
+.B ip ioam namespace show
+
+.ti -8
+.B ip ioam namespace add
+.I ID
+.BR " [ "
+.B data
+.I DATA32
+.BR "]"
+.BR " [ "
+.B wide
+.I DATA64
+.BR "]"
+
+.ti -8
+.B ip ioam namespace del
+.I ID
+
+.ti -8
+.B ip ioam schema show
+
+.ti -8
+.B ip ioam schema add
+.I ID DATA
+
+.ti -8
+.B ip ioam schema del
+.I ID
+
+.ti -8
+.B ip ioam namespace set
+.I ID
+.B schema
+.RI " { " ID " | "
+.BR none " }"
+
+.SH DESCRIPTION
+The \fBip ioam\fR command is used to configure IPv6 In-situ OAM (IOAM6)
+internal parameters, namely IOAM namespaces and schemas.
+.PP
+Those parameters also include the mapping between an IOAM namespace and an IOAM
+schema.
+
+.SH EXAMPLES
+.PP
+.SS Configure an IOAM namespace (ID = 1) with both data (32 bits) and wide data (64 bits)
+.nf
+# ip ioam namespace add 1 data 0xdeadbeef wide 0xcafec0caf00dc0de
+.PP
+.SS Link an existing IOAM schema (ID = 7) to an existing IOAM namespace (ID = 1)
+.nf
+# ip ioam namespace set 1 schema 7
+.SH SEE ALSO
+.br
+.BR ip-route (8)
+.SH AUTHOR
+Justin Iurman <justin.iurman@uliege.be>
diff --git a/upstream/fedora-40/man8/ip-l2tp.8 b/upstream/fedora-40/man8/ip-l2tp.8
new file mode 100644
index 00000000..9aba6bec
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-l2tp.8
@@ -0,0 +1,412 @@
+.TH IP\-L2TP 8 "19 Apr 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-l2tp - L2TPv3 static unmanaged tunnel configuration
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B l2tp
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+.BR "ip l2tp add tunnel"
+.br
+.BI remote " ADDR " local " ADDR "
+.br
+.B tunnel_id
+.IR ID
+.B peer_tunnel_id
+.IR ID
+.br
+.RB "[ " encap " { " ip " | " udp " } ]"
+.br
+.RB "[ " udp_sport
+.IR PORT
+.RB " ] [ " udp_dport
+.IR PORT
+.RB " ]"
+.br
+.RB "[ " udp_csum " { " on " | " off " } ]"
+.br
+.RB "[ " udp6_csum_tx " { " on " | " off " } ]"
+.br
+.RB "[ " udp6_csum_rx " { " on " | " off " } ]"
+.br
+.ti -8
+.BR "ip l2tp add session"
+.RB "[ " name
+.IR NAME
+.RB " ]"
+.br
+.B tunnel_id
+.IR ID
+.B session_id
+.IR ID
+.B peer_session_id
+.IR ID
+.br
+.RB "[ " cookie
+.IR HEXSTR
+.RB " ] [ " peer_cookie
+.IR HEXSTR
+.RB " ]"
+.br
+.RB "[ " l2spec_type " { " none " | " default " } ]"
+.br
+.RB "[ " seq " { " none " | " send " | " recv " | " both " } ]"
+.br
+.ti -8
+.BR "ip l2tp del tunnel"
+.B tunnel_id
+.IR ID
+.br
+.ti -8
+.BR "ip l2tp del session"
+.B tunnel_id
+.IR ID
+.B session_id
+.IR ID
+.br
+.ti -8
+.BR "ip l2tp show tunnel" " [ " tunnel_id
+.IR ID " ]"
+.br
+.ti -8
+.BR "ip l2tp show session" " [ " tunnel_id
+.IR ID .B " ] ["
+.B session_id
+.IR ID " ]"
+.br
+.ti -8
+.IR NAME " := "
+.IR STRING
+.ti -8
+.IR ADDR " := { " IP_ADDRESS " |"
+.BR any " }"
+.ti -8
+.IR PORT " := { " NUMBER " }"
+.ti -8
+.IR ID " := { " NUMBER " }"
+.ti -8
+.ti -8
+.IR HEXSTR " := { 8 or 16 hex digits (4 / 8 bytes) }"
+.SH DESCRIPTION
+The
+.B ip l2tp
+commands are used to establish static, or so-called
+.I unmanaged
+L2TPv3 ethernet tunnels. For unmanaged tunnels, there is no L2TP
+control protocol so no userspace daemon is required - tunnels are
+manually created by issuing commands at a local system and at a remote
+peer.
+.PP
+L2TPv3 is suitable for Layer-2 tunneling. Static tunnels are useful
+to establish network links across IP networks when the tunnels are
+fixed. L2TPv3 tunnels can carry data of more than one session. Each
+session is identified by a session_id and its parent tunnel's
+tunnel_id. A tunnel must be created before a session can be created in
+the tunnel.
+.PP
+When creating an L2TP tunnel, the IP address of the remote peer is
+specified, which can be either an IPv4 or IPv6 address. The local IP
+address to be used to reach the peer must also be specified. This is
+the address on which the local system will listen for and accept
+received L2TP data packets from the peer.
+.PP
+L2TPv3 defines two packet encapsulation formats: UDP or IP. UDP
+encapsulation is most common. IP encapsulation uses a dedicated IP
+protocol value to carry L2TP data without the overhead of UDP. Use IP
+encapsulation only when there are no NAT devices or firewalls in the
+network path.
+.PP
+When an L2TPv3 ethernet session is created, a virtual network
+interface is created for the session, which must then be configured
+and brought up, just like any other network interface. When data is
+passed through the interface, it is carried over the L2TP tunnel to
+the peer. By configuring the system's routing tables or adding the
+interface to a bridge, the L2TP interface is like a virtual wire
+(pseudowire) connected to the peer.
+.PP
+Establishing an unmanaged L2TPv3 ethernet pseudowire involves manually
+creating L2TP contexts on the local system and at the peer. Parameters
+used at each site must correspond or no data will be passed. No
+consistency checks are possible since there is no control protocol
+used to establish unmanaged L2TP tunnels. Once the virtual network
+interface of a given L2TP session is configured and enabled, data can
+be transmitted, even if the peer isn't yet configured. If the peer
+isn't configured, the L2TP data packets will be discarded by
+the peer.
+.PP
+To establish an unmanaged L2TP tunnel, use
+.B l2tp add tunnel
+and
+.B l2tp add session
+commands described in this document. Then configure and enable the
+tunnel's virtual network interface, as required.
+.PP
+Note that unmanaged tunnels carry only ethernet frames. If you need to
+carry PPP traffic (L2TPv2) or your peer doesn't support unmanaged
+L2TPv3 tunnels, you will need an L2TP server which implements the L2TP
+control protocol. The L2TP control protocol allows dynamic L2TP
+tunnels and sessions to be established and provides for detecting and
+acting upon network failures.
+.SS ip l2tp add tunnel - add a new tunnel
+.TP
+.BI tunnel_id " ID"
+set the tunnel id, which is a 32-bit integer value. Uniquely
+identifies the tunnel. The value used must match the peer_tunnel_id
+value being used at the peer.
+.TP
+.BI peer_tunnel_id " ID"
+set the peer tunnel id, which is a 32-bit integer value assigned to
+the tunnel by the peer. The value used must match the tunnel_id value
+being used at the peer.
+.TP
+.BI remote " ADDR"
+set the IP address of the remote peer. May be specified as an IPv4
+address or an IPv6 address.
+.TP
+.BI local " ADDR"
+set the IP address of the local interface to be used for the
+tunnel. This address must be the address of a local interface. May be
+specified as an IPv4 address or an IPv6 address.
+.TP
+.BI encap " ENCAP"
+set the encapsulation type of the tunnel.
+.br
+Valid values for encapsulation are:
+.BR udp ", " ip "."
+.TP
+.BI udp_sport " PORT"
+set the UDP source port to be used for the tunnel. Must be present
+when udp encapsulation is selected. Ignored when ip encapsulation is
+selected.
+.TP
+.BI udp_dport " PORT"
+set the UDP destination port to be used for the tunnel. Must be
+present when udp encapsulation is selected. Ignored when ip
+encapsulation is selected.
+.TP
+.BI udp_csum " STATE"
+(IPv4 only) control if IPv4 UDP checksums should be calculated and checked for the
+encapsulating UDP packets, when UDP encapsulating is selected.
+Default is
+.BR off "."
+.br
+Valid values are:
+.BR on ", " off "."
+.TP
+.BI udp6_csum_tx " STATE"
+(IPv6 only) control if IPv6 UDP checksums should be calculated for encapsulating
+UDP packets, when UDP encapsulating is selected.
+Default is
+.BR on "."
+.br
+Valid values are:
+.BR on ", " off "."
+.TP
+.BI udp6_csum_rx " STATE"
+(IPv6 only) control if IPv6 UDP checksums should be checked for the encapsulating
+UDP packets, when UDP encapsulating is selected.
+Default is
+.BR on "."
+.br
+Valid values are:
+.BR on ", " off "."
+.SS ip l2tp del tunnel - destroy a tunnel
+.TP
+.BI tunnel_id " ID"
+set the tunnel id of the tunnel to be deleted. All sessions within the
+tunnel must be deleted first.
+.SS ip l2tp show tunnel - show information about tunnels
+.TP
+.BI tunnel_id " ID"
+set the tunnel id of the tunnel to be shown. If not specified,
+information about all tunnels is printed.
+.SS ip l2tp add session - add a new session to a tunnel
+.TP
+.BI name " NAME "
+sets the session network interface name. Default is l2tpethN.
+.TP
+.BI tunnel_id " ID"
+set the tunnel id, which is a 32-bit integer value. Uniquely
+identifies the tunnel into which the session will be created. The
+tunnel must already exist.
+.TP
+.BI session_id " ID"
+set the session id, which is a 32-bit integer value. Uniquely
+identifies the session being created. The value used must match the
+peer_session_id value being used at the peer.
+.TP
+.BI peer_session_id " ID"
+set the peer session id, which is a 32-bit integer value assigned to
+the session by the peer. The value used must match the session_id
+value being used at the peer.
+.TP
+.BI cookie " HEXSTR"
+sets an optional cookie value to be assigned to the session. This is a
+4 or 8 byte value, specified as 8 or 16 hex digits,
+e.g. 014d3636deadbeef. The value must match the peer_cookie value set
+at the peer. The cookie value is carried in L2TP data packets and is
+checked for expected value at the peer. Default is to use no cookie.
+.TP
+.BI peer_cookie " HEXSTR"
+sets an optional peer cookie value to be assigned to the session. This
+is a 4 or 8 byte value, specified as 8 or 16 hex digits,
+e.g. 014d3636deadbeef. The value must match the cookie value set at
+the peer. It tells the local system what cookie value to expect to
+find in received L2TP packets. Default is to use no cookie.
+.TP
+.BI l2spec_type " L2SPECTYPE"
+set the layer2specific header type of the session.
+.br
+Valid values are:
+.BR none ", " default "."
+.TP
+.BI seq " SEQ"
+controls sequence numbering to prevent or detect out of order packets.
+.B send
+puts a sequence number in the default layer2specific header of each
+outgoing packet.
+.B recv
+reorder packets if they are received out of order.
+Default is
+.BR none "."
+.br
+Valid values are:
+.BR none ", " send ", " recv ", " both "."
+.SS ip l2tp del session - destroy a session
+.TP
+.BI tunnel_id " ID"
+set the tunnel id in which the session to be deleted is located.
+.TP
+.BI session_id " ID"
+set the session id of the session to be deleted.
+.SS ip l2tp show session - show information about sessions
+.TP
+.BI tunnel_id " ID"
+set the tunnel id of the session(s) to be shown. If not specified,
+information about sessions in all tunnels is printed.
+.TP
+.BI session_id " ID"
+set the session id of the session to be shown. If not specified,
+information about all sessions is printed.
+.SH EXAMPLES
+.PP
+.SS Setup L2TP tunnels and sessions
+.nf
+site-A:# ip l2tp add tunnel tunnel_id 3000 peer_tunnel_id 4000 \\
+ encap udp local 1.2.3.4 remote 5.6.7.8 \\
+ udp_sport 5000 udp_dport 6000
+site-A:# ip l2tp add session tunnel_id 3000 session_id 1000 \\
+ peer_session_id 2000
+
+site-B:# ip l2tp add tunnel tunnel_id 4000 peer_tunnel_id 3000 \\
+ encap udp local 5.6.7.8 remote 1.2.3.4 \\
+ udp_sport 6000 udp_dport 5000
+site-B:# ip l2tp add session tunnel_id 4000 session_id 2000 \\
+ peer_session_id 1000
+
+site-A:# ip link set l2tpeth0 up mtu 1488
+
+site-B:# ip link set l2tpeth0 up mtu 1488
+.fi
+.PP
+Notice that the IP addresses, UDP ports and tunnel / session ids are
+matched and reversed at each site.
+.SS Configure as IP interfaces
+The two interfaces can be configured with IP addresses if only IP data
+is to be carried. This is perhaps the simplest configuration.
+.PP
+.nf
+site-A:# ip addr add 10.42.1.1 peer 10.42.1.2 dev l2tpeth0
+
+site-B:# ip addr add 10.42.1.2 peer 10.42.1.1 dev l2tpeth0
+
+site-A:# ping 10.42.1.2
+.fi
+.PP
+Now the link should be usable. Add static routes as needed to have
+data sent over the new link.
+.PP
+.SS Configure as bridged interfaces
+To carry non-IP data, the L2TP network interface is added to a bridge
+instead of being assigned its own IP address, using standard Linux
+utilities. Since raw ethernet frames are then carried inside the
+tunnel, the MTU of the L2TP interfaces must be set to allow space for
+those headers.
+.PP
+.nf
+site-A:# ip link set l2tpeth0 up mtu 1446
+site-A:# ip link add br0 type bridge
+site-A:# ip link set l2tpeth0 master br0
+site-A:# ip link set eth0 master br0
+site-A:# ip link set br0 up
+.fi
+.PP
+If you are using VLANs, setup a bridge per VLAN and bridge each VLAN
+over a separate L2TP session. For example, to bridge VLAN ID 5 on eth1
+over an L2TP pseudowire:
+.PP
+.nf
+site-A:# ip link set l2tpeth0 up mtu 1446
+site-A:# ip link add brvlan5 type bridge
+site-A:# ip link set l2tpeth0.5 master brvlan5
+site-A:# ip link set eth1.5 master brvlan5
+site-A:# ip link set brvlan5 up
+.fi
+.PP
+Adding the L2TP interface to a bridge causes the bridge to forward
+traffic over the L2TP pseudowire just like it forwards over any other
+interface. The bridge learns MAC addresses of hosts attached to each
+interface and intelligently forwards frames from one bridge port to
+another. IP addresses are not assigned to the l2tpethN interfaces. If
+the bridge is correctly configured at both sides of the L2TP
+pseudowire, it should be possible to reach hosts in the peer's bridged
+network.
+.PP
+When raw ethernet frames are bridged across an L2TP tunnel, large
+frames may be fragmented and forwarded as individual IP fragments to
+the recipient, depending on the MTU of the physical interface used by
+the tunnel. When the ethernet frames carry protocols which are
+reassembled by the recipient, like IP, this isn't a problem. However,
+such fragmentation can cause problems for protocols like PPPoE where
+the recipient expects to receive ethernet frames exactly as
+transmitted. In such cases, it is important that frames leaving the
+tunnel are reassembled back into a single frame before being
+forwarded on. To do so, enable netfilter connection tracking
+(conntrack) or manually load the Linux netfilter defrag modules at
+each tunnel endpoint.
+.PP
+.nf
+site-A:# modprobe nf_defrag_ipv4
+
+site-B:# modprobe nf_defrag_ipv4
+.fi
+.PP
+If L2TP is being used over IPv6, use the IPv6 defrag module.
+.SH INTEROPERABILITY
+.PP
+Unmanaged (static) L2TPv3 tunnels are supported by some network
+equipment equipment vendors such as Cisco.
+.PP
+In Linux, L2TP Hello messages are not supported in unmanaged
+tunnels. Hello messages are used by L2TP clients and servers to detect
+link failures in order to automate tearing down and reestablishing
+dynamic tunnels. If a non-Linux peer supports Hello messages in
+unmanaged tunnels, it must be turned off to interoperate with Linux.
+.PP
+Linux defaults to use the Default Layer2SpecificHeader type as defined
+in the L2TPv3 protocol specification, RFC3931. This setting must be
+consistent with that configured at the peer. Some vendor
+implementations (e.g. Cisco) default to use a Layer2SpecificHeader
+type of None.
+.SH SEE ALSO
+.br
+.BR ip (8)
+.SH AUTHOR
+James Chapman <jchapman@katalix.com>
diff --git a/upstream/fedora-40/man8/ip-link.8 b/upstream/fedora-40/man8/ip-link.8
new file mode 100644
index 00000000..209ae825
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-link.8
@@ -0,0 +1,2981 @@
+.TH IP\-LINK 8 "13 Dec 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-link \- network device configuration
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip link
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BI "ip link add"
+.RB "[ " link
+.IR DEVICE " ]"
+.RB "[ " name " ]"
+.I NAME
+.br
+.RB "[ " txqueuelen
+.IR PACKETS " ]"
+.br
+.RB "[ " address
+.IR LLADDR " ]"
+.RB "[ " broadcast
+.IR LLADDR " ]"
+.br
+.RB "[ " mtu
+.IR MTU " ]"
+.RB "[ " index
+.IR IDX " ]"
+.br
+.RB "[ " numtxqueues
+.IR QUEUE_COUNT " ]"
+.RB "[ " numrxqueues
+.IR QUEUE_COUNT " ]"
+.br
+.RB "[ " gso_max_size
+.IR BYTES " ]"
+.RB "[ " gso_ipv4_max_size
+.IR BYTES " ]"
+.RB "[ " gso_max_segs
+.IR SEGMENTS " ]"
+.br
+.RB "[ " gro_max_size
+.IR BYTES " ]"
+.RB "[ " gro_ipv4_max_size
+.IR BYTES " ]"
+.br
+.RB "[ " netns " {"
+.IR PID " | " NETNSNAME " | " NETNSFILE " } ]"
+.br
+.BI type " TYPE"
+.RI "[ " ARGS " ]"
+
+.ti -8
+.BR "ip link delete " {
+.IR DEVICE " | "
+.BI "group " GROUP
+}
+.BI type " TYPE"
+.RI "[ " ARGS " ]"
+
+.ti -8
+.BR "ip link set " {
+.IR DEVICE " | "
+.BI "group " GROUP
+}
+.br
+.RB "[ { " up " | " down " } ]"
+.br
+.RB "[ " type
+.IR "ETYPE TYPE_ARGS" " ]"
+.br
+.RB "[ " arp " { " on " | " off " } ]"
+.br
+.RB "[ " dynamic " { " on " | " off " } ]"
+.br
+.RB "[ " multicast " { " on " | " off " } ]"
+.br
+.RB "[ " allmulticast " { " on " | " off " } ]"
+.br
+.RB "[ " promisc " { " on " | " off " } ]"
+.br
+.RB "[ " protodown " { " on " | " off " } ]"
+.br
+.RB "[ " protodown_reason
+.IR PREASON " { " on " | " off " } ]"
+.br
+.RB "[ " trailers " { " on " | " off " } ]"
+.br
+.RB "[ " txqueuelen
+.IR PACKETS " ]"
+.br
+.RB "[ " gso_max_size
+.IR BYTES " ]"
+.RB "[ " gso_ipv4_max_size
+.IR BYTES " ]"
+.RB "[ " gso_max_segs
+.IR SEGMENTS " ]"
+.br
+.RB "[ " gro_max_size
+.IR BYTES " ]"
+.RB "[ " gro_ipv4_max_size
+.IR BYTES " ]"
+.br
+.RB "[ " name
+.IR NEWNAME " ]"
+.br
+.RB "[ " address
+.IR LLADDR " ]"
+.br
+.RB "[ " broadcast
+.IR LLADDR " ]"
+.br
+.RB "[ " mtu
+.IR MTU " ]"
+.br
+.RB "[ " netns " {"
+.IR PID " | " NETNSNAME " | " NETNSFILE " } ]"
+.br
+.RB "[ " link-netnsid
+.IR ID " ]"
+.br
+.RB "[ " alias
+.IR NAME " ]"
+.br
+.RB "[ " vf
+.IR NUM " ["
+.B mac
+.IR LLADDR " ]"
+.br
+.in +9
+.RI "[ " VFVLAN-LIST " ]"
+.br
+.RB "[ " rate
+.IR TXRATE " ]"
+.br
+.RB "[ " max_tx_rate
+.IR TXRATE " ]"
+.br
+.RB "[ " min_tx_rate
+.IR TXRATE " ]"
+.br
+.RB "[ " spoofchk " { " on " | " off " } ]"
+.br
+.RB "[ " query_rss " { " on " | " off " } ]"
+.br
+.RB "[ " state " { " auto " | " enable " | " disable " } ]"
+.br
+.RB "[ " trust " { " on " | " off " } ]"
+.br
+.RB "[ " node_guid " eui64 ]"
+.br
+.RB "[ " port_guid " eui64 ] ]"
+.br
+.in -9
+.RB "[ { " xdp " | " xdpgeneric " | " xdpdrv " | " xdpoffload " } { " off " | "
+.br
+.in +8
+.BR object
+.IR FILE
+.RB "[ { " section " | " program " } "
+.IR NAME " ]"
+.RB "[ " verbose " ] |"
+.br
+.BR pinned
+.IR FILE " } ]"
+.br
+.in -8
+.RB "[ " master
+.IR DEVICE " ]"
+.br
+.RB "[ " nomaster " ]"
+.br
+.RB "[ " vrf
+.IR NAME " ]"
+.br
+.RB "[ " addrgenmode " { " eui64 " | " none " | " stable_secret " | " random " } ]"
+.br
+.RB "[ " macaddr
+.RI "[ " MACADDR " ]"
+.br
+.in +10
+.RB "[ { " flush " | " add " | " del " } "
+.IR MACADDR " ]"
+.br
+.RB "[ " set
+.IR MACADDR " ] ]"
+.br
+
+.ti -8
+.B ip link show
+.RI "[ " DEVICE " | "
+.B group
+.IR GROUP " ] ["
+.BR up " ] ["
+.B master
+.IR DEVICE " ] ["
+.B type
+.IR ETYPE " ] ["
+.B vrf
+.IR NAME " ] ["
+.BR nomaster " ]"
+
+.ti -8
+.B ip link xstats
+.BI type " TYPE"
+.RI "[ " ARGS " ]"
+
+.ti -8
+.B ip link afstats
+.RB "[ " dev
+.IR DEVICE " ]"
+
+.ti -8
+.B ip link help
+.RI "[ " TYPE " ]"
+
+.ti -8
+.IR TYPE " := [ "
+.BR amt " | "
+.BR bareudp " |"
+.BR bond " | "
+.BR bridge " | "
+.BR can " | "
+.BR dsa " | "
+.BR dummy " | "
+.BR erspan " |"
+.BR geneve " |"
+.BR gre " |"
+.BR gretap " |"
+.BR gtp " |"
+.BR hsr " | "
+.BR ifb " | "
+.BR ip6erspan " |"
+.BR ip6gre " |"
+.BR ip6gretap " |"
+.BR ip6tnl " |"
+.BR ipip " |"
+.BR ipoib " |"
+.BR ipvlan " |"
+.BR ipvtap " |"
+.BR lowpan " |"
+.BR macsec " |"
+.BR macvlan " | "
+.BR macvtap " | "
+.BR netdevsim " |"
+.BR nlmon " |"
+.BR rmnet " |"
+.BR sit " |"
+.BR vcan " | "
+.BR veth " | "
+.BR virt_wifi " |"
+.BR vlan " | "
+.BR vrf " |"
+.BR vti " |"
+.BR vxcan " | "
+.BR vxlan " |"
+.BR xfrm " ]"
+
+.ti -8
+.IR ETYPE " := [ " TYPE " |"
+.BR bridge_slave " | " bond_slave " ]"
+
+.ti -8
+.IR VFVLAN-LIST " := [ " VFVLAN-LIST " ] " VFVLAN
+
+.ti -8
+.IR VFVLAN " := "
+.RB "[ " vlan
+.IR VLANID " [ "
+.B qos
+.IR VLAN-QOS " ] ["
+.B proto
+.IR VLAN-PROTO " ] ]"
+.in -8
+
+.ti -8
+.BI "ip link property add dev " DEVICE
+.RB "[ " altname
+.IR NAME " .. ]"
+
+.ti -8
+.BI "ip link property del dev " DEVICE
+.RB "[ " altname
+.IR NAME " .. ]"
+
+.SH "DESCRIPTION"
+.SS ip link add - add virtual link
+
+.TP
+.BI link " DEVICE "
+specifies the physical device to act operate on.
+
+.I NAME
+specifies the name of the new virtual device.
+
+.I TYPE
+specifies the type of the new device.
+.sp
+Link types:
+
+.in +8
+.BR amt
+- Automatic Multicast Tunneling (AMT)
+.sp
+.BR bareudp
+- Bare UDP L3 encapsulation support
+.sp
+.B bond
+- Bonding device
+.sp
+.B bridge
+- Ethernet Bridge device
+.sp
+.B can
+- Controller Area Network
+.sp
+.B dsa
+- Distributed Switch Architecture
+.sp
+.B dummy
+- Dummy network interface
+.sp
+.BR erspan
+- Encapsulated Remote SPAN over GRE and IPv4
+.sp
+.B geneve
+- GEneric NEtwork Virtualization Encapsulation
+.sp
+.B gre
+- Virtual tunnel interface GRE over IPv4
+.sp
+.BR gretap
+- Virtual L2 tunnel interface GRE over IPv4
+.sp
+.BR gtp
+- GPRS Tunneling Protocol
+.sp
+.B hsr
+- High-availability Seamless Redundancy device
+.sp
+.B ifb
+- Intermediate Functional Block device
+.sp
+.BR ip6erspan
+- Encapsulated Remote SPAN over GRE and IPv6
+.sp
+.BR ip6gre
+- Virtual tunnel interface GRE over IPv6
+.sp
+.BR ip6gretap
+- Virtual L2 tunnel interface GRE over IPv6
+.sp
+.BR ip6tnl
+- Virtual tunnel interface IPv4|IPv6 over IPv6
+.sp
+.BR ipip
+- Virtual tunnel interface IPv4 over IPv4
+.sp
+.B ipoib
+- IP over Infiniband device
+.sp
+.BR ipvlan
+- Interface for L3 (IPv6/IPv4) based VLANs
+.sp
+.BR ipvtap
+- Interface for L3 (IPv6/IPv4) based VLANs and TAP
+.sp
+.BR lowpan
+- Interface for 6LoWPAN (IPv6) over IEEE 802.15.4 / Bluetooth
+.sp
+.BR macsec
+- Interface for IEEE 802.1AE MAC Security (MACsec)
+.sp
+.B macvlan
+- Virtual interface base on link layer address (MAC)
+.sp
+.B macvtap
+- Virtual interface based on link layer address (MAC) and TAP.
+.sp
+.BR netdevsim
+- Interface for netdev API tests
+.sp
+.BR nlmon
+- Netlink monitoring device
+.sp
+.BR rmnet
+- Qualcomm rmnet device
+.sp
+.BR sit
+- Virtual tunnel interface IPv6 over IPv4
+.sp
+.B vcan
+- Virtual Controller Area Network interface
+.sp
+.B veth
+- Virtual ethernet interface
+.sp
+.BR virt_wifi
+- rtnetlink wifi simulation device
+.sp
+.BR vlan
+- 802.1q tagged virtual LAN interface
+.sp
+.BR vrf
+- Interface for L3 VRF domains
+.sp
+.BR vti
+- Virtual tunnel interface
+.sp
+.B vxcan
+- Virtual Controller Area Network tunnel interface
+.sp
+.BR vxlan
+- Virtual eXtended LAN
+.sp
+.BR xfrm
+- Virtual xfrm interface
+.sp
+.in -8
+
+.TP
+.BI numtxqueues " QUEUE_COUNT "
+specifies the number of transmit queues for new device.
+
+.TP
+.BI numrxqueues " QUEUE_COUNT "
+specifies the number of receive queues for new device.
+
+.TP
+.BI gso_max_size " BYTES "
+specifies the recommended maximum size of a Generic Segment Offload
+packet the new device should accept. This is also used to enable BIG
+TCP for IPv6 on this device when the size is greater than 65536.
+
+.TP
+.BI gso_ipv4_max_size " BYTES "
+specifies the recommended maximum size of a IPv4 Generic Segment Offload
+packet the new device should accept. This is especially used to enable
+BIG TCP for IPv4 on this device by setting to a size greater than 65536.
+
+.TP
+.BI gso_max_segs " SEGMENTS "
+specifies the recommended maximum number of a Generic Segment Offload
+segments the new device should accept.
+
+.TP
+.BI gro_max_size " BYTES "
+specifies the maximum size of a packet built by GRO stack on this
+device. This is also used for BIG TCP to allow the size of a
+merged IPv6 GSO packet on this device greater than 65536.
+
+.TP
+.BI gro_ipv4_max_size " BYTES "
+specifies the maximum size of a IPv4 packet built by GRO stack on this
+device. This is especially used for BIG TCP to allow the size of a
+merged IPv4 GSO packet on this device greater than 65536.
+
+.TP
+.BI index " IDX "
+specifies the desired index of the new virtual device. The link
+creation fails, if the index is busy.
+
+.TP
+.B netns
+.RI "{ " PID " | " NETNSNAME " | " NETNSFILE " }"
+.br
+create the device in the network namespace associated with process
+.IR "PID " or
+the name
+.IR "NETNSNAME " or
+the file
+.IR "NETNSFILE".
+
+.TP
+VLAN Type Support
+For a link of type
+.I VLAN
+the following additional arguments are supported:
+
+.BI "ip link add
+.BI link " DEVICE "
+.BI name " NAME "
+.B "type vlan"
+[
+.BI protocol " VLAN_PROTO "
+]
+.BI id " VLANID "
+[
+.BR reorder_hdr " { " on " | " off " } "
+]
+[
+.BR gvrp " { " on " | " off " } "
+]
+[
+.BR mvrp " { " on " | " off " } "
+]
+[
+.BR loose_binding " { " on " | " off " } "
+]
+[
+.BR bridge_binding " { " on " | " off " } "
+]
+[
+.BI ingress-qos-map " QOS-MAP "
+]
+[
+.BI egress-qos-map " QOS-MAP "
+]
+
+.in +8
+.sp
+.BI protocol " VLAN_PROTO "
+- either 802.1Q or 802.1ad.
+
+.BI id " VLANID "
+- specifies the VLAN Identifier to use. Note that numbers with a leading " 0 " or " 0x " are interpreted as octal or hexadecimal, respectively.
+
+.BR reorder_hdr " { " on " | " off " } "
+- specifies whether ethernet headers are reordered or not (default is
+.BR on ")."
+
+.in +4
+If
+.BR reorder_hdr " is " on
+then VLAN header will be not inserted immediately but only before
+passing to the physical device (if this device does not support VLAN
+offloading), the similar on the RX direction - by default the packet
+will be untagged before being received by VLAN device. Reordering
+allows one to accelerate tagging on egress and to hide VLAN header on
+ingress so the packet looks like regular Ethernet packet, at the same
+time it might be confusing for packet capture as the VLAN header does
+not exist within the packet.
+
+VLAN offloading can be checked by
+.BR ethtool "(8):"
+.in +4
+.sp
+.B ethtool -k
+<phy_dev> |
+.RB grep " tx-vlan-offload"
+.sp
+.in -4
+where <phy_dev> is the physical device to which VLAN device is bound.
+.in -4
+
+.BR gvrp " { " on " | " off " } "
+- specifies whether this VLAN should be registered using GARP VLAN
+Registration Protocol.
+
+.BR mvrp " { " on " | " off " } "
+- specifies whether this VLAN should be registered using Multiple VLAN
+Registration Protocol.
+
+.BR loose_binding " { " on " | " off " } "
+- specifies whether the VLAN device state is bound to the physical device state.
+
+.BR bridge_binding " { " on " | " off " } "
+- specifies whether the VLAN device link state tracks the state of bridge ports
+that are members of the VLAN.
+
+.BI ingress-qos-map " QOS-MAP "
+- defines a mapping of VLAN header prio field to the Linux internal packet
+priority on incoming frames. The format is FROM:TO with multiple mappings
+separated by spaces.
+
+.BI egress-qos-map " QOS-MAP "
+- defines a mapping of Linux internal packet priority to VLAN header prio field
+but for outgoing frames. The format is the same as for ingress-qos-map.
+.in +4
+
+Linux packet priority can be set by
+.BR iptables "(8)":
+.in +4
+.sp
+.B iptables
+-t mangle -A POSTROUTING [...] -j CLASSIFY --set-class 0:4
+.sp
+.in -4
+and this "4" priority can be used in the egress qos mapping to set
+VLAN prio "5":
+.sp
+.in +4
+.B ip
+link set veth0.10 type vlan egress 4:5
+.in -4
+.in -4
+.in -8
+
+.TP
+VXLAN Type Support
+For a link of type
+.I VXLAN
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BI type " vxlan " id " VNI"
+[
+.BI dev " PHYS_DEV "
+.RB " ] [ { " group " | " remote " } "
+.I IPADDR
+] [
+.B local
+.RI "{ "IPADDR " | "any " } "
+] [
+.BI ttl " TTL "
+] [
+.BI tos " TOS "
+] [
+.BI df " DF "
+] [
+.BI flowlabel " FLOWLABEL "
+] [
+.BI dstport " PORT "
+] [
+.BI srcport " MIN MAX "
+] [
+.RB [ no ] learning
+] [
+.RB [ no ] proxy
+] [
+.RB [ no ] rsc
+] [
+.RB [ no ] l2miss
+] [
+.RB [ no ] l3miss
+] [
+.RB [ no ] udpcsum
+] [
+.RB [ no ] udp6zerocsumtx
+] [
+.RB [ no ] udp6zerocsumrx
+] [
+.RB [ no ] localbypass
+] [
+.BI ageing " SECONDS "
+] [
+.BI maxaddress " NUMBER "
+] [
+.RB [ no ] external
+] [
+.B gbp
+] [
+.B gpe
+] [
+.RB [ no ] vnifilter
+]
+
+.in +8
+.sp
+.BI id " VNI "
+- specifies the VXLAN Network Identifier (or VXLAN Segment
+Identifier) to use.
+
+.BI dev " PHYS_DEV"
+- specifies the physical device to use for tunnel endpoint communication.
+
+.sp
+.BI group " IPADDR"
+- specifies the multicast IP address to join.
+This parameter cannot be specified with the
+.B remote
+parameter.
+
+.sp
+.BI remote " IPADDR"
+- specifies the unicast destination IP address to use in outgoing packets
+when the destination link layer address is not known in the VXLAN device
+forwarding database. This parameter cannot be specified with the
+.B group
+parameter.
+
+.sp
+.BI local " IPADDR"
+- specifies the source IP address to use in outgoing packets.
+
+.sp
+.BI ttl " TTL"
+- specifies the TTL value to use in outgoing packets.
+
+.sp
+.BI tos " TOS"
+- specifies the TOS value to use in outgoing packets.
+
+.sp
+.BI df " DF"
+- specifies the usage of the Don't Fragment flag (DF) bit in outgoing packets
+with IPv4 headers. The value
+.B inherit
+causes the bit to be copied from the original IP header. The values
+.B unset
+and
+.B set
+cause the bit to be always unset or always set, respectively. By default, the
+bit is not set.
+
+.sp
+.BI flowlabel " FLOWLABEL"
+- specifies the flow label to use in outgoing packets.
+
+.sp
+.BI dstport " PORT"
+- specifies the UDP destination port to communicate to the remote
+ VXLAN tunnel endpoint.
+
+.sp
+.BI srcport " MIN MAX"
+- specifies the range of port numbers to use as UDP
+source ports to communicate to the remote VXLAN tunnel endpoint.
+
+.sp
+.RB [ no ] learning
+- specifies if unknown source link layer addresses and IP addresses
+are entered into the VXLAN device forwarding database.
+
+.sp
+.RB [ no ] rsc
+- specifies if route short circuit is turned on.
+
+.sp
+.RB [ no ] proxy
+- specifies ARP proxy is turned on.
+
+.sp
+.RB [ no ] l2miss
+- specifies if netlink LLADDR miss notifications are generated.
+
+.sp
+.RB [ no ] l3miss
+- specifies if netlink IP ADDR miss notifications are generated.
+
+.sp
+.RB [ no ] udpcsum
+- specifies if UDP checksum is calculated for transmitted packets over IPv4.
+
+.sp
+.RB [ no ] udp6zerocsumtx
+- skip UDP checksum calculation for transmitted packets over IPv6.
+
+.sp
+.RB [ no ] udp6zerocsumrx
+- allow incoming UDP packets over IPv6 with zero checksum field.
+
+.sp
+.RB [ no ] localbypass
+- if FDB destination is local, with nolocalbypass set, forward encapsulated
+packets to the userspace network stack. If there is a userspace process
+listening for these packets, it will have a chance to process them. If
+localbypass is active (default), bypass the kernel network stack and
+inject the packets into the target VXLAN device, assuming one exists.
+
+.sp
+.BI ageing " SECONDS"
+- specifies the lifetime in seconds of FDB entries learnt by the kernel.
+
+.sp
+.BI maxaddress " NUMBER"
+- specifies the maximum number of FDB entries.
+
+.sp
+.RB [ no ] external
+- specifies whether an external control plane
+.RB "(e.g. " "ip route encap" )
+or the internal FDB should be used.
+
+.sp
+.RB [ no ] vnifilter
+- specifies whether the vxlan device is capable of vni filtering. Only works with a vxlan
+device with external flag set. once enabled, bridge vni command is used to manage the
+vni filtering table on the device. The device can only receive packets with vni's configured
+in the vni filtering table.
+
+.sp
+.B gbp
+- enables the Group Policy extension (VXLAN-GBP).
+
+.in +4
+Allows one to transport group policy context across VXLAN network peers.
+If enabled, includes the mark of a packet in the VXLAN header for outgoing
+packets and fills the packet mark based on the information found in the
+VXLAN header for incoming packets.
+
+Format of upper 16 bits of packet mark (flags);
+
+.in +2
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+.br
+|-|-|-|-|-|-|-|-|-|D|-|-|A|-|-|-|
+.br
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+.B D :=
+Don't Learn bit. When set, this bit indicates that the egress
+VTEP MUST NOT learn the source address of the encapsulated frame.
+
+.B A :=
+Indicates that the group policy has already been applied to
+this packet. Policies MUST NOT be applied by devices when the A bit is set.
+.in -2
+
+Format of lower 16 bits of packet mark (policy ID):
+
+.in +2
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+.br
+| Group Policy ID |
+.br
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+.in -2
+
+Example:
+ iptables -A OUTPUT [...] -j MARK --set-mark 0x800FF
+
+.in -4
+
+.sp
+.B gpe
+- enables the Generic Protocol extension (VXLAN-GPE). Currently, this is
+only supported together with the
+.B external
+keyword.
+
+.in -8
+
+.TP
+VETH, VXCAN Type Support
+For a link of types
+.I VETH/VXCAN
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BR type " { " veth " | " vxcan " }"
+[
+.BR peer
+.BI "name " NAME
+]
+
+.in +8
+.sp
+.BR peer
+.BI "name " NAME
+- specifies the virtual pair device name of the
+.I VETH/VXCAN
+tunnel.
+
+.in -8
+
+.TP
+IPIP, SIT Type Support
+For a link of type
+.IR IPIP or SIT
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BR type " { " ipip " | " sit " }"
+.BI " remote " ADDR " local " ADDR
+[
+.BR encap " { " fou " | " gue " | " none " }"
+] [
+.BR encap-sport " { " \fIPORT " | " auto " }"
+] [
+.BI "encap-dport " PORT
+] [
+.RB [ no ] encap-csum
+] [
+.I " [no]encap-remcsum "
+] [
+.I " mode " { ip6ip | ipip | mplsip | any } "
+] [
+.BR external
+]
+
+.in +8
+.sp
+.BI remote " ADDR "
+- specifies the remote address of the tunnel.
+
+.sp
+.BI local " ADDR "
+- specifies the fixed local address for tunneled packets.
+It must be an address on another interface on this host.
+
+.sp
+.BR encap " { " fou " | " gue " | " none " }"
+- specifies type of secondary UDP encapsulation. "fou" indicates
+Foo-Over-UDP, "gue" indicates Generic UDP Encapsulation.
+
+.sp
+.BR encap-sport " { " \fIPORT " | " auto " }"
+- specifies the source port in UDP encapsulation.
+.IR PORT
+indicates the port by number, "auto"
+indicates that the port number should be chosen automatically
+(the kernel picks a flow based on the flow hash of the
+encapsulated packet).
+
+.sp
+.RB [ no ] encap-csum
+- specifies if UDP checksums are enabled in the secondary
+encapsulation.
+
+.sp
+.RB [ no ] encap-remcsum
+- specifies if Remote Checksum Offload is enabled. This is only
+applicable for Generic UDP Encapsulation.
+
+.sp
+.BI mode " { ip6ip | ipip | mplsip | any } "
+- specifies mode in which device should run. "ip6ip" indicates
+IPv6-Over-IPv4, "ipip" indicates "IPv4-Over-IPv4", "mplsip" indicates
+MPLS-Over-IPv4, "any" indicates IPv6, IPv4 or MPLS Over IPv4. Supported for
+SIT where the default is "ip6ip" and IPIP where the default is "ipip".
+IPv6-Over-IPv4 is not supported for IPIP.
+
+.sp
+.BR external
+- make this tunnel externally controlled
+.RB "(e.g. " "ip route encap" ).
+
+.in -8
+.TP
+GRE Type Support
+For a link of type
+.IR GRE " or " GRETAP
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BR type " { " gre " | " gretap " }"
+.BI " remote " ADDR " local " ADDR
+[
+.RB [ no ] "" [ i | o ] seq
+] [
+.RB [ i | o ] key
+.I KEY
+|
+.BR no [ i | o ] key
+] [
+.RB [ no ] "" [ i | o ] csum
+] [
+.BI ttl " TTL "
+] [
+.BI tos " TOS "
+] [
+.RB [ no ] pmtudisc
+] [
+.RB [ no ] ignore-df
+] [
+.BI dev " PHYS_DEV "
+] [
+.BR encap " { " fou " | " gue " | " none " }"
+] [
+.BR encap-sport " { " \fIPORT " | " auto " }"
+] [
+.BI "encap-dport " PORT
+] [
+.RB [ no ] encap-csum
+] [
+.RB [ no ] encap-remcsum
+] [
+.BR external
+]
+
+.in +8
+.sp
+.BI remote " ADDR "
+- specifies the remote address of the tunnel.
+
+.sp
+.BI local " ADDR "
+- specifies the fixed local address for tunneled packets.
+It must be an address on another interface on this host.
+
+.sp
+.RB [ no ] "" [ i | o ] seq
+- serialize packets.
+The
+.B oseq
+flag enables sequencing of outgoing packets.
+The
+.B iseq
+flag requires that all input packets are serialized.
+
+.sp
+.RB [ i | o ] key
+.I KEY
+|
+.BR no [ i | o ] key
+- use keyed GRE with key
+.IR KEY ". "KEY
+is either a number or an IPv4 address-like dotted quad.
+The
+.B key
+parameter specifies the same key to use in both directions.
+The
+.BR ikey " and " okey
+parameters specify different keys for input and output.
+
+.sp
+.RB [ no ] "" [ i | o ] csum
+- generate/require checksums for tunneled packets.
+The
+.B ocsum
+flag calculates checksums for outgoing packets.
+The
+.B icsum
+flag requires that all input packets have the correct
+checksum. The
+.B csum
+flag is equivalent to the combination
+.B "icsum ocsum" .
+
+.sp
+.BI ttl " TTL"
+- specifies the TTL value to use in outgoing packets.
+
+.sp
+.BI tos " TOS"
+- specifies the TOS value to use in outgoing packets.
+
+.sp
+.RB [ no ] pmtudisc
+- enables/disables Path MTU Discovery on this tunnel.
+It is enabled by default. Note that a fixed ttl is incompatible
+with this option: tunneling with a fixed ttl always makes pmtu
+discovery.
+
+.sp
+.RB [ no ] ignore-df
+- enables/disables IPv4 DF suppression on this tunnel.
+Normally datagrams that exceed the MTU will be fragmented; the presence
+of the DF flag inhibits this, resulting instead in an ICMP Unreachable
+(Fragmentation Required) message. Enabling this attribute causes the
+DF flag to be ignored.
+
+.sp
+.BI dev " PHYS_DEV"
+- specifies the physical device to use for tunnel endpoint communication.
+
+.sp
+.BR encap " { " fou " | " gue " | " none " }"
+- specifies type of secondary UDP encapsulation. "fou" indicates
+Foo-Over-UDP, "gue" indicates Generic UDP Encapsulation.
+
+.sp
+.BR encap-sport " { " \fIPORT " | " auto " }"
+- specifies the source port in UDP encapsulation.
+.IR PORT
+indicates the port by number, "auto"
+indicates that the port number should be chosen automatically
+(the kernel picks a flow based on the flow hash of the
+encapsulated packet).
+
+.sp
+.RB [ no ] encap-csum
+- specifies if UDP checksums are enabled in the secondary
+encapsulation.
+
+.sp
+.RB [ no ] encap-remcsum
+- specifies if Remote Checksum Offload is enabled. This is only
+applicable for Generic UDP Encapsulation.
+
+.sp
+.BR external
+- make this tunnel externally controlled
+.RB "(e.g. " "ip route encap" ).
+
+.in -8
+
+.TP
+IP6GRE/IP6GRETAP Type Support
+For a link of type
+.I IP6GRE/IP6GRETAP
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BR type " { " ip6gre " | " ip6gretap " }"
+.BI remote " ADDR " local " ADDR"
+[
+.RB [ no ] "" [ i | o ] seq
+] [
+.RB [ i | o ] key
+.I KEY
+|
+.BR no [ i | o ] key
+] [
+.RB [ no ] "" [ i | o ] csum
+] [
+.BI hoplimit " TTL "
+] [
+.BI encaplimit " ELIM "
+] [
+.BI tclass " TCLASS "
+] [
+.BI flowlabel " FLOWLABEL "
+] [
+.BI "dscp inherit"
+] [
+.BI "[no]allow-localremote"
+] [
+.BI dev " PHYS_DEV "
+] [
+.RB external
+]
+
+.in +8
+.sp
+.BI remote " ADDR "
+- specifies the remote IPv6 address of the tunnel.
+
+.sp
+.BI local " ADDR "
+- specifies the fixed local IPv6 address for tunneled packets.
+It must be an address on another interface on this host.
+
+.sp
+.RB [ no ] "" [ i | o ] seq
+- serialize packets.
+The
+.B oseq
+flag enables sequencing of outgoing packets.
+The
+.B iseq
+flag requires that all input packets are serialized.
+
+.sp
+.RB [ i | o ] key
+.I KEY
+|
+.BR no [ i | o ] key
+- use keyed GRE with key
+.IR KEY ". "KEY
+is either a number or an IPv4 address-like dotted quad.
+The
+.B key
+parameter specifies the same key to use in both directions.
+The
+.BR ikey " and " okey
+parameters specify different keys for input and output.
+
+.sp
+.RB [ no ] "" [ i | o ] csum
+- generate/require checksums for tunneled packets.
+The
+.B ocsum
+flag calculates checksums for outgoing packets.
+The
+.B icsum
+flag requires that all input packets have the correct
+checksum. The
+.B csum
+flag is equivalent to the combination
+.BR "icsum ocsum" .
+
+.sp
+.BI hoplimit " TTL"
+- specifies Hop Limit value to use in outgoing packets.
+
+.sp
+.BI encaplimit " ELIM"
+- specifies a fixed encapsulation limit. Default is 4.
+
+.sp
+.BI flowlabel " FLOWLABEL"
+- specifies a fixed flowlabel.
+
+.sp
+.BI [no]allow-localremote
+- specifies whether to allow remote endpoint to have an address configured on
+local host.
+
+.sp
+.BI tclass " TCLASS"
+- specifies the traffic class field on
+tunneled packets, which can be specified as either a two-digit
+hex value (e.g. c0) or a predefined string (e.g. internet).
+The value
+.B inherit
+causes the field to be copied from the original IP header. The
+values
+.BI "inherit/" STRING
+or
+.BI "inherit/" 00 ".." ff
+will set the field to
+.I STRING
+or
+.IR 00 ".." ff
+when tunneling non-IP packets. The default value is 00.
+
+.sp
+.RB external
+- make this tunnel externally controlled (or not, which is the default).
+In the kernel, this is referred to as collect metadata mode. This flag is
+mutually exclusive with the
+.BR remote ,
+.BR local ,
+.BR seq ,
+.BR key,
+.BR csum,
+.BR hoplimit,
+.BR encaplimit,
+.BR flowlabel " and " tclass
+options.
+
+.in -8
+
+.TP
+IPoIB Type Support
+For a link of type
+.I IPoIB
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE " name " NAME
+.BR "type ipoib " [ " pkey \fIPKEY" " ] [ " mode " \fIMODE \fR]"
+
+.in +8
+.sp
+.BI pkey " PKEY "
+- specifies the IB P-Key to use.
+
+.BI mode " MODE "
+- specifies the mode (datagram or connected) to use.
+
+.TP
+ERSPAN Type Support
+For a link of type
+.I ERSPAN/IP6ERSPAN
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BR type " { " erspan " | " ip6erspan " }"
+.BI remote " ADDR " local " ADDR " seq
+.RB key
+.I KEY
+.BR erspan_ver " \fIversion "
+[
+.BR erspan " \fIIDX "
+] [
+.BR erspan_dir " { " \fIingress " | " \fIegress " }"
+] [
+.BR erspan_hwid " \fIhwid "
+] [
+.BI "[no]allow-localremote"
+] [
+.RB external
+]
+
+.in +8
+.sp
+.BI remote " ADDR "
+- specifies the remote address of the tunnel.
+
+.sp
+.BI local " ADDR "
+- specifies the fixed local address for tunneled packets.
+It must be an address on another interface on this host.
+
+.sp
+.BR erspan_ver " \fIversion "
+- specifies the ERSPAN version number.
+.IR version
+indicates the ERSPAN version to be created: 0 for version 0 type I,
+1 for version 1 (type II) or 2 for version 2 (type III).
+
+.sp
+.BR erspan " \fIIDX "
+- specifies the ERSPAN v1 index field.
+.IR IDX
+indicates a 20 bit index/port number associated with the ERSPAN
+traffic's source port and direction.
+
+.sp
+.BR erspan_dir " { " \fIingress " | " \fIegress " }"
+- specifies the ERSPAN v2 mirrored traffic's direction.
+
+.sp
+.BR erspan_hwid " \fIhwid "
+- an unique identifier of an ERSPAN v2 engine within a system.
+.IR hwid
+is a 6-bit value for users to configure.
+
+.sp
+.BI [no]allow-localremote
+- specifies whether to allow remote endpoint to have an address configured on
+local host.
+
+.sp
+.BR external
+- make this tunnel externally controlled (or not, which is the default).
+In the kernel, this is referred to as collect metadata mode. This flag is
+mutually exclusive with the
+.BR remote ,
+.BR local ,
+.BR erspan_ver ,
+.BR erspan ,
+.BR erspan_dir " and " erspan_hwid
+options.
+
+.in -8
+
+.TP
+GENEVE Type Support
+For a link of type
+.I GENEVE
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BI type " geneve " id " VNI " remote " IPADDR"
+[
+.BI ttl " TTL "
+] [
+.BI tos " TOS "
+] [
+.BI df " DF "
+] [
+.BI flowlabel " FLOWLABEL "
+] [
+.BI dstport " PORT"
+] [
+.RB [ no ] external
+] [
+.RB [ no ] udpcsum
+] [
+.RB [ no ] udp6zerocsumtx
+] [
+.RB [ no ] udp6zerocsumrx
+] [
+.B innerprotoinherit
+]
+
+.in +8
+.sp
+.BI id " VNI "
+- specifies the Virtual Network Identifier to use.
+
+.sp
+.BI remote " IPADDR"
+- specifies the unicast destination IP address to use in outgoing packets.
+
+.sp
+.BI ttl " TTL"
+- specifies the TTL value to use in outgoing packets. "0" or "auto" means
+use whatever default value, "inherit" means inherit the inner protocol's
+ttl. Default option is "0".
+
+.sp
+.BI tos " TOS"
+- specifies the TOS value to use in outgoing packets.
+
+.sp
+.BI df " DF"
+- specifies the usage of the Don't Fragment flag (DF) bit in outgoing packets
+with IPv4 headers. The value
+.B inherit
+causes the bit to be copied from the original IP header. The values
+.B unset
+and
+.B set
+cause the bit to be always unset or always set, respectively. By default, the
+bit is not set.
+
+.sp
+.BI flowlabel " FLOWLABEL"
+- specifies the flow label to use in outgoing packets.
+
+.sp
+.BI dstport " PORT"
+- select a destination port other than the default of 6081.
+
+.sp
+.RB [ no ] external
+- make this tunnel externally controlled (or not, which is the default). This
+flag is mutually exclusive with the
+.BR id ,
+.BR remote ,
+.BR ttl ,
+.BR tos " and " flowlabel
+options.
+
+.sp
+.RB [ no ] udpcsum
+- specifies if UDP checksum is calculated for transmitted packets over IPv4.
+
+.sp
+.RB [ no ] udp6zerocsumtx
+- skip UDP checksum calculation for transmitted packets over IPv6.
+
+.sp
+.RB [ no ] udp6zerocsumrx
+- allow incoming UDP packets over IPv6 with zero checksum field.
+
+.sp
+.B innerprotoinherit
+- use IPv4/IPv6 as inner protocol instead of Ethernet.
+
+.in -8
+
+.TP
+Bareudp Type Support
+For a link of type
+.I Bareudp
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BI type " bareudp " dstport " PORT " ethertype " PROTO"
+[
+.BI srcportmin " PORT "
+] [
+.RB [ no ] multiproto
+]
+
+.in +8
+.sp
+.BI dstport " PORT"
+- specifies the destination port for the UDP tunnel.
+
+.sp
+.BI ethertype " PROTO"
+- specifies the ethertype of the L3 protocol being tunnelled.
+.B ethertype
+can be given as plain Ethernet protocol number or using the protocol name
+("ipv4", "ipv6", "mpls_uc", etc.).
+
+.sp
+.BI srcportmin " PORT"
+- selects the lowest value of the UDP tunnel source port range.
+
+.sp
+.RB [ no ] multiproto
+- activates support for protocols similar to the one
+.RB "specified by " ethertype .
+When
+.B ethertype
+is "mpls_uc" (that is, unicast MPLS), this allows the tunnel to also handle
+multicast MPLS.
+When
+.B ethertype
+is "ipv4", this allows the tunnel to also handle IPv6. This option is disabled
+by default.
+
+.TP
+AMT Type Support
+For a link of type
+.I AMT
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE
+.BI type " AMT " discovery " IPADDR " mode " { " gateway " | " relay " } "
+.BI local " IPADDR " dev " PHYS_DEV " [
+.BI relay_port " PORT " ]
+[
+.BI gateway_port " PORT " ]
+[
+.BI max_tunnels " NUMBER "
+]
+
+.in +8
+.sp
+.BI discovery " IPADDR"
+- specifies the unicast discovery IP address to use to find remote IP address.
+
+.BR mode " { " gateway " | " relay " } "
+- specifies the role of AMT, Gateway or Relay
+
+.BI local " IPADDR "
+- specifies the source IP address to use in outgoing packets.
+
+.BI dev " PHYS_DEV "
+- specifies the underlying physical interface from which transform traffic
+is sent and received.
+
+.BI relay_port " PORT "
+- specifies the UDP Relay port to communicate to the Relay.
+
+.BI gateway_port " PORT "
+- specifies the UDP Gateway port to communicate to the Gateway.
+
+.BI max_tunnels " NUMBER "
+- specifies the maximum number of tunnels.
+
+.in -8
+
+.TP
+MACVLAN and MACVTAP Type Support
+For a link of type
+.I MACVLAN
+or
+.I MACVTAP
+the following additional arguments are supported:
+
+.BI "ip link add link " DEVICE " name " NAME
+.BR type " { " macvlan " | " macvtap " } "
+.BR mode " { " private " | " vepa " | " bridge " | " passthru
+.RB " [ " nopromisc " ] | " source " [ " nodst " ] } "
+.RB " [ " bcqueuelen " { " LENGTH " } ] "
+.RB " [ " bclim " " LIMIT " ] "
+
+.in +8
+.sp
+.BR type " { " macvlan " | " macvtap " } "
+- specifies the link type to use.
+.BR macvlan " creates just a virtual interface, while "
+.BR macvtap " in addition creates a character device "
+.BR /dev/tapX " to be used just like a " tuntap " device."
+
+.B mode private
+- Do not allow communication between
+.B macvlan
+instances on the same physical interface, even if the external switch supports
+hairpin mode.
+
+.B mode vepa
+- Virtual Ethernet Port Aggregator mode. Data from one
+.B macvlan
+instance to the other on the same physical interface is transmitted over the
+physical interface. Either the attached switch needs to support hairpin mode,
+or there must be a TCP/IP router forwarding the packets in order to allow
+communication. This is the default mode.
+
+.B mode bridge
+- In bridge mode, all endpoints are directly connected to each other,
+communication is not redirected through the physical interface's peer.
+
+.BR mode " " passthru " [ " nopromisc " ] "
+- This mode gives more power to a single endpoint, usually in
+.BR macvtap " mode. It is not allowed for more than one endpoint on the same "
+physical interface. All traffic will be forwarded to this endpoint, allowing
+virtio guests to change MAC address or set promiscuous mode in order to bridge
+the interface or create vlan interfaces on top of it. By default, this mode
+forces the underlying interface into promiscuous mode. Passing the
+.BR nopromisc " flag prevents this, so the promisc flag may be controlled "
+using standard tools.
+
+.BR mode " " source " [ " nodst " ] "
+- allows one to set a list of allowed mac address, which is used to match
+against source mac address from received frames on underlying interface. This
+allows creating mac based VLAN associations, instead of standard port or tag
+based. The feature is useful to deploy 802.1x mac based behavior,
+where drivers of underlying interfaces doesn't allows that. By default, packets
+are also considered (duplicated) for destination-based MACVLAN. Passing the
+.BR nodst " flag stops matching packets from also going through the "
+destination-based flow.
+
+.BR bcqueuelen " { " LENGTH " } "
+- Set the length of the RX queue used to process broadcast and multicast packets.
+.BR LENGTH " must be a positive integer in the range [0-4294967295]."
+Setting a length of 0 will effectively drop all broadcast/multicast traffic.
+If not specified the macvlan driver default (1000) is used.
+Note that all macvlans that share the same underlying device are using the same
+.RB "queue. The parameter here is a " request ", the actual queue length used"
+will be the maximum length that any macvlan interface has requested.
+When listing device parameters both the bcqueuelen parameter
+as well as the actual used bcqueuelen are listed to better help
+the user understand the setting.
+
+.BR bclim " " LIMIT
+- Set the threshold for broadcast queueing.
+.BR LIMIT " must be a 32-bit integer."
+Setting this to -1 disables broadcast queueing altogether. Otherwise
+a multicast address will be queued as broadcast if the number of devices
+using it is greater than the given value.
+.in -8
+
+.TP
+High-availability Seamless Redundancy (HSR) Support
+For a link of type
+.I HSR
+the following additional arguments are supported:
+
+.BI "ip link add link " DEVICE " name " NAME " type hsr"
+.BI slave1 " SLAVE1-IF " slave2 " SLAVE2-IF "
+.RB [ " supervision"
+.IR ADDR-BYTE " ] ["
+.BR version " { " 0 " | " 1 " } ["
+.BR proto " { " 0 " | " 1 " } ]"
+
+.in +8
+.sp
+.BR type " hsr "
+- specifies the link type to use, here HSR.
+
+.BI slave1 " SLAVE1-IF "
+- Specifies the physical device used for the first of the two ring ports.
+
+.BI slave2 " SLAVE2-IF "
+- Specifies the physical device used for the second of the two ring ports.
+
+.BI supervision " ADDR-BYTE"
+- The last byte of the multicast address used for HSR supervision frames.
+Default option is "0", possible values 0-255.
+
+.BR version " { " 0 " | " 1 " }"
+- Selects the protocol version of the interface. Default option is "0", which
+corresponds to the 2010 version of the HSR standard. Option "1" activates the
+2012 version.
+
+.BR proto " { " 0 " | " 1 " }"
+- Selects the protocol at the interface. Default option is "0", which
+corresponds to the HSR standard. Option "1" activates the Parallel
+Redundancy Protocol (PRP).
+.
+.in -8
+
+.TP
+BRIDGE Type Support
+For a link of type
+.I BRIDGE
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE " type bridge "
+[
+.BI ageing_time " AGEING_TIME "
+] [
+.BI group_fwd_mask " MASK "
+] [
+.BI group_address " ADDRESS "
+] [
+.BI forward_delay " FORWARD_DELAY "
+] [
+.BI hello_time " HELLO_TIME "
+] [
+.BI max_age " MAX_AGE "
+] [
+.BI stp_state " STP_STATE "
+] [
+.BI priority " PRIORITY "
+] [
+.BI no_linklocal_learn " NO_LINKLOCAL_LEARN "
+] [
+.BI fdb_max_learned " FDB_MAX_LEARNED "
+] [
+.BI vlan_filtering " VLAN_FILTERING "
+] [
+.BI vlan_protocol " VLAN_PROTOCOL "
+] [
+.BI vlan_default_pvid " VLAN_DEFAULT_PVID "
+] [
+.BI vlan_stats_enabled " VLAN_STATS_ENABLED "
+] [
+.BI vlan_stats_per_port " VLAN_STATS_PER_PORT "
+] [
+.BI mcast_snooping " MULTICAST_SNOOPING "
+] [
+.BI mcast_vlan_snooping " MULTICAST_VLAN_SNOOPING "
+] [
+.BI mcast_router " MULTICAST_ROUTER "
+] [
+.BI mcast_query_use_ifaddr " MCAST_QUERY_USE_IFADDR "
+] [
+.BI mcast_querier " MULTICAST_QUERIER "
+] [
+.BI mcast_hash_elasticity " HASH_ELASTICITY "
+] [
+.BI mcast_hash_max " HASH_MAX "
+] [
+.BI mcast_last_member_count " LAST_MEMBER_COUNT "
+] [
+.BI mcast_startup_query_count " STARTUP_QUERY_COUNT "
+] [
+.BI mcast_last_member_interval " LAST_MEMBER_INTERVAL "
+] [
+.BI mcast_membership_interval " MEMBERSHIP_INTERVAL "
+] [
+.BI mcast_querier_interval " QUERIER_INTERVAL "
+] [
+.BI mcast_query_interval " QUERY_INTERVAL "
+] [
+.BI mcast_query_response_interval " QUERY_RESPONSE_INTERVAL "
+] [
+.BI mcast_startup_query_interval " STARTUP_QUERY_INTERVAL "
+] [
+.BI mcast_stats_enabled " MCAST_STATS_ENABLED "
+] [
+.BI mcast_igmp_version " IGMP_VERSION "
+] [
+.BI mcast_mld_version " MLD_VERSION "
+] [
+.BI nf_call_iptables " NF_CALL_IPTABLES "
+] [
+.BI nf_call_ip6tables " NF_CALL_IP6TABLES "
+] [
+.BI nf_call_arptables " NF_CALL_ARPTABLES "
+]
+
+.in +8
+.sp
+.BI ageing_time " AGEING_TIME "
+- configure the bridge's FDB entries ageing time, ie the number of
+seconds a MAC address will be kept in the FDB after a packet has been
+received from that address. after this time has passed, entries are
+cleaned up.
+
+.BI group_fwd_mask " MASK "
+- set the group forward mask. This is the bitmask that is applied to
+decide whether to forward incoming frames destined to link-local
+addresses, ie addresses of the form 01:80:C2:00:00:0X (defaults to 0,
+ie the bridge does not forward any link-local frames).
+
+.BI group_address " ADDRESS "
+- set the MAC address of the multicast group this bridge uses for STP.
+The address must be a link-local address in standard Ethernet MAC
+address format, ie an address of the form 01:80:C2:00:00:0X, with X
+ in [0, 4..f].
+
+.BI forward_delay " FORWARD_DELAY "
+- set the forwarding delay in seconds, ie the time spent in LISTENING
+state (before moving to LEARNING) and in LEARNING state (before
+moving to FORWARDING). Only relevant if STP is enabled. Valid values
+are between 2 and 30.
+
+.BI hello_time " HELLO_TIME "
+- set the time in seconds between hello packets sent by the bridge,
+when it is a root bridge or a designated bridges.
+Only relevant if STP is enabled. Valid values are between 1 and 10.
+
+.BI max_age " MAX_AGE "
+- set the hello packet timeout, ie the time in seconds until another
+bridge in the spanning tree is assumed to be dead, after reception of
+its last hello message. Only relevant if STP is enabled. Valid values
+are between 6 and 40.
+
+.BI stp_state " STP_STATE "
+- turn spanning tree protocol on
+.RI ( STP_STATE " > 0) "
+or off
+.RI ( STP_STATE " == 0). "
+for this bridge.
+
+.BI priority " PRIORITY "
+- set this bridge's spanning tree priority, used during STP root
+bridge election.
+.I PRIORITY
+is a 16bit unsigned integer.
+
+.BI no_linklocal_learn " NO_LINKLOCAL_LEARN "
+- turn link-local learning on
+.RI ( NO_LINKLOCAL_LEARN " == 0) "
+or off
+.RI ( NO_LINKLOCAL_LEARN " > 0). "
+When disabled, the bridge will not learn from link-local frames (default:
+enabled).
+
+.BI fdb_max_learned " FDB_MAX_LEARNED "
+- set the maximum number of learned FDB entries. If
+.RI ( FDB_MAX_LEARNED " == 0) "
+the feature is disabled. Default is
+.BR 0 .
+.I FDB_MAX_LEARNED
+is a 32bit unsigned integer.
+
+.BI vlan_filtering " VLAN_FILTERING "
+- turn VLAN filtering on
+.RI ( VLAN_FILTERING " > 0) "
+or off
+.RI ( VLAN_FILTERING " == 0). "
+When disabled, the bridge will not consider the VLAN tag when handling packets.
+
+.BR vlan_protocol " { " 802.1Q " | " 802.1ad " } "
+- set the protocol used for VLAN filtering.
+
+.BI vlan_default_pvid " VLAN_DEFAULT_PVID "
+- set the default PVID (native/untagged VLAN ID) for this bridge.
+
+.BI vlan_stats_enabled " VLAN_STATS_ENABLED "
+- enable
+.RI ( VLAN_STATS_ENABLED " == 1) "
+or disable
+.RI ( VLAN_STATS_ENABLED " == 0) "
+per-VLAN stats accounting.
+
+.BI vlan_stats_per_port " VLAN_STATS_PER_PORT "
+- enable
+.RI ( VLAN_STATS_PER_PORT " == 1) "
+or disable
+.RI ( VLAN_STATS_PER_PORT " == 0) "
+per-VLAN per-port stats accounting. Can be changed only when there are no port VLANs configured.
+
+.BI mcast_snooping " MULTICAST_SNOOPING "
+- turn multicast snooping on
+.RI ( MULTICAST_SNOOPING " > 0) "
+or off
+.RI ( MULTICAST_SNOOPING " == 0). "
+
+.BI mcast_vlan_snooping " MULTICAST_VLAN_SNOOPING "
+- turn multicast VLAN snooping on
+.RI ( MULTICAST_VLAN_SNOOPING " > 0) "
+or off
+.RI ( MULTICAST_VLAN_SNOOPING " == 0). "
+
+.BI mcast_router " MULTICAST_ROUTER "
+- set bridge's multicast router if IGMP snooping is enabled.
+.I MULTICAST_ROUTER
+is an integer value having the following meaning:
+.in +8
+.sp
+.B 0
+- disabled.
+
+.B 1
+- automatic (queried).
+
+.B 2
+- permanently enabled.
+.in -8
+
+.BI mcast_query_use_ifaddr " MCAST_QUERY_USE_IFADDR "
+- whether to use the bridge's own IP address as source address for IGMP queries
+.RI ( MCAST_QUERY_USE_IFADDR " > 0) "
+or the default of 0.0.0.0
+.RI ( MCAST_QUERY_USE_IFADDR " == 0). "
+
+.BI mcast_querier " MULTICAST_QUERIER "
+- enable
+.RI ( MULTICAST_QUERIER " > 0) "
+or disable
+.RI ( MULTICAST_QUERIER " == 0) "
+IGMP querier, ie sending of multicast queries by the bridge (default: disabled).
+
+.BI mcast_querier_interval " QUERIER_INTERVAL "
+- interval between queries sent by other routers. if no queries are seen
+after this delay has passed, the bridge will start to send its own queries
+(as if
+.BI mcast_querier
+was enabled).
+
+.BI mcast_hash_elasticity " HASH_ELASTICITY "
+- set multicast database hash elasticity, ie the maximum chain length
+in the multicast hash table (defaults to 4).
+
+.BI mcast_hash_max " HASH_MAX "
+- set maximum size of multicast hash table (defaults to 512,
+value must be a power of 2).
+
+.BI mcast_last_member_count " LAST_MEMBER_COUNT "
+- set multicast last member count, ie the number of queries the bridge
+will send before stopping forwarding a multicast group after a "leave"
+message has been received (defaults to 2).
+
+.BI mcast_last_member_interval " LAST_MEMBER_INTERVAL "
+- interval between queries to find remaining members of a group,
+after a "leave" message is received.
+
+.BI mcast_startup_query_count " STARTUP_QUERY_COUNT "
+- set the number of IGMP queries to send during startup phase (defaults to 2).
+
+.BI mcast_startup_query_interval " STARTUP_QUERY_INTERVAL "
+- interval between queries in the startup phase.
+
+.BI mcast_query_interval " QUERY_INTERVAL "
+- interval between queries sent by the bridge after the end of the
+startup phase.
+
+.BI mcast_query_response_interval " QUERY_RESPONSE_INTERVAL "
+- set the Max Response Time/Maximum Response Delay for IGMP/MLD
+queries sent by the bridge.
+
+.BI mcast_membership_interval " MEMBERSHIP_INTERVAL "
+- delay after which the bridge will leave a group,
+if no membership reports for this group are received.
+
+.BI mcast_stats_enabled " MCAST_STATS_ENABLED "
+- enable
+.RI ( MCAST_STATS_ENABLED " > 0) "
+or disable
+.RI ( MCAST_STATS_ENABLED " == 0) "
+multicast (IGMP/MLD) stats accounting.
+
+.BI mcast_igmp_version " IGMP_VERSION "
+- set the IGMP version.
+
+.BI mcast_mld_version " MLD_VERSION "
+- set the MLD version.
+
+.BI nf_call_iptables " NF_CALL_IPTABLES "
+- enable
+.RI ( NF_CALL_IPTABLES " > 0) "
+or disable
+.RI ( NF_CALL_IPTABLES " == 0) "
+iptables hooks on the bridge.
+
+.BI nf_call_ip6tables " NF_CALL_IP6TABLES "
+- enable
+.RI ( NF_CALL_IP6TABLES " > 0) "
+or disable
+.RI ( NF_CALL_IP6TABLES " == 0) "
+ip6tables hooks on the bridge.
+
+.BI nf_call_arptables " NF_CALL_ARPTABLES "
+- enable
+.RI ( NF_CALL_ARPTABLES " > 0) "
+or disable
+.RI ( NF_CALL_ARPTABLES " == 0) "
+arptables hooks on the bridge.
+
+
+.in -8
+
+.TP
+MACsec Type Support
+For a link of type
+.I MACsec
+the following additional arguments are supported:
+
+.BI "ip link add link " DEVICE " name " NAME " type macsec"
+[ [
+.BI address " <lladdr>"
+]
+.BI port " PORT"
+|
+.BI sci " SCI"
+] [
+.BI cipher " CIPHER_SUITE"
+] [
+.BR icvlen " { "
+.IR 8..16 " } ] ["
+.BR encrypt " {"
+.BR on " | " off " } ] [ "
+.BR send_sci " { " on " | " off " } ] ["
+.BR end_station " { " on " | " off " } ] ["
+.BR scb " { " on " | " off " } ] ["
+.BR protect " { " on " | " off " } ] ["
+.BR replay " { " on " | " off " }"
+.BR window " { "
+.IR 0..2^32-1 " } ] ["
+.BR validate " { " strict " | " check " | " disabled " } ] ["
+.BR encodingsa " { "
+.IR 0..3 " } ]"
+
+.in +8
+.sp
+.BI address " <lladdr> "
+- sets the system identifier component of secure channel for this MACsec device.
+
+.sp
+.BI port " PORT "
+- sets the port number component of secure channel for this MACsec
+device, in a range from 1 to 65535 inclusive. Numbers with a leading "
+0 " or " 0x " are interpreted as octal and hexadecimal, respectively.
+
+.sp
+.BI sci " SCI "
+- sets the secure channel identifier for this MACsec device.
+.I SCI
+is a 64bit wide number in hexadecimal format.
+
+.sp
+.BI cipher " CIPHER_SUITE "
+- defines the cipher suite to use.
+
+.sp
+.BI icvlen " LENGTH "
+- sets the length of the Integrity Check Value (ICV).
+
+.sp
+.BR "encrypt on " or " encrypt off"
+- switches between authenticated encryption, or authenticity mode only.
+
+.sp
+.BR "send_sci on " or " send_sci off"
+- specifies whether the SCI is included in every packet,
+or only when it is necessary.
+
+.sp
+.BR "end_station on " or " end_station off"
+- sets the End Station bit.
+
+.sp
+.BR "scb on " or " scb off"
+- sets the Single Copy Broadcast bit.
+
+.sp
+.BR "protect on " or " protect off"
+- enables MACsec protection on the device.
+
+.sp
+.BR "replay on " or " replay off"
+- enables replay protection on the device.
+
+.in +8
+
+.sp
+.BI window " SIZE "
+- sets the size of the replay window.
+
+.in -8
+
+.sp
+.BR "validate strict " or " validate check " or " validate disabled"
+- sets the validation mode on the device.
+
+.sp
+.BI encodingsa " AN "
+- sets the active secure association for transmission.
+
+.in -8
+
+.TP
+VRF Type Support
+For a link of type
+.I VRF
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE " type vrf table " TABLE
+
+.in +8
+.sp
+.BR table " table id associated with VRF device"
+
+.in -8
+
+.TP
+RMNET Type Support
+For a link of type
+.I RMNET
+the following additional arguments are supported:
+
+.BI "ip link add link " DEVICE " name " NAME " type rmnet mux_id " MUXID
+
+.in +8
+.sp
+.BI mux_id " MUXID "
+- specifies the mux identifier for the rmnet device, possible values 1-254.
+
+.in -8
+
+.TP
+XFRM Type Support
+For a link of type
+.I XFRM
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE " type xfrm dev " PHYS_DEV " [ if_id " IF_ID " ]"
+.BR "[ external ]"
+
+.in +8
+.sp
+.BI dev " PHYS_DEV "
+- specifies the underlying physical interface from which transform traffic is sent and received.
+
+.sp
+.BI if_id " IF-ID "
+- specifies the hexadecimal lookup key used to send traffic to and from specific xfrm
+policies. Policies must be configured with the same key. If not set, the key defaults to
+0 and will match any policies which similarly do not have a lookup key configuration.
+
+.sp
+.BI external
+- make this device externally controlled. This flag is mutually exclusive with the
+.BR dev " and " if_id
+options.
+
+.in -8
+
+.TP
+GTP Type Support
+For a link of type
+.I GTP
+the following additional arguments are supported:
+
+.BI "ip link add " DEVICE " type gtp role " ROLE " hsize " HSIZE
+
+.in +8
+.sp
+.BI role " ROLE "
+- specifies the role of the GTP device, either sgsn or ggsn
+
+.sp
+.BI hsize " HSIZE "
+- specifies size of the hashtable which stores PDP contexts
+
+.sp
+.BI restart_count " RESTART_COUNT "
+- GTP instance restart counter
+
+.in -8
+
+.SS ip link delete - delete virtual link
+
+.TP
+.BI dev " DEVICE "
+specifies the virtual device to act operate on.
+
+.TP
+.BI group " GROUP "
+specifies the group of virtual links to delete. Group 0 is not allowed to be
+deleted since it is the default group.
+
+.TP
+.BI type " TYPE "
+specifies the type of the device.
+
+.SS ip link set - change device attributes
+
+.PP
+.B Warning:
+If multiple parameter changes are requested,
+.B ip
+aborts immediately after any of the changes have failed.
+This is the only case when
+.B ip
+can move the system to an unpredictable state. The solution
+is to avoid changing several parameters with one
+.B ip link set
+call.
+The modifier
+.B change
+is equivalent to
+.BR "set" .
+
+
+.TP
+.BI dev " DEVICE "
+.I DEVICE
+specifies network device to operate on. When configuring SR-IOV
+Virtual Function (VF) devices, this keyword should specify the
+associated Physical Function (PF) device.
+
+.TP
+.BI group " GROUP "
+.I GROUP
+has a dual role: If both group and dev are present, then move the device to the
+specified group. If only a group is specified, then the command operates on
+all devices in that group.
+
+.TP
+.BR up " and " down
+change the state of the device to
+.B UP
+or
+.BR "DOWN" .
+
+.TP
+.BR "arp on " or " arp off"
+change the
+.B NOARP
+flag on the device.
+
+.TP
+.BR "multicast on " or " multicast off"
+change the
+.B MULTICAST
+flag on the device.
+
+.TP
+.BR "allmulticast on " or " allmulticast off"
+change the
+.B ALLMULTI
+flag on the device. When enabled, instructs network driver to retrieve all
+multicast packets from the network to the kernel for further processing.
+
+.TP
+.BR "promisc on " or " promisc off"
+change the
+.B PROMISC
+flag on the device. When enabled, activates promiscuous operation of the
+network device.
+
+.TP
+.BR "trailers on " or " trailers off"
+change the
+.B NOTRAILERS
+flag on the device,
+.B NOT
+used by the Linux and exists for BSD compatibility.
+
+.TP
+.BR "protodown on " or " protodown off"
+change the
+.B PROTODOWN
+state on the device. Indicates that a protocol error has been detected
+on the port. Switch drivers can react to this error by doing a phys
+down on the switch port.
+
+.TP
+.BR "protodown_reason PREASON on " or " off"
+set
+.B PROTODOWN
+reasons on the device. protodown reason bit names can be enumerated under
+/etc/iproute2/protodown_reasons.d/. possible reasons bits 0-31
+
+.TP
+.BR "dynamic on " or " dynamic off"
+change the
+.B DYNAMIC
+flag on the device. Indicates that address can change when interface
+goes down (currently
+.B NOT
+used by the Linux).
+
+.TP
+.BI name " NAME"
+change the name of the device. This operation is not
+recommended if the device is running or has some addresses
+already configured.
+
+.TP
+.BI txqueuelen " NUMBER"
+.TP
+.BI txqlen " NUMBER"
+change the transmit queue length of the device.
+
+.TP
+.BI mtu " NUMBER"
+change the
+.I MTU
+of the device.
+
+.TP
+.BI address " LLADDRESS"
+change the station address of the interface.
+
+.TP
+.BI broadcast " LLADDRESS"
+.TP
+.BI brd " LLADDRESS"
+.TP
+.BI peer " LLADDRESS"
+change the link layer broadcast address or the peer address when
+the interface is
+.IR "POINTOPOINT" .
+
+.TP
+.B netns
+.RI "{ " PID " | " NETNSNAME " | " NETNSFILE " }"
+.br
+move the device to the network namespace associated with process
+.IR "PID " or
+the name
+.IR "NETNSNAME " or
+the file
+.IR "NETNSFILE".
+
+Some devices are not allowed to change network namespace: loopback, bridge,
+wireless. These are network namespace local devices. In such case
+.B ip
+tool will return "Invalid argument" error. It is possible to find out
+if device is local to a single network namespace by checking
+.B netns-local
+flag in the output of the
+.BR ethtool ":"
+
+.in +8
+.B ethtool -k
+.I DEVICE
+.in -8
+
+To change network namespace for wireless devices the
+.B iw
+tool can be used. But it allows one to change network namespace only for
+physical devices and by process
+.IR PID .
+
+.TP
+.BI alias " NAME"
+give the device a symbolic name for easy reference.
+
+.TP
+.BI group " GROUP"
+specify the group the device belongs to.
+The available groups are listed in
+.BR /usr/share/iproute2/group " or " /etc/iproute2/group
+(has precedence if exists).
+
+.TP
+.BI vf " NUM"
+specify a Virtual Function device to be configured. The associated PF device
+must be specified using the
+.B dev
+parameter.
+
+.in +8
+.BI mac " LLADDRESS"
+- change the station address for the specified VF. The
+.B vf
+parameter must be specified.
+
+.sp
+.BI vlan " VLANID"
+- change the assigned VLAN for the specified VF. When specified, all traffic
+sent from the VF will be tagged with the specified VLAN ID. Incoming traffic
+will be filtered for the specified VLAN ID, and will have all VLAN tags
+stripped before being passed to the VF. Setting this parameter to 0 disables
+VLAN tagging and filtering. The
+.B vf
+parameter must be specified.
+
+.sp
+.BI qos " VLAN-QOS"
+- assign VLAN QOS (priority) bits for the VLAN tag. When specified, all VLAN
+tags transmitted by the VF will include the specified priority bits in the
+VLAN tag. If not specified, the value is assumed to be 0. Both the
+.B vf
+and
+.B vlan
+parameters must be specified. Setting both
+.B vlan
+and
+.B qos
+as 0 disables VLAN tagging and filtering for the VF.
+
+.sp
+.BI proto " VLAN-PROTO"
+- assign VLAN PROTOCOL for the VLAN tag, either 802.1Q or 802.1ad.
+Setting to 802.1ad, all traffic sent from the VF will be tagged with
+VLAN S-Tag. Incoming traffic will have VLAN S-Tags stripped before
+being passed to the VF. Setting to 802.1ad also enables an option to
+concatenate another VLAN tag, so both S-TAG and C-TAG will be
+inserted/stripped for outgoing/incoming traffic, respectively. If not
+specified, the value is assumed to be 802.1Q. Both the
+.B vf
+and
+.B vlan
+parameters must be specified.
+
+.sp
+.BI rate " TXRATE"
+-- change the allowed transmit bandwidth, in Mbps, for the specified VF.
+Setting this parameter to 0 disables rate limiting.
+.B vf
+parameter must be specified.
+Please use new API
+.B "max_tx_rate"
+option instead.
+
+.sp
+.BI max_tx_rate " TXRATE"
+- change the allowed maximum transmit bandwidth, in Mbps, for the
+specified VF. Setting this parameter to 0 disables rate limiting.
+.B vf
+parameter must be specified.
+
+.sp
+.BI min_tx_rate " TXRATE"
+- change the allowed minimum transmit bandwidth, in Mbps, for the specified VF.
+Minimum TXRATE should be always <= Maximum TXRATE.
+Setting this parameter to 0 disables rate limiting.
+.B vf
+parameter must be specified.
+
+.sp
+.BI spoofchk " on|off"
+- turn packet spoof checking on or off for the specified VF.
+.sp
+.BI query_rss " on|off"
+- toggle the ability of querying the RSS configuration of a specific
+VF. VF RSS information like RSS hash key may be considered sensitive
+on some devices where this information is shared between VF and PF
+and thus its querying may be prohibited by default.
+.sp
+.BI state " auto|enable|disable"
+- set the virtual link state as seen by the specified VF. Setting to
+auto means a reflection of the PF link state, enable lets the VF to
+communicate with other VFs on this host even if the PF link state is
+down, disable causes the HW to drop any packets sent by the VF.
+.sp
+.BI trust " on|off"
+- trust the specified VF user. This enables that VF user can set a
+specific feature which may impact security and/or
+performance. (e.g. VF multicast promiscuous mode)
+.sp
+.BI node_guid " eui64"
+- configure node GUID for Infiniband VFs.
+.sp
+.BI port_guid " eui64"
+- configure port GUID for Infiniband VFs.
+.in -8
+
+.TP
+.B xdp object "|" pinned "|" off
+set (or unset) a XDP ("eXpress Data Path") BPF program to run on every
+packet at driver level.
+.B ip link
+output will indicate a
+.B xdp
+flag for the networking device. If the driver does not have native XDP
+support, the kernel will fall back to a slower, driver-independent "generic"
+XDP variant. The
+.B ip link
+output will in that case indicate
+.B xdpgeneric
+instead of
+.B xdp
+only. If the driver does have native XDP support, but the program is
+loaded under
+.B xdpgeneric object "|" pinned
+then the kernel will use the generic XDP variant instead of the native one.
+.B xdpdrv
+has the opposite effect of requestsing that the automatic fallback to the
+generic XDP variant be disabled and in case driver is not XDP-capable error
+should be returned.
+.B xdpdrv
+also disables hardware offloads.
+.B xdpoffload
+in ip link output indicates that the program has been offloaded to hardware
+and can also be used to request the "offload" mode, much like
+.B xdpgeneric
+it forces program to be installed specifically in HW/FW of the apater.
+
+.B off
+(or
+.B none
+)
+- Detaches any currently attached XDP/BPF program from the given device.
+
+.BI object " FILE "
+- Attaches a XDP/BPF program to the given device. The
+.I FILE
+points to a BPF ELF file (f.e. generated by LLVM) that contains the BPF
+program code, map specifications, etc. If a XDP/BPF program is already
+attached to the given device, an error will be thrown. If no XDP/BPF
+program is currently attached, the device supports XDP and the program
+from the BPF ELF file passes the kernel verifier, then it will be attached
+to the device. If the option
+.I -force
+is passed to
+.B ip
+then any prior attached XDP/BPF program will be atomically overridden and
+no error will be thrown in this case. If no
+.B section
+option is passed, then the default section name ("prog") will be assumed,
+otherwise the provided section name will be used. If no
+.B verbose
+option is passed, then a verifier log will only be dumped on load error.
+See also
+.B EXAMPLES
+section for usage examples.
+
+.BI section " NAME "
+- Specifies a section name that contains the BPF program code. If no section
+name is specified, the default one ("prog") will be used. This option is
+to be passed with the
+.B object
+option.
+
+.BI program " NAME "
+- Specifies the BPF program name that need to be attached. When the program
+name is specified, the section name parameter will be ignored. This option
+only works when iproute2 build with
+.B libbpf
+support.
+
+.BI verbose
+- Act in verbose mode. For example, even in case of success, this will
+print the verifier log in case a program was loaded from a BPF ELF file.
+
+.BI pinned " FILE "
+- Attaches a XDP/BPF program to the given device. The
+.I FILE
+points to an already pinned BPF program in the BPF file system. The option
+.B section
+doesn't apply here, but otherwise semantics are the same as with the option
+.B object
+described already.
+
+.TP
+.BI master " DEVICE"
+set master device of the device (enslave device).
+
+.TP
+.BI nomaster
+unset master device of the device (release device).
+
+.TP
+.BI addrgenmode " eui64|none|stable_secret|random"
+set the IPv6 address generation mode
+
+.I eui64
+- use a Modified EUI-64 format interface identifier
+
+.I none
+- disable automatic address generation
+
+.I stable_secret
+- generate the interface identifier based on a preset
+ /proc/sys/net/ipv6/conf/{default,DEVICE}/stable_secret
+
+.I random
+- like stable_secret, but auto-generate a new random secret if none is set
+
+.TP
+.BR "link-netnsid "
+set peer netnsid for a cross-netns interface
+
+.TP
+.BI type " ETYPE TYPE_ARGS"
+Change type-specific settings. For a list of supported types and arguments refer
+to the description of
+.B "ip link add"
+above. In addition to that, it is possible to manipulate settings to slave
+devices:
+
+.TP
+Bridge Slave Support
+For a link with master
+.B bridge
+the following additional arguments are supported:
+
+.B "ip link set type bridge_slave"
+[
+.B fdb_flush
+] [
+.BI state " STATE"
+] [
+.BI priority " PRIO"
+] [
+.BI cost " COST"
+] [
+.BR guard " { " on " | " off " }"
+] [
+.BR hairpin " { " on " | " off " }"
+] [
+.BR fastleave " { " on " | " off " }"
+] [
+.BR root_block " { " on " | " off " }"
+] [
+.BR learning " { " on " | " off " }"
+] [
+.BR flood " { " on " | " off " }"
+] [
+.BR proxy_arp " { " on " | " off " }"
+] [
+.BR proxy_arp_wifi " { " on " | " off " }"
+] [
+.BI mcast_router " MULTICAST_ROUTER"
+] [
+.BR mcast_fast_leave " { " on " | " off "}"
+] [
+.BR bcast_flood " { " on " | " off " }"
+] [
+.BR mcast_flood " { " on " | " off " }"
+] [
+.BR mcast_to_unicast " { " on " | " off " }"
+] [
+.BR group_fwd_mask " MASK"
+] [
+.BR neigh_suppress " { " on " | " off " }"
+] [
+.BR neigh_vlan_suppress " { " on " | " off " }"
+] [
+.BR vlan_tunnel " { " on " | " off " }"
+] [
+.BR isolated " { " on " | " off " }"
+] [
+.BR locked " { " on " | " off " }"
+] [
+.BR mab " { " on " | " off " }"
+] [
+.BR backup_port " DEVICE"
+] [
+.BR nobackup_port
+] [
+.BR backup_nhid " NHID"
+]
+
+.in +8
+.sp
+.B fdb_flush
+- flush bridge slave's fdb dynamic entries.
+
+.BI state " STATE"
+- Set port state.
+.I STATE
+is a number representing the following states:
+.BR 0 " (disabled),"
+.BR 1 " (listening),"
+.BR 2 " (learning),"
+.BR 3 " (forwarding),"
+.BR 4 " (blocking)."
+
+.BI priority " PRIO"
+- set port priority (allowed values are between 0 and 63, inclusively).
+
+.BI cost " COST"
+- set port cost (allowed values are between 1 and 65535, inclusively).
+
+.BR guard " { " on " | " off " }"
+- block incoming BPDU packets on this port.
+
+.BR hairpin " { " on " | " off " }"
+- enable hairpin mode on this port. This will allow incoming packets on this
+port to be reflected back.
+
+.BR fastleave " { " on " | " off " }"
+- enable multicast fast leave on this port.
+
+.BR root_block " { " on " | " off " }"
+- block this port from becoming the bridge's root port.
+
+.BR learning " { " on " | " off " }"
+- allow MAC address learning on this port.
+
+.BR flood " { " on " | " off " }"
+- open the flood gates on this port, i.e. forward all unicast frames to this
+port also. Requires
+.BR proxy_arp " and " proxy_arp_wifi
+to be turned off.
+
+.BR proxy_arp " { " on " | " off " }"
+- enable proxy ARP on this port.
+
+.BR proxy_arp_wifi " { " on " | " off " }"
+- enable proxy ARP on this port which meets extended requirements by IEEE
+802.11 and Hotspot 2.0 specifications.
+
+.BI mcast_router " MULTICAST_ROUTER"
+- configure this port for having multicast routers attached. A port with a
+multicast router will receive all multicast traffic.
+.I MULTICAST_ROUTER
+may be either
+.B 0
+to disable multicast routers on this port,
+.B 1
+to let the system detect the presence of routers (this is the default),
+.B 2
+to permanently enable multicast traffic forwarding on this port or
+.B 3
+to enable multicast routers temporarily on this port, not depending on incoming
+queries.
+
+.BR mcast_fast_leave " { " on " | " off " }"
+- this is a synonym to the
+.B fastleave
+option above.
+
+.BR bcast_flood " { " on " | " off " }"
+- controls flooding of broadcast traffic on the given port. By default
+this flag is on.
+
+.BR mcast_flood " { " on " | " off " }"
+- controls whether a given port will flood multicast traffic for which
+there is no MDB entry. By default this flag is on.
+
+.BR mcast_to_unicast " { " on " | " off " }"
+- controls whether a given port will replicate packets using unicast
+instead of multicast. By default this flag is off.
+
+.BI group_fwd_mask " MASK "
+- set the group forward mask. This is the bitmask that is applied to
+decide whether to forward incoming frames destined to link-local
+addresses, ie addresses of the form 01:80:C2:00:00:0X (defaults to
+0, ie the bridge does not forward any link-local frames coming on
+this port).
+
+.BR neigh_suppress " { " on " | " off " }"
+- controls whether neigh discovery (arp and nd) proxy and suppression
+is enabled on the port. By default this flag is off.
+
+.BR neigh_vlan_suppress " { " on " | " off " }"
+- controls whether per-VLAN neigh discovery (arp and nd) proxy and suppression
+is enabled on the port. When on, the \fBbridge link\fR option
+\fBneigh_suppress\fR has no effect and the per-VLAN state is set using the
+\fBbridge vlan\fR option \fBneigh_suppress\fR. By default this flag is off.
+
+.BR vlan_tunnel " { " on " | " off " }"
+- controls whether vlan to tunnel mapping is enabled on the port. By
+default this flag is off.
+
+.BR locked " { " on " | " off " }"
+- controls whether a port is locked or not. When locked, non-link-local frames
+received through the port are dropped unless an FDB entry with the MAC source
+address points to the port. The common use case is IEEE 802.1X where hosts can
+authenticate themselves by exchanging EAPOL frames with an authenticator. After
+authentication is complete, the user space control plane can install a matching
+FDB entry to allow traffic from the host to be forwarded by the bridge. When
+learning is enabled on a locked port, the
+.B no_linklocal_learn
+bridge option needs to be on to prevent the bridge from learning from received
+EAPOL frames. By default this flag is off.
+
+.BR mab " { " on " | " off " }"
+- controls whether MAC Authentication Bypass (MAB) is enabled on the port or
+not. MAB can only be enabled on a locked port that has learning enabled. When
+enabled, FDB entries are learned from received traffic and have the "locked"
+FDB flag set. The flag can only be set by the kernel and it indicates that the
+FDB entry cannot be used to authenticate the corresponding host. User space can
+decide to authenticate the host by replacing the FDB entry and clearing the
+"locked" FDB flag. Locked FDB entries can roam to unlocked (authorized) ports
+in which case the "locked" flag is cleared. FDB entries cannot roam to locked
+ports regardless of MAB being enabled or not. Therefore, locked FDB entries are
+only created if an FDB entry with the given {MAC, VID} does not already exist.
+This behavior prevents unauthenticated hosts from disrupting traffic destined
+to already authenticated hosts. Locked FDB entries act like regular dynamic
+entries with respect to forwarding and aging. By default this flag is off.
+
+.BI backup_port " DEVICE"
+- if the port loses carrier all traffic will be redirected to the
+configured backup port
+
+.BR nobackup_port
+- removes the currently configured backup port
+
+.BI backup_nhid " NHID"
+- the FDB nexthop object ID (see \fBip-nexthop\fR(8)) to attach to packets
+being redirected to a backup port that has VLAN tunnel mapping enabled (via the
+\fBvlan_tunnel\fR option). Setting a value of 0 (default) has the effect of not
+attaching any ID.
+
+.in -8
+
+.TP
+Bonding Slave Support
+For a link with master
+.B bond
+the following additional arguments are supported:
+
+.B "ip link set type bond_slave"
+[
+.BI queue_id " ID"
+] [
+.BI prio " PRIORITY"
+]
+
+.in +8
+.sp
+.BI queue_id " ID"
+- set the slave's queue ID (a 16bit unsigned value).
+
+.sp
+.BI prio " PRIORITY"
+- set the slave's priority for active slave re-selection during failover
+(a 32bit signed value). This option only valid for active-backup(1),
+balance-tlb (5) and balance-alb (6) mode.
+
+.in -8
+
+.TP
+MACVLAN and MACVTAP Support
+Modify list of allowed macaddr for link in source mode.
+
+.B "ip link set type { macvlan | macvap } "
+[
+.BI macaddr " " "" COMMAND " " MACADDR " ..."
+]
+
+Commands:
+.in +8
+.B add
+- add MACADDR to allowed list
+.sp
+.B set
+- replace allowed list
+.sp
+.B del
+- remove MACADDR from allowed list
+.sp
+.B flush
+- flush whole allowed list
+.sp
+.in -8
+
+Update the broadcast/multicast queue length.
+
+.B "ip link set type { macvlan | macvap } "
+[
+.BI bcqueuelen " LENGTH "
+]
+[
+.BI bclim " LIMIT "
+]
+
+.in +8
+.BI bcqueuelen " LENGTH "
+- Set the length of the RX queue used to process broadcast and multicast packets.
+.IR LENGTH " must be a positive integer in the range [0-4294967295]."
+Setting a length of 0 will effectively drop all broadcast/multicast traffic.
+If not specified the macvlan driver default (1000) is used.
+Note that all macvlans that share the same underlying device are using the same
+.RB "queue. The parameter here is a " request ", the actual queue length used"
+will be the maximum length that any macvlan interface has requested.
+When listing device parameters both the bcqueuelen parameter
+as well as the actual used bcqueuelen are listed to better help
+the user understand the setting.
+
+.BI bclim " LIMIT "
+- Set the threshold for broadcast queueing.
+.IR LIMIT " must be a 32-bit integer."
+Setting this to -1 disables broadcast queueing altogether. Otherwise
+a multicast address will be queued as broadcast if the number of devices
+using it is greater than the given value.
+.in -8
+
+.TP
+DSA user port support
+For a link having the DSA user port type, the following additional arguments
+are supported:
+
+.B "ip link set type dsa "
+[
+.BI conduit " DEVICE"
+]
+
+.in +8
+.sp
+.BI conduit " DEVICE"
+- change the DSA conduit (host network interface) responsible for handling the
+locally terminated traffic for the given DSA switch user port. For a
+description of which network interfaces are suitable for serving as conduit
+interfaces of this user port, please see
+https://docs.kernel.org/networking/dsa/configuration.html#affinity-of-user-ports-to-cpu-ports
+as well as what is supported by the driver in use.
+
+.sp
+.BI master " DEVICE"
+- this is a synonym for "conduit".
+
+.in -8
+
+.SS ip link show - display device attributes
+
+.TP
+.BI dev " NAME " (default)
+.I NAME
+specifies the network device to show.
+
+.TP
+.BI group " GROUP "
+.I GROUP
+specifies what group of devices to show.
+
+.TP
+.B up
+only display running interfaces.
+
+.TP
+.BI master " DEVICE "
+.I DEVICE
+specifies the master device which enslaves devices to show.
+
+.TP
+.BI vrf " NAME "
+.I NAME
+specifies the VRF which enslaves devices to show.
+
+.TP
+.BI type " TYPE "
+.I TYPE
+specifies the type of devices to show.
+
+Note that the type name is not checked against the list of supported types -
+instead it is sent as-is to the kernel. Later it is used to filter the returned
+interface list by comparing it with the relevant attribute in case the kernel
+didn't filter already. Therefore any string is accepted, but may lead to empty
+output.
+
+.TP
+.B nomaster
+only show devices with no master
+
+.SS ip link xstats - display extended statistics
+
+.TP
+.BI type " TYPE "
+.I TYPE
+specifies the type of devices to display extended statistics for.
+
+.SS ip link afstats - display address-family specific statistics
+
+.TP
+.BI dev " DEVICE "
+.I DEVICE
+specifies the device to display address-family statistics for.
+
+.SS ip link help - display help
+
+.PP
+.I "TYPE"
+specifies which help of link type to display.
+
+.SS
+.I GROUP
+may be a number or a string from
+.BR /usr/share/iproute2/group " or " /etc/iproute2/group
+which can be manually filled and has precedence if exists.
+
+.SH "EXAMPLES"
+.PP
+ip link show
+.RS 4
+Shows the state of all network interfaces on the system.
+.RE
+.PP
+ip link show type bridge
+.RS 4
+Shows the bridge devices.
+.RE
+.PP
+ip link show type vlan
+.RS 4
+Shows the vlan devices.
+.RE
+.PP
+ip link show master br0
+.RS 4
+Shows devices enslaved by br0
+.RE
+.PP
+ip link set dev ppp0 mtu 1400
+.RS 4
+Change the MTU the ppp0 device.
+.RE
+.PP
+ip link add link eth0 name eth0.10 type vlan id 10
+.RS 4
+Creates a new vlan device eth0.10 on device eth0.
+.RE
+.PP
+ip link delete dev eth0.10
+.RS 4
+Removes vlan device.
+.RE
+
+ip link help gre
+.RS 4
+Display help for the gre link type.
+.RE
+.PP
+ip link add name tun1 type ipip remote 192.168.1.1
+local 192.168.1.2 ttl 225 encap gue encap-sport auto
+encap-dport 5555 encap-csum encap-remcsum
+.RS 4
+Creates an IPIP that is encapsulated with Generic UDP Encapsulation,
+and the outer UDP checksum and remote checksum offload are enabled.
+.RE
+.PP
+ip link set dev eth0 xdp obj prog.o
+.RS 4
+Attaches a XDP/BPF program to device eth0, where the program is
+located in prog.o, section "prog" (default section). In case a
+XDP/BPF program is already attached, throw an error.
+.RE
+.PP
+ip -force link set dev eth0 xdp obj prog.o sec foo
+.RS 4
+Attaches a XDP/BPF program to device eth0, where the program is
+located in prog.o, section "foo". In case a XDP/BPF program is
+already attached, it will be overridden by the new one.
+.RE
+.PP
+ip -force link set dev eth0 xdp pinned /sys/fs/bpf/foo
+.RS 4
+Attaches a XDP/BPF program to device eth0, where the program was
+previously pinned as an object node into BPF file system under
+name foo.
+.RE
+.PP
+ip link set dev eth0 xdp off
+.RS 4
+If a XDP/BPF program is attached on device eth0, detach it and
+effectively turn off XDP for device eth0.
+.RE
+.PP
+ip link add link wpan0 lowpan0 type lowpan
+.RS 4
+Creates a 6LoWPAN interface named lowpan0 on the underlying
+IEEE 802.15.4 device wpan0.
+.RE
+.PP
+ip link add dev ip6erspan11 type ip6erspan seq key 102
+local fc00:100::2 remote fc00:100::1
+erspan_ver 2 erspan_dir ingress erspan_hwid 17
+.RS 4
+Creates a IP6ERSPAN version 2 interface named ip6erspan00.
+.RE
+.PP
+ip link set dev swp0 type dsa conduit eth1
+.RS 4
+Changes the conduit interface of the swp0 user port to eth1.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8),
+.BR ip-netns (8),
+.BR ethtool (8),
+.BR iptables (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-macsec.8 b/upstream/fedora-40/man8/ip-macsec.8
new file mode 100644
index 00000000..1a144853
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-macsec.8
@@ -0,0 +1,186 @@
+.TH IP\-MACSEC 8 "07 Mar 2016" "iproute" "Linux"
+.SH NAME
+ip-macsec \- MACsec device configuration
+.SH "SYNOPSIS"
+.BI "ip link add link " DEVICE " name " NAME " type macsec "
+[ [
+.BI address " <lladdr>"
+]
+.BI port " PORT"
+|
+.BI sci " <u64>"
+] [
+.BR cipher " { " default " | " gcm-aes-128 " | " gcm-aes-256 " | " gcm-aes-xpn-128 " | " gcm-aes-xpn-256 " } ] ["
+.BI icvlen " ICVLEN"
+] [
+.BR encrypt " { " on " | " off " } ] ["
+.BR send_sci " { " on " | " off " } ] ["
+.BR end_station " { " on " | " off " } ] ["
+.BR scb " { " on " | " off " } ] ["
+.BR protect " { " on " | " off " } ] ["
+.BR replay " { " on " | " off " } ] ["
+.BI window " WINDOW"
+] [
+.BR validate " { " strict " | " check " | " disabled " } ] ["
+.BI encodingsa " SA"
+] [
+.BR offload " { " off " | " phy " | " mac " }"
+]
+
+.BI "ip macsec add " DEV " tx sa"
+.RI "{ " 0..3 " } [ " OPTS " ]"
+.BI key " ID KEY"
+.br
+.BI "ip macsec set " DEV " tx sa"
+.RI "{ " 0..3 " } [ " OPTS " ]"
+.br
+.BI "ip macsec del " DEV " tx sa"
+.RI "{ " 0..3 " }"
+
+.BI "ip macsec add " DEV " rx " SCI
+.RB [ " on " | " off " ]
+.br
+.BI "ip macsec set " DEV " rx " SCI
+.RB [ " on " | " off " ]
+.br
+.BI "ip macsec del " DEV " rx " SCI
+
+.BI "ip macsec add " DEV " rx " SCI " sa"
+.RI "{ " 0..3 " } [ " OPTS " ]"
+.BI key " ID KEY"
+.br
+.BI "ip macsec set " DEV " rx " SCI " sa"
+.RI "{ " 0..3 " } [ " OPTS " ]"
+.br
+.BI "ip macsec del " DEV " rx " SCI " sa"
+.RI "{ " 0..3 " }"
+
+.BI "ip macsec offload " DEV
+.RB "{ " off " | " phy " | " mac " }"
+
+.B ip macsec show
+.RI [ " DEV " ]
+
+.IR OPTS " := [ "
+.BR pn " { "
+.IR 1..2^32-1 " } |"
+.BR xpn " { "
+.IR 1..2^64-1 " } ] ["
+.B salt
+.IR SALT " ] ["
+.B ssci
+.IR <u32> " ] ["
+.BR on " | " off " ]"
+.br
+.IR SCI " := { "
+.B sci
+.IR <u64> " | "
+.BI port
+.IR PORT
+.BI address " <lladdr> "
+}
+.br
+.IR PORT " := { " 1..2^16-1 " } "
+.br
+.IR SALT " := 96-bit hex string "
+
+
+.SH DESCRIPTION
+The
+.B ip macsec
+commands are used to configure transmit secure associations and receive secure channels and their secure associations on a MACsec device created with the
+.B ip link add
+command using the
+.I macsec
+type.
+
+.SH EXAMPLES
+.PP
+.SS Create a MACsec device on link eth0 (offload is disabled by default)
+.nf
+# ip link add link eth0 macsec0 type macsec port 11 encrypt on
+.PP
+.SS Configure a secure association on that device
+.nf
+# ip macsec add macsec0 tx sa 0 pn 1024 on key 01 81818181818181818181818181818181
+.PP
+.SS Configure a receive channel
+.nf
+# ip macsec add macsec0 rx port 1234 address c6:19:52:8f:e6:a0
+.PP
+.SS Configure a receive association
+.nf
+# ip macsec add macsec0 rx port 1234 address c6:19:52:8f:e6:a0 sa 0 pn 1 on key 00 82828282828282828282828282828282
+.PP
+.SS Display MACsec configuration
+.nf
+# ip macsec show
+.PP
+.SS Configure offloading on an interface
+.nf
+# ip macsec offload macsec0 phy
+.PP
+.SS Configure offloading upon MACsec device creation
+.nf
+# ip link add link eth0 macsec0 type macsec port 11 encrypt on offload mac
+
+.SH EXTENDED PACKET NUMBER EXAMPLES
+.PP
+.SS Create a MACsec device on link eth0 with enabled extended packet number (offload is disabled by default)
+.nf
+# ip link add link eth0 macsec0 type macsec port 11 encrypt on cipher gcm-aes-xpn-128
+.PP
+.SS Configure a secure association on that device
+.nf
+# ip macsec add macsec0 tx sa 0 xpn 1024 on salt 838383838383838383838383 ssci 123 key 01 81818181818181818181818181818181
+.PP
+.SS Configure a receive channel
+.nf
+# ip macsec add macsec0 rx port 11 address c6:19:52:8f:e6:a0
+.PP
+.SS Configure a receive association
+.nf
+# ip macsec add macsec0 rx port 11 address c6:19:52:8f:e6:a0 sa 0 xpn 1 on salt 838383838383838383838383 ssci 123 key 00 82828282828282828282828282828282
+.PP
+.SS Display MACsec configuration
+.nf
+# ip macsec show
+.PP
+
+.SH NOTES
+This tool can be used to configure the 802.1AE keys of the interface. Note that 802.1AE uses GCM-AES
+with a initialization vector (IV) derived from the packet number. The same key must not be used
+with the same IV more than once. Instead, keys must be frequently regenerated and distributed.
+This tool is thus mostly for debugging and testing, or in combination with a user-space application
+that reconfigures the keys. It is wrong to just configure the keys statically and assume them to work
+indefinitely. The suggested and standardized way for key management is 802.1X-2010, which is implemented
+by wpa_supplicant.
+
+.SH EXTENDED PACKET NUMBER NOTES
+Passing cipher
+.B gcm-aes-xpn-128
+or
+.B gcm-aes-xpn-256
+to
+.B ip link add
+command using the
+.I macsec
+type requires using the keyword
+.B 'xpn'
+instead of
+.B 'pn'
+in addition to providing a salt using the
+.B 'salt'
+keyword and ssci using the
+.B 'ssci'
+keyword when using the
+.B ip macsec
+command.
+
+
+.SH SEE ALSO
+.br
+.BR ip-link (8)
+.BR wpa_supplicant (8)
+.SH AUTHOR
+Sabrina Dubroca <sd@queasysnail.net>
diff --git a/upstream/fedora-40/man8/ip-maddress.8 b/upstream/fedora-40/man8/ip-maddress.8
new file mode 100644
index 00000000..f3432bb6
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-maddress.8
@@ -0,0 +1,59 @@
+.TH IP\-MADDRESS 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-maddress \- multicast addresses management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B maddress
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+
+.BR "ip maddress" " [ " add " | " del " ]"
+.IB MULTIADDR " dev " NAME
+
+.ti -8
+.BR "ip maddress show" " [ " dev
+.IR NAME " ]"
+
+.SH DESCRIPTION
+.B maddress
+objects are multicast addresses.
+
+.SS ip maddress show - list multicast addresses
+
+.TP
+.BI dev " NAME " (default)
+the device name.
+
+.TP
+.B ip maddress add - add a multicast address
+.TP
+.B ip maddress delete - delete a multicast address
+.sp
+These commands attach/detach a static link-layer multicast address
+to listen on the interface.
+Note that it is impossible to join protocol multicast groups
+statically. This command only manages link-layer addresses.
+
+.RS
+.TP
+.BI address " LLADDRESS " (default)
+the link-layer multicast address.
+
+.TP
+.BI dev " NAME"
+the device to join/leave this multicast address.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-monitor.8 b/upstream/fedora-40/man8/ip-monitor.8
new file mode 100644
index 00000000..ec033c69
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-monitor.8
@@ -0,0 +1,133 @@
+.TH IP\-MONITOR 8 "13 Dec 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-monitor, rtmon \- state monitoring
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.BR "ip monitor" " [ " all " |"
+.IR OBJECT-LIST " ] ["
+.BI file " FILENAME "
+] [
+.BI label
+] [
+.BI all-nsid
+] [
+.BI dev " DEVICE "
+]
+.sp
+
+.SH OPTIONS
+
+.TP
+.BR "\-t" , " \-timestamp"
+Prints timestamp before the event message on the separated line in format:
+ Timestamp: <Day> <Month> <DD> <hh:mm:ss> <YYYY> <usecs> usec
+ <EVENT>
+
+.TP
+.BR "\-ts" , " \-tshort"
+Prints short timestamp before the event message on the same line in format:
+ [<YYYY>-<MM>-<DD>T<hh:mm:ss>.<ms>] <EVENT>
+
+.SH DESCRIPTION
+The
+.B ip
+utility can monitor the state of devices, addresses
+and routes continuously. This option has a slightly different format.
+Namely, the
+.B monitor
+command is the first in the command line and then the object list follows:
+
+.BR "ip monitor" " [ " all " |"
+.IR OBJECT-LIST " ] ["
+.BI file " FILENAME "
+] [
+.BI label
+] [
+.BI all-nsid
+] [
+.BI dev " DEVICE "
+]
+
+.I OBJECT-LIST
+is the list of object types that we want to monitor.
+It may contain
+.BR link ", " address ", " route ", " mroute ", " prefix ", "
+.BR neigh ", " netconf ", " rule ", " stats ", " nsid " and " nexthop "."
+If no
+.B file
+argument is given,
+.B ip
+opens RTNETLINK, listens on it and dumps state changes in the format
+described in previous sections.
+
+.P
+If the
+.BI label
+option is set, a prefix is displayed before each message to
+show the family of the message. For example:
+.sp
+.in +2
+[NEIGH]10.16.0.112 dev eth0 lladdr 00:04:23:df:2f:d0 REACHABLE
+[LINK]3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default
+ link/ether 52:54:00:12:34:57 brd ff:ff:ff:ff:ff:ff
+.in -2
+.sp
+
+.P
+If the
+.BI all-nsid
+option is set, the program listens to all network namespaces that have a
+nsid assigned into the network namespace were the program is running.
+A prefix is displayed to show the network namespace where the message
+originates. Example:
+.sp
+.in +2
+[nsid 0]10.16.0.112 dev eth0 lladdr 00:04:23:df:2f:d0 REACHABLE
+.in -2
+.sp
+
+.P
+If the
+.BI file
+option is given, the program does not listen on RTNETLINK,
+but opens the given file, and dumps its contents. The file
+should contain RTNETLINK messages saved in binary format.
+Such a file can be generated with the
+.B rtmon
+utility. This utility has a command line syntax similar to
+.BR "ip monitor" .
+Ideally,
+.B rtmon
+should be started before the first network configuration command
+is issued. F.e. if you insert:
+.sp
+.in +8
+rtmon file /var/log/rtmon.log
+.in -8
+.sp
+in a startup script, you will be able to view the full history
+later.
+
+.P
+Nevertheless, it is possible to start
+.B rtmon
+at any time.
+It prepends the history with the state snapshot dumped at the moment
+of starting.
+
+.P
+If the
+.BI dev
+option is given, the program prints only events related to this device.
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
+.br
+Manpage revised by Nicolas Dichtel <nicolas.dichtel@6wind.com>
diff --git a/upstream/fedora-40/man8/ip-mptcp.8 b/upstream/fedora-40/man8/ip-mptcp.8
new file mode 100644
index 00000000..6c708957
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-mptcp.8
@@ -0,0 +1,235 @@
+'\" t
+.TH IP\-MPTCP 8 "4 Apr 2020" "iproute2" "Linux"
+.SH "NAME"
+ip-mptcp \- MPTCP path manager configuration
+.SH "SYNOPSIS"
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B mptcp
+.RB "{ "
+.B endpoint
+.RB " | "
+.B limits
+.RB " | "
+.B help
+.RB " }"
+.sp
+
+.ti -8
+.BR "ip mptcp endpoint add "
+.IR IFADDR
+.RB "[ " port
+.IR PORT " ]"
+.RB "[ " dev
+.IR IFNAME " ]"
+.RB "[ " id
+.I ID
+.RB "] [ "
+.I FLAG-LIST
+.RB "] "
+
+.ti -8
+.BR "ip mptcp endpoint delete id "
+.I ID
+.RB "[ "
+.I IFADDR
+.RB "] "
+
+.ti -8
+.BR "ip mptcp endpoint change "
+.RB "[ " id
+.I ID
+.RB "] [ "
+.IR IFADDR
+.RB "] [ " port
+.IR PORT " ]"
+.RB "CHANGE-OPT"
+
+.ti -8
+.BR "ip mptcp endpoint show "
+.RB "[ " id
+.I ID
+.RB "]"
+
+.ti -8
+.BR "ip mptcp endpoint flush"
+
+.ti -8
+.IR FLAG-LIST " := [ " FLAG-LIST " ] " FLAG
+
+.ti -8
+.IR FLAG " := ["
+.B signal
+.RB "|"
+.B subflow
+.RB "|"
+.B backup
+.RB "|"
+.B fullmesh
+.RB "]"
+
+.ti -8
+.IR CHANGE-OPT " := ["
+.B backup
+.RB "|"
+.B nobackup
+.RB "|"
+.B fullmesh
+.RB "|"
+.B nofullmesh
+.RB "]"
+
+.ti -8
+.BR "ip mptcp limits set "
+.RB "[ "
+.B subflow
+.IR SUBFLOW_NR " ]"
+.RB "[ "
+.B add_addr_accepted
+.IR ADD_ADDR_ACCEPTED_NR " ]"
+
+.ti -8
+.BR "ip mptcp limits show"
+
+.ti -8
+.BR "ip mptcp monitor"
+
+.SH DESCRIPTION
+
+MPTCP is a transport protocol built on top of TCP that allows TCP
+connections to use multiple paths to maximize resource usage and increase
+redundancy. The ip-mptcp sub-commands allow configuring several aspects of the
+MPTCP path manager, which is in charge of subflows creation:
+
+.P
+The
+.B endpoint
+object specifies the IP addresses that will be used and/or announced for
+additional subflows:
+
+.TS
+l l.
+ip mptcp endpoint add add new MPTCP endpoint
+ip mptcp endpoint delete delete existing MPTCP endpoint
+ip mptcp endpoint show get existing MPTCP endpoint
+ip mptcp endpoint flush flush all existing MPTCP endpoints
+.TE
+
+.TP
+.IR IFADDR
+An IPv4 or IPv6 address. When used with the
+.B delete id
+operation, an
+.B IFADDR
+is only included when the
+.B ID
+is 0.
+
+.TP
+.IR PORT
+When a port number is specified, incoming MPTCP subflows for already
+established MPTCP sockets will be accepted on the specified port, regardless
+the original listener port accepting the first MPTCP subflow and/or
+this peer being actually on the client side.
+
+.TP
+.IR ID
+is a unique numeric identifier for the given endpoint
+
+.TP
+.BR signal
+The endpoint will be announced/signaled to each peer via an MPTCP ADD_ADDR
+sub-option. Upon reception of an ADD_ADDR sub-option, the peer can try to
+create additional subflows, see
+.BR ADD_ADDR_ACCEPTED_NR.
+
+.TP
+.BR subflow
+If additional subflow creation is allowed by the MPTCP limits, the MPTCP
+path manager will try to create an additional subflow using this endpoint
+as the source address after the MPTCP connection is established.
+
+.TP
+.BR backup
+If this is a
+.BR subflow
+endpoint, the subflows created using this endpoint will have the backup
+flag set during the connection process. This flag instructs the peer to
+only send data on a given subflow when all non-backup subflows are
+unavailable. This does not affect outgoing data, where subflow priority
+is determined by the backup/non-backup flag received from the peer
+
+.TP
+.BR fullmesh
+If this is a
+.BR subflow
+endpoint and additional subflow creation is allowed by the MPTCP limits,
+the MPTCP path manager will try to create an additional subflow for each
+known peer address, using this endpoint as the source address. This will
+occur after the MPTCP connection is established. If the peer did not
+announce any additional addresses using the MPTCP ADD_ADDR sub-option,
+this will behave the same as a plain
+.BR subflow
+endpoint. When the peer does announce addresses, each received ADD_ADDR
+sub-option will trigger creation of an additional subflow to generate a
+full mesh topology.
+
+.TP
+.BR implicit
+In some scenarios, an MPTCP
+.BR subflow
+can use a local address mapped by a implicit endpoint created by the
+in-kernel path manager. Once set, the implicit flag cannot be removed, but
+other flags can be added to the endpoint. Implicit endpoints cannot be
+created from user-space.
+
+.sp
+.PP
+The
+.B limits
+object specifies the constraints for subflow creations:
+
+.TS
+l l.
+ip mptcp limits show get current MPTCP subflow creation limits
+ip mptcp limits set change the MPTCP subflow creation limits
+.TE
+
+.TP
+.IR SUBFLOW_NR
+specifies the maximum number of additional subflows allowed for each MPTCP
+connection. Additional subflows can be created due to: incoming accepted
+ADD_ADDR sub-option, local
+.BR subflow
+endpoints, additional subflows started by the peer.
+
+.TP
+.IR ADD_ADDR_ACCEPTED_NR
+specifies the maximum number of incoming ADD_ADDR sub-options accepted for
+each MPTCP connection. After receiving the specified number of ADD_ADDR
+sub-options, any other incoming one will be ignored for the MPTCP connection
+lifetime. When an ADD_ADDR sub-option is accepted and there are no local
+.IR fullmesh
+endpoints, the MPTCP path manager will try to create a new subflow using the
+address in the ADD_ADDR sub-option as the destination address and a source
+address determined using local routing resolution
+When
+.IR fullmesh
+endpoints are available, the MPTCP path manager will try to create new subflows
+using each
+.IR fullmesh
+endpoint as a source address and the peer's ADD_ADDR address as the destination.
+In both cases the
+.IR SUBFLOW_NR
+limit is enforced.
+
+.sp
+.PP
+.B monitor
+displays creation and deletion of MPTCP connections as well as addition or removal of remote addresses and subflows.
+
+.SH AUTHOR
+Original Manpage by Paolo Abeni <pabeni@redhat.com>
diff --git a/upstream/fedora-40/man8/ip-mroute.8 b/upstream/fedora-40/man8/ip-mroute.8
new file mode 100644
index 00000000..b64e30d3
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-mroute.8
@@ -0,0 +1,58 @@
+.TH IP\-MROUTE 8 "13 Dec 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-mroute \- multicast routing cache management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.BR "ip mroute show" " [ [ "
+.BR " to " " ] "
+.IR PREFIX " ] [ "
+.B from
+.IR PREFIX " ] [ "
+.B iif
+.IR DEVICE " ] [ "
+.B table
+.IR TABLE_ID " ] "
+
+.SH DESCRIPTION
+.B mroute
+objects are multicast routing cache entries created by a user-level
+mrouting daemon (f.e.
+.B pimd
+or
+.B mrouted
+).
+
+Due to the limitations of the current interface to the multicast routing
+engine, it is impossible to change
+.B mroute
+objects administratively, so we can only display them. This limitation
+will be removed in the future.
+
+.SS ip mroute show - list mroute cache entries
+
+.TP
+.BI to " PREFIX " (default)
+the prefix selecting the destination multicast addresses to list.
+
+.TP
+.BI iif " NAME"
+the interface on which multicast packets are received.
+
+.TP
+.BI from " PREFIX"
+the prefix selecting the IP source addresses of the multicast route.
+
+.TP
+.BI table " TABLE_ID"
+the table id selecting the multicast table. It can be
+.BR local ", " main ", " default ", " all " or a number."
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-neighbour.8 b/upstream/fedora-40/man8/ip-neighbour.8
new file mode 100644
index 00000000..6fed47ce
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-neighbour.8
@@ -0,0 +1,303 @@
+.TH IP\-NEIGHBOUR 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-neighbour \- neighbour/arp tables management.
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B neigh
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BR "ip neigh" " { " add " | " del " | " change " | " replace " } { "
+.IR ADDR " [ "
+.B lladdr
+.IR LLADDR " ] [ "
+.B nud
+.IR STATE " ] |"
+.B proxy
+.IR ADDR " } [ "
+.B dev
+.IR DEV " ] [ "
+.BR router " ] [ "
+.BR use " ] [ "
+.BR managed " ] [ "
+.BR extern_learn " ]"
+
+.ti -8
+.BR "ip neigh" " { " show " | " flush " } [ " proxy " ] [ " to
+.IR PREFIX " ] [ "
+.B dev
+.IR DEV " ] [ "
+.B nud
+.IR STATE " ] [ "
+.B vrf
+.IR NAME " ] ["
+.BR nomaster " ]"
+
+.ti -8
+.B ip neigh get
+.IR ADDR
+.B dev
+.IR DEV
+
+.ti -8
+.IR STATE " := {"
+.BR permanent " | " noarp " | " stale " | " reachable " | " none " |"
+.BR incomplete " | " delay " | " probe " | " failed " }"
+
+.SH DESCRIPTION
+The
+.B ip neigh
+command manipulates
+.I neighbour
+objects that establish bindings between protocol addresses and
+link layer addresses for hosts sharing the same link.
+Neighbour entries are organized into tables. The IPv4 neighbour table
+is also known by another name - the ARP table.
+
+.P
+The corresponding commands display neighbour bindings
+and their properties, add new neighbour entries and delete old ones.
+
+.TP
+ip neighbour add
+add a new neighbour entry
+.TP
+ip neighbour change
+change an existing entry
+.TP
+ip neighbour replace
+add a new entry or change an existing one
+.RS
+.PP
+These commands create new neighbour records or update existing ones.
+
+.TP
+.BI to " ADDRESS " (default)
+the protocol address of the neighbour. It is either an IPv4 or IPv6 address.
+
+.TP
+.BI dev " NAME"
+the interface to which this neighbour is attached.
+
+.TP
+.BI proxy
+indicates whether we are proxying for this neighbour entry
+
+.TP
+.BI router
+indicates whether neighbour is a router
+
+.TP
+.BI use
+this neigh entry is in "use". This option can be used to indicate to
+the kernel that a controller is using this dynamic entry. If the entry
+does not exist, the kernel will resolve it. If it exists, an attempt
+to refresh the neighbor entry will be triggered.
+
+.TP
+.BI managed
+this neigh entry is "managed". This option can be used to indicate to
+the kernel that a controller is using this dynamic entry. In contrast
+to "use", if the entry does not exist, the kernel will resolve it and
+periodically attempt to auto-refresh the neighbor entry such that it
+remains in resolved state when possible.
+
+.TP
+.BI extern_learn
+this neigh entry was learned externally. This option can be used to
+indicate to the kernel that this is a controller learnt dynamic entry.
+Kernel will not gc such an entry.
+
+.TP
+.BI lladdr " LLADDRESS"
+the link layer address of the neighbour.
+.I LLADDRESS
+can also be
+.BR "null" .
+
+.TP
+.BI nud " STATE"
+the state of the neighbour entry.
+.B nud
+is an abbreviation for 'Neighbour Unreachability Detection'.
+The state can take one of the following values:
+
+.RS
+.TP
+.B permanent
+the neighbour entry is valid forever and can be only
+be removed administratively.
+.TP
+.B noarp
+the neighbour entry is valid. No attempts to validate
+this entry will be made but it can be removed when its lifetime expires.
+.TP
+.B reachable
+the neighbour entry is valid until the reachability
+timeout expires.
+.TP
+.B stale
+the neighbour entry is valid but suspicious.
+This option to
+.B ip neigh
+does not change the neighbour state if it was valid and the address
+is not changed by this command.
+.TP
+.B none
+this is a pseudo state used when initially creating a neighbour entry or after
+trying to remove it before it becomes free to do so.
+.TP
+.B incomplete
+the neighbour entry has not (yet) been validated/resolved.
+.TP
+.B delay
+neighbor entry validation is currently delayed.
+.TP
+.B probe
+neighbor is being probed.
+.TP
+.B failed
+max number of probes exceeded without success, neighbor validation has
+ultimately failed.
+.RE
+.RE
+
+.TP
+ip neighbour delete
+delete a neighbour entry
+.RS
+.PP
+The arguments are the same as with
+.BR "ip neigh add" ,
+except that
+.B lladdr
+and
+.B nud
+are ignored.
+
+.PP
+.B Warning:
+Attempts to delete or manually change a
+.B noarp
+entry created by the kernel may result in unpredictable behaviour.
+Particularly, the kernel may try to resolve this address even
+on a
+.B NOARP
+interface or if the address is multicast or broadcast.
+.RE
+
+.TP
+ip neighbour show
+list neighbour entries
+.RS
+.TP
+.BI to " ADDRESS " (default)
+the prefix selecting the neighbours to list.
+
+.TP
+.BI dev " NAME"
+only list the neighbours attached to this device.
+
+.TP
+.BI vrf " NAME"
+only list the neighbours for given VRF.
+
+.TP
+.BI nomaster
+only list neighbours attached to an interface with no master.
+
+.TP
+.BI proxy
+list neighbour proxies.
+
+.TP
+.B unused
+only list neighbours which are not currently in use.
+
+.TP
+.BI nud " STATE"
+only list neighbour entries in this state.
+.I NUD_STATE
+takes values listed below or the special value
+.B all
+which means all states. This option may occur more than once.
+If this option is absent,
+.B ip
+lists all entries except for
+.B none
+and
+.BR "noarp" .
+.RE
+
+.TP
+ip neighbour flush
+flush neighbour entries
+.RS
+This command has the same arguments as
+.B show.
+The differences are that it does not run when no arguments are given,
+and that the default neighbour states to be flushed do not include
+.B permanent
+and
+.BR "noarp" .
+
+.PP
+With the
+.B -statistics
+option, the command becomes verbose. It prints out the number of
+deleted neighbours and the number of rounds made to flush the
+neighbour table. If the option is given
+twice,
+.B ip neigh flush
+also dumps all the deleted neighbours.
+.RE
+
+.TP
+ip neigh get
+lookup a neighbour entry to a destination given a device
+.RS
+
+.TP
+.BI proxy
+indicates whether we should lookup a proxy neighbour entry
+
+.TP
+.BI to " ADDRESS " (default)
+the prefix selecting the neighbour to query.
+
+.TP
+.BI dev " NAME"
+get neighbour entry attached to this device.
+.RE
+
+.SH EXAMPLES
+.PP
+ip neighbour
+.RS
+Shows the current neighbour table in kernel.
+.RE
+.PP
+ip neigh flush dev eth0
+.RS
+Removes entries in the neighbour table on device eth0.
+.RE
+.PP
+ip neigh get 10.0.1.10 dev eth0
+.RS
+Performs a neighbour lookup in the kernel and returns
+a neighbour entry.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-netconf.8 b/upstream/fedora-40/man8/ip-netconf.8
new file mode 100644
index 00000000..7fe3e5f3
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-netconf.8
@@ -0,0 +1,36 @@
+.TH IP\-NETCONF 8 "13 Dec 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-netconf \- network configuration monitoring
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.BR "ip " " [ ip-OPTIONS ] " "netconf show" " [ "
+.B dev
+.IR NAME " ]"
+
+.SH DESCRIPTION
+The
+.B ip netconf
+utility can monitor IPv4 and IPv6 parameters (see
+.BR "/proc/sys/net/ipv[4|6]/conf/[all|DEV]/" ")"
+like forwarding, rp_filter, proxy_neigh, ignore_routes_with_linkdown
+or mc_forwarding status.
+
+If no interface is specified, the entry
+.B all
+is displayed.
+
+.SS ip netconf show - display network parameters
+
+.TP
+.BI dev " NAME"
+the name of the device to display network parameters for.
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Nicolas Dichtel <nicolas.dichtel@6wind.com>
diff --git a/upstream/fedora-40/man8/ip-netns.8 b/upstream/fedora-40/man8/ip-netns.8
new file mode 100644
index 00000000..93c85c71
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-netns.8
@@ -0,0 +1,271 @@
+.TH IP\-NETNS 8 "16 Jan 2013" "iproute2" "Linux"
+.SH NAME
+ip-netns \- process network namespace management
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B netns
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+.BR "ip netns" " [ " list " ]"
+
+.ti -8
+.B ip netns add
+.I NETNSNAME
+
+.ti -8
+.B ip netns attach
+.I NETNSNAME PID
+
+.ti -8
+.B ip [-all] netns del
+.RI "[ " NETNSNAME " ]"
+
+.ti -8
+.B ip netns set
+.I NETNSNAME NETNSID
+
+.ti -8
+.IR NETNSID " := " auto " | " POSITIVE-INT
+
+.ti -8
+.BR "ip netns identify"
+.RI "[ " PID " ]"
+
+.ti -8
+.BR "ip netns pids"
+.I NETNSNAME
+
+.ti -8
+.BR "ip [-all] netns exec "
+.RI "[ " NETNSNAME " ] " command ...
+
+.ti -8
+.BR "ip netns monitor"
+
+.ti -8
+.BR "ip netns list-id"
+.RI "[ target-nsid " POSITIVE-INT " ] [ nsid " POSITIVE-INT " ]"
+
+.SH DESCRIPTION
+A network namespace is logically another copy of the network stack,
+with its own routes, firewall rules, and network devices.
+
+By default a process inherits its network namespace from its parent. Initially all
+the processes share the same default network namespace from the init process.
+
+By convention a named network namespace is an object at
+.BR "/var/run/netns/" NAME
+that can be opened. The file descriptor resulting from opening
+.BR "/var/run/netns/" NAME
+refers to the specified network namespace. Holding that file
+descriptor open keeps the network namespace alive. The file
+descriptor can be used with the
+.B setns(2)
+system call to change the network namespace associated with a task.
+
+For applications that are aware of network namespaces, the convention
+is to look for global network configuration files first in
+.BR "/etc/netns/" NAME "/"
+then in
+.BR "/etc/".
+For example, if you want a different version of
+.BR /etc/resolv.conf
+for a network namespace used to isolate your vpn you would name it
+.BR /etc/netns/myvpn/resolv.conf.
+
+.B ip netns exec
+automates handling of this configuration, file convention for network
+namespace unaware applications, by creating a mount namespace and
+bind mounting all of the per network namespace configure files into
+their traditional location in /etc.
+
+.TP
+.B ip netns list - show all of the named network namespaces
+.sp
+This command displays all of the network namespaces in /var/run/netns
+
+.TP
+.B ip netns add NAME - create a new named network namespace
+.sp
+If NAME is available in /var/run/netns this command creates a new
+network namespace and assigns NAME.
+
+.TP
+.B ip netns attach NAME PID - create a new named network namespace
+.sp
+If NAME is available in /var/run/netns this command attaches the network
+namespace of the process PID to NAME as if it were created with ip netns.
+
+.TP
+.B ip [-all] netns delete [ NAME ] - delete the name of a network namespace(s)
+.sp
+If NAME is present in /var/run/netns it is umounted and the mount
+point is removed. If this is the last user of the network namespace the
+network namespace will be freed and all physical devices will be moved to the
+default one, otherwise the network namespace persists until it has no more
+users. ip netns delete may fail if the mount point is in use in another mount
+namespace.
+
+If
+.B -all
+option was specified then all the network namespace names will be removed.
+
+It is possible to lose the physical device when it was moved to netns and
+then this netns was deleted with a running process:
+
+.RS 10
+$ ip netns add net0
+.RE
+.RS 10
+$ ip link set dev eth0 netns net0
+.RE
+.RS 10
+$ ip netns exec net0 SOME_PROCESS_IN_BACKGROUND
+.RE
+.RS 10
+$ ip netns del net0
+.RE
+
+.RS
+and eth0 will appear in the default netns only after SOME_PROCESS_IN_BACKGROUND
+will exit or will be killed. To prevent this the processes running in net0
+should be killed before deleting the netns:
+
+.RE
+.RS 10
+$ ip netns pids net0 | xargs kill
+.RE
+.RS 10
+$ ip netns del net0
+.RE
+
+.TP
+.B ip netns set NAME NETNSID - assign an id to a peer network namespace
+.sp
+This command assigns a id to a peer network namespace. This id is valid
+only in the current network namespace.
+If the keyword "auto" is specified an available nsid will be chosen.
+This id will be used by the kernel in some netlink messages. If no id is
+assigned when the kernel needs it, it will be automatically assigned by
+the kernel.
+Once it is assigned, it's not possible to change it.
+
+.TP
+.B ip netns identify [PID] - Report network namespaces names for process
+.sp
+This command walks through /var/run/netns and finds all the network
+namespace names for network namespace of the specified process, if PID is
+not specified then the current process will be used.
+
+.TP
+.B ip netns pids NAME - Report processes in the named network namespace
+.sp
+This command walks through proc and finds all of the process who have
+the named network namespace as their primary network namespace.
+
+.TP
+.B ip [-all] netns exec [ NAME ] cmd ... - Run cmd in the named network namespace
+.sp
+This command allows applications that are network namespace unaware
+to be run in something other than the default network namespace with
+all of the configuration for the specified network namespace appearing
+in the customary global locations. A network namespace and bind mounts
+are used to move files from their network namespace specific location
+to their default locations without affecting other processes.
+
+If
+.B -all
+option was specified then
+.B cmd
+will be executed synchronously on the each named network namespace even if
+.B cmd
+fails on some of them. Network namespace name is printed on each
+.B cmd
+executing.
+
+.TP
+.B ip netns monitor - Report as network namespace names are added and deleted
+.sp
+This command watches network namespace name addition and deletion events
+and prints a line for each event it sees.
+
+.TP
+.B ip netns list-id [target-nsid POSITIVE-INT] [nsid POSITIVE-INT] - list network namespace ids (nsid)
+.sp
+Network namespace ids are used to identify a peer network namespace. This
+command displays nsids of the current network namespace and provides the
+corresponding iproute2 netns name (from /var/run/netns) if any.
+
+The
+.B target-nsid
+option enables to display nsids of the specified network namespace instead of the current network
+namespace. This
+.B target-nsid
+is a nsid from the current network namespace.
+
+The
+.B nsid
+option enables to display only this nsid. It is a nsid from the current network namespace. In
+combination with the
+.B target-nsid
+option, it enables to convert a specific nsid from the current network namespace to a nsid of the
+.B target-nsid
+network namespace.
+
+.SH EXAMPLES
+.PP
+ip netns list
+.RS
+Shows the list of current named network namespaces
+.RE
+.PP
+ip netns add vpn
+.RS
+Creates a network namespace and names it vpn
+.RE
+.PP
+ip netns exec vpn ip link set lo up
+.RS
+Bring up the loopback interface in the vpn network namespace.
+.RE
+.PP
+ip netns add foo
+.br
+ip netns add bar
+.br
+ip netns set foo 12
+.br
+ip netns set bar 13
+.br
+ip -n foo netns set foo 22
+.br
+ip -n foo netns set bar 23
+.br
+ip -n bar netns set foo 32
+.br
+ip -n bar netns set bar 33
+.br
+ip netns list-id target-nsid 12
+.RS
+Shows the list of nsids from the network namespace foo.
+.RE
+ip netns list-id target-nsid 12 nsid 13
+.RS
+Get nsid of bar from the network namespace foo (result is 23).
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Eric W. Biederman
+.br
+Manpage revised by Nicolas Dichtel <nicolas.dichtel@6wind.com>
diff --git a/upstream/fedora-40/man8/ip-nexthop.8 b/upstream/fedora-40/man8/ip-nexthop.8
new file mode 100644
index 00000000..f81a5910
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-nexthop.8
@@ -0,0 +1,327 @@
+.TH IP\-NEXTHOP 8 "30 May 2019" "iproute2" "Linux"
+.SH "NAME"
+ip-nexthop \- nexthop object management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " ip-OPTIONS " ]"
+.B nexthop
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+
+.ti -8
+.BR "ip nexthop" " { "
+.BR show " | " flush " } "
+.I SELECTOR
+
+.ti -8
+.BR "ip nexthop" " { " add " | " replace " } id "
+.I ID
+.IR NH
+
+.ti -8
+.BR "ip nexthop" " { " get " | " del " } id "
+.I ID
+
+.ti -8
+.BI "ip nexthop bucket list " BUCKET_SELECTOR
+
+.ti -8
+.BR "ip nexthop bucket get " id
+.I ID
+.RI "index " INDEX
+
+.ti -8
+.IR SELECTOR " := "
+.RB "[ " id
+.IR ID " ] [ "
+.B dev
+.IR DEV " ] [ "
+.B vrf
+.IR NAME " ] [ "
+.B master
+.IR DEV " ] [ "
+.BR groups " ] [ "
+.BR fdb " ]"
+
+.ti -8
+.IR BUCKET_SELECTOR " := "
+.IR SELECTOR
+.RB " | [ " nhid
+.IR ID " ]"
+
+.ti -8
+.IR NH " := { "
+.BR blackhole " | [ "
+.B via
+.IR ADDRESS " ] [ "
+.B dev
+.IR DEV " ] [ "
+.BR onlink " ] [ "
+.B encap
+.IR ENCAP " ] [ "
+.BR fdb " ] | "
+.B group
+.IR GROUP " [ "
+.BR fdb " ] [ "
+.B type
+.IR TYPE " [ " TYPE_ARGS " ] ] }"
+
+.ti -8
+.IR ENCAP " := [ "
+.IR ENCAP_MPLS " ] "
+
+.ti -8
+.IR ENCAP_MPLS " := "
+.BR mpls " [ "
+.IR LABEL " ] ["
+.B ttl
+.IR TTL " ]"
+
+.ti -8
+.IR GROUP " := "
+.BR id "[," weight "[/...]"
+
+.ti -8
+.IR TYPE " := { "
+.BR mpath " | " resilient " }"
+
+.ti -8
+.IR TYPE_ARGS " := [ "
+.IR RESILIENT_ARGS " ] "
+
+.ti -8
+.IR RESILIENT_ARGS " := "
+.RB "[ " buckets
+.IR BUCKETS " ] [ "
+.B idle_timer
+.IR IDLE " ] [ "
+.B unbalanced_timer
+.IR UNBALANCED " ]"
+
+.SH DESCRIPTION
+.B ip nexthop
+is used to manipulate entries in the kernel's nexthop tables.
+.TP
+ip nexthop add id ID
+add new nexthop entry
+.TP
+ip nexthop replace id ID
+change the configuration of a nexthop or add new one
+.RS
+.TP
+.BI via " [ FAMILY ] ADDRESS"
+the address of the nexthop router, in the address family FAMILY.
+Address family must match address family of nexthop instance.
+.TP
+.BI dev " NAME"
+is the output device.
+.TP
+.B onlink
+pretend that the nexthop is directly attached to this link,
+even if it does not match any interface prefix.
+.TP
+.BI encap " ENCAPTYPE ENCAPHDR"
+attach tunnel encapsulation attributes to this route.
+.sp
+.I ENCAPTYPE
+is a string specifying the supported encapsulation type. Namely:
+
+.in +8
+.BI mpls
+- encapsulation type MPLS
+.sp
+.in -8
+.I ENCAPHDR
+is a set of encapsulation attributes specific to the
+.I ENCAPTYPE.
+
+.in +8
+.B mpls
+.in +2
+.I MPLSLABEL
+- mpls label stack with labels separated by
+.I "/"
+.sp
+
+.B ttl
+.I TTL
+- TTL to use for MPLS header or 0 to inherit from IP header
+.in -2
+
+.TP
+.BI group " GROUP [ " type " TYPE [ TYPE_ARGS ] ]"
+create a nexthop group. Group specification is id with an optional
+weight (id,weight) and a '/' as a separator between entries.
+.sp
+.I TYPE
+is a string specifying the nexthop group type. Namely:
+
+.in +8
+.BI mpath
+- Multipath nexthop group backed by the hash-threshold algorithm. The
+default when the type is unspecified.
+.sp
+.BI resilient
+- Resilient nexthop group. Group is resilient to addition and deletion of
+nexthops.
+
+.sp
+.in -8
+.I TYPE_ARGS
+is a set of attributes specific to the
+.I TYPE.
+
+.in +8
+.B resilient
+.in +2
+.B buckets
+.I BUCKETS
+- Number of nexthop buckets. Cannot be changed for an existing group
+.sp
+
+.B idle_timer
+.I IDLE
+- Time in seconds in which a nexthop bucket does not see traffic and is
+therefore considered idle. Default is 120 seconds
+
+.B unbalanced_timer
+.I UNBALANCED
+- Time in seconds in which a nexthop group is unbalanced and is therefore
+considered unbalanced. The kernel will try to rebalance unbalanced groups, which
+might result in some flows being reset. A value of 0 means that no
+rebalancing will take place. Default is 0 seconds
+.in -2
+
+.TP
+.B blackhole
+create a blackhole nexthop
+.TP
+.B fdb
+nexthop and nexthop groups for use with layer-2 fdb entries.
+A fdb nexthop group can only have fdb nexthops.
+Example: Used to represent a vxlan remote vtep ip. layer-2 vxlan
+fdb entry pointing to an ecmp nexthop group containing multiple
+remote vtep ips.
+.RE
+
+.TP
+ip nexthop delete id ID
+delete nexthop with given id.
+
+.TP
+ip nexthop show
+show the contents of the nexthop table or the nexthops
+selected by some criteria.
+.RS
+.TP
+.BI dev " DEV "
+show the nexthops using the given device.
+.TP
+.BI vrf " NAME "
+show the nexthops using devices associated with the vrf name
+.TP
+.BI master " DEV "
+show the nexthops using devices enslaved to given master device
+.TP
+.BI groups
+show only nexthop groups
+.TP
+.BI fdb
+show only fdb nexthops and nexthop groups
+.RE
+.TP
+ip nexthop flush
+flushes nexthops selected by some criteria. Criteria options are the same
+as show.
+
+.TP
+ip nexthop get id ID
+get a single nexthop by id
+
+.TP
+ip nexthop bucket show
+show the contents of the nexthop bucket table or the nexthop buckets
+selected by some criteria.
+.RS
+.TP
+.BI id " ID "
+.in +0
+show the nexthop buckets that belong to a nexthop group with a given id
+.TP
+.BI nhid " ID "
+.in +0
+show the nexthop buckets that hold a nexthop with a given id
+.TP
+.BI dev " DEV "
+.in +0
+show the nexthop buckets using the given device
+.TP
+.BI vrf " NAME "
+.in +0
+show the nexthop buckets using devices associated with the vrf name
+.TP
+.BI master " DEV "
+.in +0
+show the nexthop buckets using devices enslaved to given master device
+.RE
+
+.TP
+ip nexthop bucket get id ID index INDEX
+get a single nexthop bucket by nexthop group id and bucket index
+
+.SH EXAMPLES
+.PP
+ip nexthop ls
+.RS 4
+Show all nexthop entries in the kernel.
+.RE
+.PP
+ip nexthop add id 1 via 192.168.1.1 dev eth0
+.RS 4
+Adds an IPv4 nexthop with id 1 using the gateway 192.168.1.1 out device eth0.
+.RE
+.PP
+ip nexthop add id 2 encap mpls 200/300 via 10.1.1.1 dev eth0
+.RS 4
+Adds an IPv4 nexthop with mpls encapsulation attributes attached to it.
+.RE
+.PP
+ip nexthop add id 3 group 1/2
+.RS 4
+Adds a nexthop with id 3. The nexthop is a group using nexthops with ids
+1 and 2 at equal weight.
+.RE
+.PP
+ip nexthop add id 4 group 1,5/2,11
+.RS 4
+Adds a nexthop with id 4. The nexthop is a group using nexthops with ids
+1 and 2 with nexthop 1 at weight 5 and nexthop 2 at weight 11.
+.RE
+.PP
+ip nexthop add id 5 via 192.168.1.2 fdb
+.RS 4
+Adds a fdb nexthop with id 5.
+.RE
+.PP
+ip nexthop add id 7 group 5/6 fdb
+.RS 4
+Adds a fdb nexthop group with id 7. A fdb nexthop group can only have
+fdb nexthops.
+.RE
+.PP
+ip nexthop add id 10 group 1/2 type resilient buckets 32
+.RS 4
+Add a resilient nexthop group with id 10 and 32 nexthop buckets.
+.RE
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by David Ahern <dsahern@kernel.org>
diff --git a/upstream/fedora-40/man8/ip-ntable.8 b/upstream/fedora-40/man8/ip-ntable.8
new file mode 100644
index 00000000..4f0f2e54
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-ntable.8
@@ -0,0 +1,106 @@
+.TH IP\-NTABLE 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-ntable - neighbour table configuration
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B ntable
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BR "ip ntable change name"
+.IR NAME " [ "
+.B dev
+.IR DEV " ] ["
+.B thresh1
+.IR VAL " ] ["
+.B thresh2
+.IR VAL " ] ["
+.B thresh3
+.IR VAL " ] ["
+.B gc_int
+.IR MSEC " ] ["
+.B base_reachable
+.IR MSEC " ] ["
+.B retrans
+.IR MSEC " ] ["
+.B gc_stale
+.IR MSEC " ] ["
+.B delay_probe
+.IR MSEC " ] ["
+.B queue
+.IR LEN " ] ["
+.B app_probs
+.IR VAL " ] ["
+.B ucast_probes
+.IR VAL " ] ["
+.B mcast_probes
+.IR VAL " ] ["
+.B anycast_delay
+.IR MSEC " ] ["
+.B proxy_delay
+.IR MSEC " ] ["
+.B proxy_queue
+.IR LEN " ] ["
+.B locktime
+.IR MSEC " ]"
+
+.ti -8
+.BR "ip ntable show" " [ "
+.B dev
+.IR DEV " ] [ "
+.B name
+.IR NAME " ]"
+
+.SH DESCRIPTION
+.I ip ntable
+controls the parameters for the neighbour tables.
+
+.SS ip ntable show - list the ip neighbour tables
+
+This commands displays neighbour table parameters and statistics.
+
+.TP
+.BI dev " DEV"
+only list the table attached to this device.
+
+.TP
+.BI name " NAME"
+only lists the table with the given name.
+
+.SS ip ntable change - modify table parameter
+
+This command allows modifying table parameters such as timers and queue lengths.
+.TP
+.BI name " NAME"
+the name of the table to modify.
+
+.TP
+.BI dev " DEV"
+the name of the device to modify the table values.
+
+.SH EXAMPLES
+.PP
+ip ntable show dev eth0
+.RS 4
+Shows the neighbour table (IPv4 ARP and IPv6 ndisc) parameters on device eth0.
+.RE
+.PP
+ip ntable change name arp_cache queue 8 dev eth0
+.RS 4
+Changes the number of packets queued while address is being resolved from the
+default value (3) to 8 packets.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Manpage by Stephen Hemminger
diff --git a/upstream/fedora-40/man8/ip-route.8 b/upstream/fedora-40/man8/ip-route.8
new file mode 100644
index 00000000..8a7553c2
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-route.8
@@ -0,0 +1,1411 @@
+.TH IP\-ROUTE 8 "13 Dec 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-route \- routing table management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " ip-OPTIONS " ]"
+.B route
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+
+.ti -8
+.BR "ip route" " { "
+.BR show " | " flush " } "
+.I SELECTOR
+
+.ti -8
+.BR "ip route save"
+.I SELECTOR
+
+.ti -8
+.BR "ip route restore"
+
+.ti -8
+.B ip route get
+.I ROUTE_GET_FLAGS
+.IR ADDRESS " [ "
+.BI from " ADDRESS " iif " STRING"
+.RB " ] [ " oif
+.IR STRING " ] [ "
+.B mark
+.IR MARK " ] [ "
+.B tos
+.IR TOS " ] [ "
+.B vrf
+.IR NAME " ] [ "
+.B ipproto
+.IR PROTOCOL " ] [ "
+.B sport
+.IR NUMBER " ] [ "
+.B dport
+.IR NUMBER " ] "
+
+.ti -8
+.BR "ip route" " { " add " | " del " | " change " | " append " | "\
+replace " } "
+.I ROUTE
+
+.ti -8
+.IR SELECTOR " := "
+.RB "[ " root
+.IR PREFIX " ] [ "
+.B match
+.IR PREFIX " ] [ "
+.B exact
+.IR PREFIX " ] [ "
+.B table
+.IR TABLE_ID " ] [ "
+.B vrf
+.IR NAME " ] [ "
+.B proto
+.IR RTPROTO " ] [ "
+.B type
+.IR TYPE " ] [ "
+.B scope
+.IR SCOPE " ]"
+
+.ti -8
+.IR ROUTE " := " NODE_SPEC " [ " INFO_SPEC " ]"
+
+.ti -8
+.IR NODE_SPEC " := [ " TYPE " ] " PREFIX " ["
+.B tos
+.IR TOS " ] [ "
+.B table
+.IR TABLE_ID " ] [ "
+.B proto
+.IR RTPROTO " ] [ "
+.B scope
+.IR SCOPE " ] [ "
+.B metric
+.IR METRIC " ] [ "
+.B ttl-propagate
+.RB "{ " enabled " | " disabled " } ]"
+
+.ti -8
+.IR INFO_SPEC " := { " NH " | "
+.B nhid
+.IR ID " } " "OPTIONS FLAGS" " ["
+.B nexthop
+.IR NH " ] ..."
+
+.ti -8
+.IR NH " := [ "
+.B encap
+.IR ENCAP " ] [ "
+.B via
+[
+.IR FAMILY " ] " ADDRESS " ] [ "
+.B dev
+.IR STRING " ] [ "
+.B weight
+.IR NUMBER " ] " NHFLAGS
+
+.ti -8
+.IR FAMILY " := [ "
+.BR inet " | " inet6 " | " mpls " | " bridge " | " link " ]"
+
+.ti -8
+.IR OPTIONS " := " FLAGS " [ "
+.B mtu
+.IR NUMBER " ] [ "
+.B advmss
+.IR NUMBER " ] [ "
+.B as
+[
+.B to
+]
+.IR ADDRESS " ]"
+.B rtt
+.IR TIME " ] [ "
+.B rttvar
+.IR TIME " ] [ "
+.B reordering
+.IR NUMBER " ] [ "
+.B window
+.IR NUMBER " ] [ "
+.B cwnd
+.IR NUMBER " ] [ "
+.B ssthresh
+.IR NUMBER " ] [ "
+.B realms
+.IR REALM " ] [ "
+.B rto_min
+.IR TIME " ] [ "
+.B initcwnd
+.IR NUMBER " ] [ "
+.B initrwnd
+.IR NUMBER " ] [ "
+.B features
+.IR FEATURES " ] [ "
+.B quickack
+.IR BOOL " ] [ "
+.B congctl
+.IR NAME " ] [ "
+.B pref
+.IR PREF " ] [ "
+.B expires
+.IR TIME " ] ["
+.B fastopen_no_cookie
+.IR BOOL " ]"
+
+.ti -8
+.IR TYPE " := [ "
+.BR unicast " | " local " | " broadcast " | " multicast " | "\
+throw " | " unreachable " | " prohibit " | " blackhole " | " nat " ]"
+
+.ti -8
+.IR TABLE_ID " := [ "
+.BR local "| " main " | " default " | " all " |"
+.IR NUMBER " ]"
+
+.ti -8
+.IR SCOPE " := [ "
+.BR host " | " link " | " global " |"
+.IR NUMBER " ]"
+
+.ti -8
+.IR NHFLAGS " := [ "
+.BR onlink " | " pervasive " ]"
+
+.ti -8
+.IR RTPROTO " := [ "
+.BR kernel " | " boot " | " static " |"
+.IR NUMBER " ]"
+
+.ti -8
+.IR FEATURES " := [ "
+.BR ecn " | ]"
+
+.ti -8
+.IR PREF " := [ "
+.BR low " | " medium " | " high " ]"
+
+.ti -8
+.IR ENCAP " := [ "
+.IR ENCAP_MPLS " | " ENCAP_IP " | " ENCAP_BPF " | "
+.IR ENCAP_SEG6 " | " ENCAP_SEG6LOCAL " | " ENCAP_IOAM6 " ] "
+
+.ti -8
+.IR ENCAP_MPLS " := "
+.BR mpls " [ "
+.IR LABEL " ] ["
+.B ttl
+.IR TTL " ]"
+
+.ti -8
+.IR ENCAP_IP " := "
+.B ip
+.B id
+.IR TUNNEL_ID
+.B dst
+.IR REMOTE_IP " [ "
+.B src
+.IR SRC " ] ["
+.B tos
+.IR TOS " ] ["
+.B ttl
+.IR TTL " ]"
+
+.ti -8
+.IR ENCAP_BPF " := "
+.BR bpf " [ "
+.B in
+.IR PROG " ] ["
+.B out
+.IR PROG " ] ["
+.B xmit
+.IR PROG " ] ["
+.B headroom
+.IR SIZE " ]"
+
+.ti -8
+.IR ENCAP_SEG6 " := "
+.B seg6
+.BR mode " [ "
+.BR encap " | " encap.red " | " inline " | " l2encap " | " l2encap.red " ] "
+.B segs
+.IR SEGMENTS " [ "
+.B hmac
+.IR KEYID " ]"
+
+.ti -8
+.IR ENCAP_SEG6LOCAL " := "
+.B seg6local
+.BR action
+.IR SEG6_ACTION " [ "
+.IR SEG6_ACTION_PARAM " ] [ "
+.BR count " ] "
+
+.ti -8
+.IR ENCAP_IOAM6 " := "
+.BR ioam6 " ["
+.B freq
+.IR K "/" N " ] "
+.BR mode " [ "
+.BR inline " | " encap " | " auto " ] ["
+.B tundst
+.IR ADDRESS " ] "
+.B trace
+.B prealloc
+.B type
+.IR IOAM6_TRACE_TYPE
+.B ns
+.IR IOAM6_NAMESPACE
+.B size
+.IR IOAM6_TRACE_SIZE
+
+.ti -8
+.IR ROUTE_GET_FLAGS " := "
+.BR " [ "
+.BR fibmatch
+.BR " ] "
+
+.SH DESCRIPTION
+.B ip route
+is used to manipulate entries in the kernel routing tables.
+.sp
+.B Route types:
+
+.in +8
+.B unicast
+- the route entry describes real paths to the destinations covered
+by the route prefix.
+
+.sp
+.B unreachable
+- these destinations are unreachable. Packets are discarded and the
+ICMP message
+.I host unreachable
+is generated.
+The local senders get an
+.I EHOSTUNREACH
+error.
+
+.sp
+.B blackhole
+- these destinations are unreachable. Packets are discarded silently.
+The local senders get an
+.I EINVAL
+error.
+
+.sp
+.B prohibit
+- these destinations are unreachable. Packets are discarded and the
+ICMP message
+.I communication administratively prohibited
+is generated. The local senders get an
+.I EACCES
+error.
+
+.sp
+.B local
+- the destinations are assigned to this host. The packets are looped
+back and delivered locally.
+
+.sp
+.B broadcast
+- the destinations are broadcast addresses. The packets are sent as
+link broadcasts.
+
+.sp
+.B throw
+- a special control route used together with policy rules. If such a
+route is selected, lookup in this table is terminated pretending that
+no route was found. Without policy routing it is equivalent to the
+absence of the route in the routing table. The packets are dropped
+and the ICMP message
+.I net unreachable
+is generated. The local senders get an
+.I ENETUNREACH
+error.
+
+.sp
+.B nat
+- a special NAT route. Destinations covered by the prefix
+are considered to be dummy (or external) addresses which require translation
+to real (or internal) ones before forwarding. The addresses to translate to
+are selected with the attribute
+.BR "via" .
+.B Warning:
+Route NAT is no longer supported in Linux 2.6.
+
+.sp
+.B anycast
+.RI "- " "not implemented"
+the destinations are
+.I anycast
+addresses assigned to this host. They are mainly equivalent
+to
+.B local
+with one difference: such addresses are invalid when used
+as the source address of any packet.
+
+.sp
+.B multicast
+- a special type used for multicast routing. It is not present in
+normal routing tables.
+.in -8
+
+.P
+.B Route tables:
+Linux-2.x can pack routes into several routing tables identified
+by a number in the range from 1 to 2^32-1 or by name from
+.BR /usr/share/iproute2/rt_tables " or " /etc/iproute2/rt_tables
+(has precedence if exists).
+By default all normal routes are inserted into the
+.B main
+table (ID 254) and the kernel only uses this table when calculating routes.
+Values (0, 253, 254, and 255) are reserved for built-in use.
+
+.sp
+Actually, one other table always exists, which is invisible but
+even more important. It is the
+.B local
+table (ID 255). This table
+consists of routes for local and broadcast addresses. The kernel maintains
+this table automatically and the administrator usually need not modify it
+or even look at it.
+
+The multiple routing tables enter the game when
+.I policy routing
+is used.
+
+.TP
+ip route add
+add new route
+.TP
+ip route change
+change route
+.TP
+ip route replace
+change or add new one
+.RS
+.TP
+.BI to " TYPE PREFIX " (default)
+the destination prefix of the route. If
+.I TYPE
+is omitted,
+.B ip
+assumes type
+.BR "unicast" .
+Other values of
+.I TYPE
+are listed above.
+.I PREFIX
+is an IP or IPv6 address optionally followed by a slash and the
+prefix length. If the length of the prefix is missing,
+.B ip
+assumes a full-length host route. There is also a special
+.I PREFIX
+.B default
+- which is equivalent to IP
+.B 0/0
+or to IPv6
+.BR "::/0" .
+
+.TP
+.BI tos " TOS"
+.TP
+.BI dsfield " TOS"
+the Type Of Service (TOS) key. This key has no associated mask and
+the longest match is understood as: First, compare the TOS
+of the route and of the packet. If they are not equal, then the packet
+may still match a route with a zero TOS.
+.I TOS
+is either an 8 bit hexadecimal number or an identifier
+from
+.BR /usr/share/iproute2/rt_dsfield " or " /etc/iproute2/rt_dsfield
+(has precedence if exists).
+
+.TP
+.BI metric " NUMBER"
+.TP
+.BI preference " NUMBER"
+the preference value of the route.
+.I NUMBER
+is an arbitrary 32bit number, where routes with lower values are preferred.
+
+.TP
+.BI table " TABLEID"
+the table to add this route to.
+.I TABLEID
+may be a number or a string from
+.BR /usr/share/iproute2/rt_tables " or " /etc/iproute2/rt_tables
+(has precedence if exists).
+If this parameter is omitted,
+.B ip
+assumes the
+.B main
+table, with the exception of
+.BR local ", " broadcast " and " nat
+routes, which are put into the
+.B local
+table by default.
+
+.TP
+.BI vrf " NAME"
+the vrf name to add this route to. Implicitly means the table
+associated with the VRF.
+
+.TP
+.BI dev " NAME"
+the output device name.
+
+.TP
+.BI via " [ FAMILY ] ADDRESS"
+the address of the nexthop router, in the address family FAMILY.
+Actually, the sense of this field depends on the route type. For
+normal
+.B unicast
+routes it is either the true next hop router or, if it is a direct
+route installed in BSD compatibility mode, it can be a local address
+of the interface. For NAT routes it is the first address of the block
+of translated IP destinations.
+
+.TP
+.BI src " ADDRESS"
+the source address to prefer when sending to the destinations
+covered by the route prefix.
+
+.TP
+.BI realm " REALMID"
+the realm to which this route is assigned.
+.I REALMID
+may be a number or a string from
+.BR /usr/share/iproute2/rt_realms " or " /etc/iproute2/rt_realms
+(has precedence if exists).
+
+.TP
+.BI mtu " MTU"
+.TP
+.BI "mtu lock" " MTU"
+the MTU along the path to the destination. If the modifier
+.B lock
+is not used, the MTU may be updated by the kernel due to
+Path MTU Discovery. If the modifier
+.B lock
+is used, no path MTU discovery will be tried, all packets
+will be sent without the DF bit in IPv4 case or fragmented
+to MTU for IPv6.
+
+.TP
+.BI window " NUMBER"
+the maximal window for TCP to advertise to these destinations,
+measured in bytes. It limits maximal data bursts that our TCP
+peers are allowed to send to us.
+
+.TP
+.BI rtt " TIME"
+the initial RTT ('Round Trip Time') estimate. If no suffix is
+specified the units are raw values passed directly to the
+routing code to maintain compatibility with previous releases.
+Otherwise if a suffix of s, sec or secs is used to specify
+seconds and ms, msec or msecs to specify milliseconds.
+
+
+.TP
+.BI rttvar " TIME " "(Linux 2.3.15+ only)"
+the initial RTT variance estimate. Values are specified as with
+.BI rtt
+above.
+
+.TP
+.BI rto_min " TIME " "(Linux 2.6.23+ only)"
+the minimum TCP Retransmission TimeOut to use when communicating with this
+destination. Values are specified as with
+.BI rtt
+above.
+
+.TP
+.BI ssthresh " NUMBER " "(Linux 2.3.15+ only)"
+an estimate for the initial slow start threshold.
+
+.TP
+.BI cwnd " NUMBER " "(Linux 2.3.15+ only)"
+the clamp for congestion window. It is ignored if the
+.B lock
+flag is not used.
+
+.TP
+.BI initcwnd " NUMBER " "(Linux 2.5.70+ only)"
+the initial congestion window size for connections to this destination.
+Actual window size is this value multiplied by the MSS
+(``Maximal Segment Size'') for same connection. The default is
+zero, meaning to use the values specified in RFC2414.
+
+.TP
+.BI initrwnd " NUMBER " "(Linux 2.6.33+ only)"
+the initial receive window size for connections to this destination.
+Actual window size is this value multiplied by the MSS of the connection.
+The default value is zero, meaning to use Slow Start value.
+
+.TP
+.BI features " FEATURES " (Linux 3.18+ only)
+Enable or disable per-route features. Only available feature at this
+time is
+.B ecn
+to enable explicit congestion notification when initiating connections to the
+given destination network.
+When responding to a connection request from the given network, ecn will
+also be used even if the
+.B net.ipv4.tcp_ecn
+sysctl is set to 0.
+
+.TP
+.BI quickack " BOOL " "(Linux 3.11+ only)"
+Enable or disable quick ack for connections to this destination.
+
+.TP
+.BI fastopen_no_cookie " BOOL " "(Linux 4.15+ only)"
+Enable TCP Fastopen without a cookie for connections to this destination.
+
+.TP
+.BI congctl " NAME " "(Linux 3.20+ only)"
+.TP
+.BI "congctl lock" " NAME " "(Linux 3.20+ only)"
+Sets a specific TCP congestion control algorithm only for a given destination.
+If not specified, Linux keeps the current global default TCP congestion control
+algorithm, or the one set from the application. If the modifier
+.B lock
+is not used, an application may nevertheless overwrite the suggested congestion
+control algorithm for that destination. If the modifier
+.B lock
+is used, then an application is not allowed to overwrite the specified congestion
+control algorithm for that destination, thus it will be enforced/guaranteed to
+use the proposed algorithm.
+
+.TP
+.BI advmss " NUMBER " "(Linux 2.3.15+ only)"
+the MSS ('Maximal Segment Size') to advertise to these
+destinations when establishing TCP connections. If it is not given,
+Linux uses a default value calculated from the first hop device MTU.
+(If the path to these destination is asymmetric, this guess may be wrong.)
+
+.TP
+.BI reordering " NUMBER " "(Linux 2.3.15+ only)"
+Maximal reordering on the path to this destination.
+If it is not given, Linux uses the value selected with
+.B sysctl
+variable
+.BR "net/ipv4/tcp_reordering" .
+
+.TP
+.BI nexthop " NEXTHOP"
+the nexthop of a multipath route.
+.I NEXTHOP
+is a complex value with its own syntax similar to the top level
+argument lists:
+
+.in +8
+.BI via " [ FAMILY ] ADDRESS"
+- is the nexthop router.
+.sp
+
+.BI dev " NAME"
+- is the output device.
+.sp
+
+.BI weight " NUMBER"
+- is a weight for this element of a multipath
+route reflecting its relative bandwidth or quality.
+.in -8
+
+The internal buffer used in iproute2 limits the maximum number of nexthops that
+may be specified in one go. If only
+.I ADDRESS
+is given, the current buffer size allows for 144 IPv6 nexthops and 253 IPv4
+ones. For IPv4, this effectively limits the number of nexthops possible per
+route. With IPv6, further nexthops may be appended to the same route via
+.B "ip route append"
+command.
+
+.TP
+.BI scope " SCOPE_VAL"
+the scope of the destinations covered by the route prefix.
+.I SCOPE_VAL
+may be a number or a string from
+.BR /usr/share/iproute2/rt_scopes " or " /etc/iproute2/rt_scopes
+(has precedence if exists).
+If this parameter is omitted,
+.B ip
+assumes scope
+.B global
+for all gatewayed
+.B unicast
+routes, scope
+.B link
+for direct
+.BR unicast " and " broadcast
+routes and scope
+.BR host " for " local
+routes.
+
+.TP
+.BI protocol " RTPROTO"
+the routing protocol identifier of this route.
+.I RTPROTO
+may be a number or a string from
+.BR /usr/share/iproute2/rt_protos " or " /etc/iproute2/rt_protos
+(has precedence if exists).
+If the routing protocol ID is not given,
+.B ip assumes protocol
+.B boot
+(i.e. it assumes the route was added by someone who doesn't
+understand what they are doing). Several protocol values have
+a fixed interpretation.
+Namely:
+
+.in +8
+.B redirect
+- the route was installed due to an ICMP redirect.
+.sp
+
+.B kernel
+- the route was installed by the kernel during autoconfiguration.
+.sp
+
+.B boot
+- the route was installed during the bootup sequence.
+If a routing daemon starts, it will purge all of them.
+.sp
+
+.B static
+- the route was installed by the administrator
+to override dynamic routing. Routing daemon will respect them
+and, probably, even advertise them to its peers.
+.sp
+
+.B ra
+- the route was installed by Router Discovery protocol.
+.in -8
+
+.sp
+The rest of the values are not reserved and the administrator is free
+to assign (or not to assign) protocol tags.
+
+.TP
+.B onlink
+pretend that the nexthop is directly attached to this link,
+even if it does not match any interface prefix.
+
+.TP
+.BI pref " PREF"
+the IPv6 route preference.
+.I PREF
+is a string specifying the route preference as defined in RFC4191 for Router
+Discovery messages. Namely:
+
+.in +8
+.B low
+- the route has a lowest priority
+.sp
+
+.B medium
+- the route has a default priority
+.sp
+
+.B high
+- the route has a highest priority
+.sp
+
+.TP
+.BI nhid " ID"
+use nexthop object with given id as nexthop specification.
+.sp
+.TP
+.BI encap " ENCAPTYPE ENCAPHDR"
+attach tunnel encapsulation attributes to this route.
+.sp
+.I ENCAPTYPE
+is a string specifying the supported encapsulation type. Namely:
+
+.in +8
+.BI mpls
+- encapsulation type MPLS
+.sp
+.BI ip
+- IP encapsulation (Geneve, GRE, VXLAN, ...)
+.sp
+.BI bpf
+- Execution of BPF program
+.sp
+.BI seg6
+- encapsulation type IPv6 Segment Routing
+.sp
+.BI seg6local
+- local SRv6 segment processing
+.sp
+.BI ioam6
+- encapsulation type IPv6 IOAM
+.sp
+.BI xfrm
+- encapsulation type XFRM
+
+.in -8
+.I ENCAPHDR
+is a set of encapsulation attributes specific to the
+.I ENCAPTYPE.
+
+.in +8
+.B mpls
+.in +2
+.I MPLSLABEL
+- mpls label stack with labels separated by
+.I "/"
+.sp
+
+.B ttl
+.I TTL
+- TTL to use for MPLS header or 0 to inherit from IP header
+.in -2
+.sp
+
+.B ip
+.in +2
+.B id
+.I TUNNEL_ID
+.B dst
+.IR REMOTE_IP " [ "
+.B src
+.IR SRC " ] ["
+.B tos
+.IR TOS " ] ["
+.B ttl
+.IR TTL " ] [ "
+.BR key " ] [ " csum " ] [ " seq " ] "
+.in -2
+.sp
+
+.B bpf
+.in +2
+.B in
+.I PROG
+- BPF program to execute for incoming packets
+.sp
+
+.B out
+.I PROG
+- BPF program to execute for outgoing packets
+.sp
+
+.B xmit
+.I PROG
+- BPF program to execute for transmitted packets
+.sp
+
+.B headroom
+.I SIZE
+- Size of header BPF program will attach (xmit)
+.in -2
+.sp
+
+.B seg6
+.in +2
+.B mode inline
+- Directly insert Segment Routing Header after IPv6 header
+.sp
+
+.B mode encap
+- Encapsulate packet in an outer IPv6 header with SRH
+.sp
+
+.B mode encap.red
+- Encapsulate packet in an outer IPv6 header with SRH applying the
+reduced segment list. When there is only one segment and the HMAC is
+not present, the SRH is omitted.
+.sp
+
+.B mode l2encap
+- Encapsulate ingress L2 frame within an outer IPv6 header and SRH
+.sp
+
+.B mode l2encap.red
+- Encapsulate ingress L2 frame within an outer IPv6 header and SRH
+applying the reduced segment list. When there is only one segment
+and the HMAC is not present, the SRH is omitted.
+.sp
+
+.I SEGMENTS
+- List of comma-separated IPv6 addresses
+.sp
+
+.I KEYID
+- Numerical value in decimal representation. See \fBip-sr\fR(8).
+.in -2
+.sp
+
+.B seg6local
+.in +2
+.IR SEG6_ACTION " [ "
+.IR SEG6_ACTION_PARAM " ] [ "
+.BR count " ] "
+- Operation to perform on matching packets. The optional \fBcount\fR
+attribute is used to collect statistics on the processing of actions.
+Three counters are implemented: 1) packets correctly processed;
+2) bytes correctly processed; 3) packets that cause a processing error
+(i.e., missing SID List, wrong SID List, etc). To retrieve the counters
+related to an action use the \fB-s\fR flag in the \fBshow\fR command.
+The following actions are currently supported (\fBLinux 4.14+ only\fR).
+.in +2
+
+.BR End " [ " flavors
+.IR FLAVORS " ] "
+- Regular SRv6 processing as intermediate segment endpoint.
+This action only accepts packets with a non-zero Segments Left
+value. Other matching packets are dropped. The presence of flavors
+can change the regular processing of an End behavior according to
+the user-provided Flavor operations and information carried in the packet.
+See \fBFlavors parameters\fR section.
+
+.B End.X nh6
+.I NEXTHOP
+.RB [ " flavors "
+.IR FLAVORS " ] "
+- Regular SRv6 processing as intermediate segment endpoint.
+Additionally, forward processed packets to given next-hop.
+This action only accepts packets with a non-zero Segments Left
+value. Other matching packets are dropped. The presence of flavors
+can change the regular processing of an End.X behavior according to
+the user-provided Flavor operations and information carried in the packet.
+See \fBFlavors parameters\fR section.
+
+
+.B End.DX6 nh6
+.I NEXTHOP
+- Decapsulate inner IPv6 packet and forward it to the
+specified next-hop. If the argument is set to ::, then
+the next-hop is selected according to the local selection
+rules. This action only accepts packets with either a zero Segments
+Left value or no SRH at all, and an inner IPv6 packet. Other
+matching packets are dropped.
+
+.BR End.DT6 " { " table " | " vrftable " } "
+.I TABLEID
+- Decapsulate the inner IPv6 packet and forward it according to the
+specified lookup table.
+.I TABLEID
+is either a number or a string from
+.BR /usr/share/iproute2/rt_tables " or " /etc/iproute2/rt_tables
+(has precedence if exists).
+If
+.B vrftable
+is used, the argument must be a VRF device associated with
+the table id. Moreover, the VRF table associated with the
+table id must be configured with the VRF strict mode turned
+on (net.vrf.strict_mode=1). This action only accepts packets
+with either a zero Segments Left value or no SRH at all,
+and an inner IPv6 packet. Other matching packets are dropped.
+
+.B End.DT4 vrftable
+.I TABLEID
+- Decapsulate the inner IPv4 packet and forward it according to the
+specified lookup table.
+.I TABLEID
+is either a number or a string from
+.BR /usr/share/iproute2/rt_tables " or " /etc/iproute2/rt_tables
+(has precedence if exists).
+The argument must be a VRF device associated with the table id.
+Moreover, the VRF table associated with the table id must be configured
+with the VRF strict mode turned on (net.vrf.strict_mode=1). This action
+only accepts packets with either a zero Segments Left value or no SRH
+at all, and an inner IPv4 packet. Other matching packets are dropped.
+
+.B End.DT46 vrftable
+.I TABLEID
+- Decapsulate the inner IPv4 or IPv6 packet and forward it according
+to the specified lookup table.
+.I TABLEID
+is either a number or a string from
+.BR /usr/share/iproute2/rt_tables " or " /etc/iproute2/rt_tables
+(has precedence if exists).
+The argument must be a VRF device associated with the table id.
+Moreover, the VRF table associated with the table id must be configured
+with the VRF strict mode turned on (net.vrf.strict_mode=1). This action
+only accepts packets with either a zero Segments Left value or no SRH
+at all, and an inner IPv4 or IPv6 packet. Other matching packets are
+dropped.
+
+.B End.B6 srh segs
+.IR SEGMENTS " [ "
+.B hmac
+.IR KEYID " ] "
+- Insert the specified SRH immediately after the IPv6 header,
+update the DA with the first segment of the newly inserted SRH,
+then forward the resulting packet. The original SRH is not
+modified. This action only accepts packets with a non-zero
+Segments Left value. Other matching packets are dropped.
+
+.B End.B6.Encaps srh segs
+.IR SEGMENTS " [ "
+.B hmac
+.IR KEYID " ] "
+- Regular SRv6 processing as intermediate segment endpoint.
+Additionally, encapsulate the matching packet within an outer IPv6 header
+followed by the specified SRH. The destination address of the outer IPv6
+header is set to the first segment of the new SRH. The source
+address is set as described in \fBip-sr\fR(8).
+
+.B Flavors parameters
+
+The flavors represent additional operations that can modify or extend a
+subset of the existing behaviors.
+.in +2
+
+.B flavors
+.IR OPERATION "[," OPERATION "] [" ATTRIBUTES "]"
+.in +2
+
+.IR OPERATION " := { "
+.BR psp " | "
+.BR usp " | "
+.BR usd " | "
+.BR next-csid " }"
+
+.IR ATTRIBUTES " := {"
+.IR "KEY VALUE" " } ["
+.IR ATTRIBUTES " ]"
+
+.IR KEY " := { "
+.BR lblen " | "
+.BR nflen " } "
+.in -2
+
+.B psp
+- The Penultimate Segment Pop (PSP) copies the last SID from the SID List
+(carried by the outermost SRH) into the IPv6 Destination Address (DA) and
+removes (i.e. pops) the SRH from the IPv6 header.
+The PSP operation takes place only at a penultimate SR Segment Endpoint node
+(e.g., the Segment Left must be one) and does not happen at non-penultimate
+endpoint nodes. This flavor is currently only supported by End behavior.
+
+.B usp
+- Ultimate Segment Pop of the SRH (not yet supported in kernel)
+
+.B usd
+- Ultimate Segment Decapsulation (not yet supported in kernel)
+
+.B next-csid
+- The NEXT-C-SID mechanism offers the possibility of encoding
+several SRv6 segments within a single 128 bit SID address. The NEXT-C-SID
+flavor can be configured to support user-provided Locator-Block and
+Locator-Node Function lengths. If Locator-Block and/or Locator-Node Function
+lengths are not provided by the user during configuration of an SRv6 End
+behavior instance with NEXT-C-SID flavor, the default value is 32-bit for
+Locator-Block and 16-bit for Locator-Node Function.
+
+.BI lblen " VALUE "
+- defines the Locator-Block length for NEXT-C-SID flavor.
+The Locator-Block length must be greater than 0 and evenly divisible by 8. This
+attribute can be used only with NEXT-C-SID flavor.
+
+.BI nflen " VALUE "
+- defines the Locator-Node Function length for NEXT-C-SID
+flavors. The Locator-Node Function length must be greater than 0 and evenly
+divisible by 8. This attribute can be used only with NEXT-C-SID flavor.
+.in -4
+
+.B ioam6
+.in +2
+.B freq K/N
+- Inject IOAM in K packets every N packets (default is 1/1).
+
+.B mode inline
+- Directly insert IOAM after IPv6 header (default mode).
+.sp
+
+.B mode encap
+- Encapsulate packet in an outer IPv6 header with IOAM.
+.sp
+
+.B mode auto
+- Automatically use inline mode for local packets and encap mode for in-transit
+packets.
+.sp
+
+.B tundst
+.I ADDRESS
+- IPv6 address of the tunnel destination (outer header), not used with inline
+mode.
+
+.B type
+.I IOAM6_TRACE_TYPE
+- List of IOAM data required in the trace, represented by a bitfield (24 bits).
+.sp
+
+.B ns
+.I IOAM6_NAMESPACE
+- Numerical value to represent an IOAM namespace. See \fBip-ioam\fR(8).
+.sp
+
+.B size
+.I IOAM6_TRACE_SIZE
+- Size, in octets, of the pre-allocated trace data block.
+.in -2
+
+.B xfrm
+.in +2
+.B if_id
+.I IF_ID
+.B " [ link_dev
+.IR LINK_DEV " ] "
+.in -4
+
+.in -8
+
+.TP
+.BI expires " TIME " "(Linux 4.4+ only)"
+the route will be deleted after the expires time.
+.B Only
+support IPv6 at present.
+
+.TP
+.BR ttl-propagate " { " enabled " | " disabled " } "
+Control whether TTL should be propagated from any encap into the
+un-encapsulated packet, overriding any global configuration. Only
+supported for MPLS at present.
+.RE
+
+.TP
+ip route delete
+delete route
+.RS
+.B ip route del
+has the same arguments as
+.BR "ip route add" ,
+but their semantics are a bit different.
+
+Key values
+.RB "(" to ", " tos ", " preference " and " table ")"
+select the route to delete. If optional attributes are present,
+.B ip
+verifies that they coincide with the attributes of the route to delete.
+If no route with the given key and attributes was found,
+.B ip route del
+fails.
+.RE
+
+.TP
+ip route show
+list routes
+.RS
+the command displays the contents of the routing tables or the route(s)
+selected by some criteria.
+
+.TP
+.BI to " SELECTOR " (default)
+only select routes from the given range of destinations.
+.I SELECTOR
+consists of an optional modifier
+.RB "(" root ", " match " or " exact ")"
+and a prefix.
+.BI root " PREFIX"
+selects routes with prefixes not shorter than
+.IR PREFIX "."
+F.e.
+.BI root " 0/0"
+selects the entire routing table.
+.BI match " PREFIX"
+selects routes with prefixes not longer than
+.IR PREFIX "."
+F.e.
+.BI match " 10.0/16"
+selects
+.IR 10.0/16 ","
+.IR 10/8 " and " 0/0 ,
+but it does not select
+.IR 10.1/16 " and " 10.0.0/24 .
+And
+.BI exact " PREFIX"
+(or just
+.IR PREFIX ")"
+selects routes with this exact prefix. If neither of these options
+are present,
+.B ip
+assumes
+.BI root " 0/0"
+i.e. it lists the entire table.
+
+.TP
+.BI tos " TOS"
+.TP
+.BI dsfield " TOS"
+only select routes with the given TOS.
+
+.TP
+.BI table " TABLEID"
+show the routes from this table(s). The default setting is to show table
+.BR main "."
+.I TABLEID
+may either be the ID of a real table or one of the special values:
+.sp
+.in +8
+.B all
+- list all of the tables.
+.sp
+.B cache
+- dump the routing cache.
+.in -8
+
+.TP
+.BI vrf " NAME"
+show the routes for the table associated with the vrf name
+
+.TP
+.B cloned
+.TP
+.B cached
+list cloned routes i.e. routes which were dynamically forked from
+other routes because some route attribute (f.e. MTU) was updated.
+Actually, it is equivalent to
+.BR "table cache" "."
+
+.TP
+.BI from " SELECTOR"
+the same syntax as for
+.BR to ","
+but it binds the source address range rather than destinations.
+Note that the
+.B from
+option only works with cloned routes.
+
+.TP
+.BI protocol " RTPROTO"
+only list routes of this protocol.
+
+.TP
+.BI scope " SCOPE_VAL"
+only list routes with this scope.
+
+.TP
+.BI type " TYPE"
+only list routes of this type.
+
+.TP
+.BI dev " NAME"
+only list routes going via this device.
+
+.TP
+.BI via " [ FAMILY ] PREFIX"
+only list routes going via the nexthop routers selected by
+.IR PREFIX "."
+
+.TP
+.BI src " PREFIX"
+only list routes with preferred source addresses selected
+by
+.IR PREFIX "."
+
+.TP
+.BI realm " REALMID"
+.TP
+.BI realms " FROMREALM/TOREALM"
+only list routes with these realms.
+.RE
+
+.TP
+ip route flush
+flush routing tables
+.RS
+this command flushes routes selected by some criteria.
+
+.sp
+The arguments have the same syntax and semantics as the arguments of
+.BR "ip route show" ,
+but routing tables are not listed but purged. The only difference is
+the default action:
+.B show
+dumps all the IP main routing table but
+.B flush
+prints the helper page.
+
+.sp
+With the
+.B -statistics
+option, the command becomes verbose. It prints out the number of
+deleted routes and the number of rounds made to flush the routing
+table. If the option is given
+twice,
+.B ip route flush
+also dumps all the deleted routes in the format described in the
+previous subsection.
+.RE
+
+.TP
+ip route get
+get a single route
+.RS
+this command gets a single route to a destination and prints its
+contents exactly as the kernel sees it.
+
+.TP
+.BI fibmatch
+Return full fib lookup matched route. Default is to return the resolved
+dst entry
+
+.TP
+.BI to " ADDRESS " (default)
+the destination address.
+
+.TP
+.BI from " ADDRESS"
+the source address.
+
+.TP
+.BI tos " TOS"
+.TP
+.BI dsfield " TOS"
+the Type Of Service.
+
+.TP
+.BI iif " NAME"
+the device from which this packet is expected to arrive.
+
+.TP
+.BI oif " NAME"
+force the output device on which this packet will be routed.
+
+.TP
+.BI mark " MARK"
+the firewall mark
+.RB ( "fwmark" )
+
+.TP
+.BI vrf " NAME"
+force the vrf device on which this packet will be routed.
+
+.TP
+.BI ipproto " PROTOCOL"
+ip protocol as seen by the route lookup
+
+.TP
+.BI sport " NUMBER"
+source port as seen by the route lookup
+
+.TP
+.BI dport " NUMBER"
+destination port as seen by the route lookup
+
+.TP
+.B connected
+if no source address
+.RB "(option " from ")"
+was given, relookup the route with the source set to the preferred
+address received from the first lookup.
+If policy routing is used, it may be a different route.
+
+.P
+Note that this operation is not equivalent to
+.BR "ip route show" .
+.B show
+shows existing routes.
+.B get
+resolves them and creates new clones if necessary. Essentially,
+.B get
+is equivalent to sending a packet along this path.
+If the
+.B iif
+argument is not given, the kernel creates a route
+to output packets towards the requested destination.
+This is equivalent to pinging the destination
+with a subsequent
+.BR "ip route ls cache" ,
+however, no packets are actually sent. With the
+.B iif
+argument, the kernel pretends that a packet arrived from this interface
+and searches for a path to forward the packet.
+.RE
+
+.TP
+ip route save
+save routing table information to stdout
+.RS
+This command behaves like
+.BR "ip route show"
+except that the output is raw data suitable for passing to
+.BR "ip route restore" .
+.RE
+
+.TP
+ip route restore
+restore routing table information from stdin
+.RS
+This command expects to read a data stream as returned from
+.BR "ip route save" .
+It will attempt to restore the routing table information exactly as
+it was at the time of the save, so any translation of information
+in the stream (such as device indexes) must be done first. Any existing
+routes are left unchanged. Any routes specified in the data stream that
+already exist in the table will be ignored.
+.RE
+
+.SH NOTES
+Starting with Linux kernel version 3.6, there is no routing cache for IPv4
+anymore. Hence
+.B "ip route show cached"
+will never print any entries on systems with this or newer kernel versions.
+
+.SH EXAMPLES
+.PP
+ip ro
+.RS 4
+Show all route entries in the kernel.
+.RE
+.PP
+ip route add default via 192.168.1.1 dev eth0
+.RS 4
+Adds a default route (for all addresses) via the local gateway 192.168.1.1 that can
+be reached on device eth0.
+.RE
+.PP
+ip route add 10.1.1.0/30 encap mpls 200/300 via 10.1.1.1 dev eth0
+.RS 4
+Adds an ipv4 route with mpls encapsulation attributes attached to it.
+.RE
+.PP
+ip -6 route add 2001:db8:1::/64 encap seg6 mode encap segs 2001:db8:42::1,2001:db8:ffff::2 dev eth0
+.RS 4
+Adds an IPv6 route with SRv6 encapsulation and two segments attached.
+.RE
+.PP
+ip -6 route add 2001:db8:1::/64 encap seg6local action End.DT46 vrftable 100 dev vrf100
+.RS 4
+Adds an IPv6 route with SRv6 decapsulation and forward with lookup in VRF table.
+.RE
+.PP
+ip -6 route add 2001:db8:1::/64 encap seg6local action End flavors psp dev eth0
+.RS 4
+Adds an IPv6 route with SRv6 End behavior with psp flavor enabled.
+.RE
+.PP
+ip -6 route add 2001:db8:1::/64 encap seg6local action End flavors next-csid dev eth0
+.RS 4
+Adds an IPv6 route with SRv6 End behavior with next-csid flavor enabled.
+.RE
+.PP
+ip -6 route add 2001:db8:1::/64 encap seg6local action End flavors next-csid lblen 48 nflen 16 dev eth0
+.RS 4
+Adds an IPv6 route with SRv6 End behavior with next-csid flavor enabled and user-provided Locator-Block and Locator-Node Function lengths.
+.RE
+.PP
+ip -6 route add 2001:db8:1::/64 encap ioam6 freq 2/5 mode encap tundst 2001:db8:42::1 trace prealloc type 0x800000 ns 1 size 12 dev eth0
+.RS 4
+Adds an IPv6 route with an IOAM Pre-allocated Trace encapsulation (ip6ip6) that only includes the hop limit and the node id, configured for the IOAM namespace 1 and a pre-allocated data block of 12 octets (will be injected in 2 packets every 5 packets).
+.RE
+.PP
+ip route add 10.1.1.0/30 nhid 10
+.RS 4
+Adds an ipv4 route using nexthop object with id 10.
+.RE
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-rule.8 b/upstream/fedora-40/man8/ip-rule.8
new file mode 100644
index 00000000..d10b8b21
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-rule.8
@@ -0,0 +1,358 @@
+.TH IP\-RULE 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-rule \- routing policy database management
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B rule
+.RI "{ " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B ip rule
+.RB "[ " show
+.RI "[ " SELECTOR " ]]"
+
+.ti -8
+.B ip rule
+.RB "{ " add " | " del " }"
+.I SELECTOR ACTION
+
+.ti -8
+.B ip rule
+.RB "{ " flush " | " save " | " restore " }"
+
+.ti -8
+.IR SELECTOR " := [ "
+.BR not " ] ["
+.B from
+.IR PREFIX " ] [ "
+.B to
+.IR PREFIX " ] [ "
+.B tos
+.IR TOS " ] [ "
+.B fwmark
+.IR FWMARK\fR[\fB/\fIMASK "] ] [ "
+.B iif
+.IR STRING " ] [ "
+.B oif
+.IR STRING " ] [ "
+.B priority
+.IR PREFERENCE " ] [ "
+.IR l3mdev " ] [ "
+.B uidrange
+.IR NUMBER "-" NUMBER " ] [ "
+.B ipproto
+.IR PROTOCOL " ] [ "
+.BR sport " [ "
+.IR NUMBER " | "
+.IR NUMBER "-" NUMBER " ] ] [ "
+.BR dport " [ "
+.IR NUMBER " | "
+.IR NUMBER "-" NUMBER " ] ] [ "
+.B tun_id
+.IR TUN_ID " ]"
+.BR
+
+
+.ti -8
+.IR ACTION " := [ "
+.B table
+.IR TABLE_ID " ] [ "
+.B protocol
+.IR PROTO " ] [ "
+.B nat
+.IR ADDRESS " ] [ "
+.B realms
+.RI "[" SRCREALM "\fB/\fR]" DSTREALM " ] ["
+.B goto
+.IR NUMBER " ] " SUPPRESSOR
+
+.ti -8
+.IR SUPPRESSOR " := [ "
+.B suppress_prefixlength
+.IR NUMBER " ] [ "
+.B suppress_ifgroup
+.IR GROUP " ]"
+
+.ti -8
+.IR TABLE_ID " := [ "
+.BR local " | " main " | " default " |"
+.IR NUMBER " ]"
+
+.SH DESCRIPTION
+.I ip rule
+manipulates rules
+in the routing policy database that controls the route selection algorithm.
+
+.P
+Classic routing algorithms used in the Internet make routing decisions
+based only on the destination address of packets (and in theory,
+but not in practice, on the TOS field).
+
+.P
+In some circumstances, we want to route packets differently depending not only
+on destination addresses but also on other packet fields: source address,
+IP protocol, transport protocol ports or even packet payload.
+This task is called 'policy routing'.
+
+.P
+To solve this task, the conventional destination based routing table, ordered
+according to the longest match rule, is replaced with a 'routing policy
+database' (or RPDB), which selects routes by executing some set of rules.
+
+.P
+Each policy routing rule consists of a
+.B selector
+and an
+.B action predicate.
+The RPDB is scanned in order of decreasing priority (note that a lower number
+means higher priority, see the description of
+.I PREFERENCE
+below). The selector
+of each rule is applied to {source address, destination address, incoming
+interface, tos, fwmark} and, if the selector matches the packet,
+the action is performed. The action predicate may return with success.
+In this case, it will either give a route or failure indication
+and the RPDB lookup is terminated. Otherwise, the RPDB program
+continues with the next rule.
+
+.P
+Semantically, the natural action is to select the nexthop and the output device.
+
+.P
+At startup time the kernel configures the default RPDB consisting of three
+rules:
+
+.TP
+1.
+Priority: 0, Selector: match anything, Action: lookup routing
+table
+.B local
+(ID 255).
+The
+.B local
+table is a special routing table containing
+high priority control routes for local and broadcast addresses.
+
+.TP
+2.
+Priority: 32766, Selector: match anything, Action: lookup routing
+table
+.B main
+(ID 254).
+The
+.B main
+table is the normal routing table containing all non-policy
+routes. This rule may be deleted and/or overridden with other
+ones by the administrator.
+
+.TP
+3.
+Priority: 32767, Selector: match anything, Action: lookup routing
+table
+.B default
+(ID 253).
+The
+.B default
+table is empty. It is reserved for some post-processing if no previous
+default rules selected the packet.
+This rule may also be deleted.
+
+.P
+Each RPDB entry has additional
+attributes. F.e. each rule has a pointer to some routing
+table. NAT and masquerading rules have an attribute to select new IP
+address to translate/masquerade. Besides that, rules have some
+optional attributes, which routes have, namely
+.BR "realms" .
+These values do not override those contained in the routing tables. They
+are only used if the route did not select any attributes.
+
+.sp
+The RPDB may contain rules of the following types:
+
+.RS
+.B unicast
+- the rule returns the route found
+in the routing table referenced by the rule.
+
+.B blackhole
+- the rule causes a silent drop the packet.
+
+.B unreachable
+- the rule generates a 'Network is unreachable' error.
+
+.B prohibit
+- the rule generates 'Communication is administratively
+prohibited' error.
+
+.B nat
+- the rule translates the source address
+of the IP packet into some other value.
+.RE
+
+.TP
+.B ip rule add - insert a new rule
+.TP
+.B ip rule delete - delete a rule
+.RS
+.TP
+.BI type " TYPE " (default)
+the type of this rule. The list of valid types was given in the previous
+subsection.
+
+.TP
+.BI from " PREFIX"
+select the source prefix to match.
+
+.TP
+.BI to " PREFIX"
+select the destination prefix to match.
+
+.TP
+.BI iif " NAME"
+select the incoming device to match. If the interface is loopback,
+the rule only matches packets originating from this host. This means
+that you may create separate routing tables for forwarded and local
+packets and, hence, completely segregate them.
+
+.TP
+.BI oif " NAME"
+select the outgoing device to match. The outgoing interface is only
+available for packets originating from local sockets that are bound to
+a device.
+
+.TP
+.BI tos " TOS"
+.TP
+.BI dsfield " TOS"
+select the TOS value to match.
+
+.TP
+.BI fwmark " MARK"
+select the
+.B fwmark
+value to match.
+
+.TP
+.BI uidrange " NUMBER-NUMBER"
+select the
+.B uid
+value to match.
+
+.TP
+.BI ipproto " PROTOCOL"
+select the ip protocol value to match.
+
+.TP
+.BI sport " NUMBER | NUMBER-NUMBER"
+select the source port value to match. supports port range.
+
+.TP
+.BI dport " NUMBER | NUMBER-NUMBER"
+select the destination port value to match. supports port range.
+
+.TP
+.BI priority " PREFERENCE"
+the priority of this rule.
+.I PREFERENCE
+is an unsigned integer value, higher number means lower priority, and rules get
+processed in order of increasing number. Each rule
+should have an explicitly set
+.I unique
+priority value.
+The options preference and order are synonyms with priority.
+
+.TP
+.BI table " TABLEID"
+the routing table identifier to lookup if the rule selector matches.
+It is also possible to use lookup instead of table.
+
+.TP
+.BI protocol " PROTO"
+the routing protocol who installed the rule in question. As an example when zebra installs a rule it would get RTPROT_ZEBRA as the installing protocol.
+
+.TP
+.BI suppress_prefixlength " NUMBER"
+reject routing decisions that have a prefix length of NUMBER or less.
+
+.TP
+.BI suppress_ifgroup " GROUP"
+reject routing decisions that use a device belonging to the interface
+group GROUP.
+
+.TP
+.BI realms " FROM/TO"
+Realms to select if the rule matched and the routing table lookup
+succeeded. Realm
+.I TO
+is only used if the route did not select any realm.
+
+.TP
+.BI nat " ADDRESS"
+The base of the IP address block to translate (for source addresses).
+The
+.I ADDRESS
+may be either the start of the block of NAT addresses (selected by NAT
+routes) or a local host address (or even zero).
+In the last case the router does not translate the packets, but
+masquerades them to this address.
+Using map-to instead of nat means the same thing.
+
+.B Warning:
+Changes to the RPDB made with these commands do not become active
+immediately. It is assumed that after a script finishes a batch of
+updates, it flushes the routing cache with
+.BR "ip route flush cache" .
+.RE
+.TP
+.B ip rule flush - also dumps all the deleted rules.
+.RS
+.TP
+.BI protocol " PROTO"
+Select the originating protocol.
+.RE
+.TP
+.B ip rule show - list rules
+This command has no arguments.
+The options list or lst are synonyms with show.
+
+.TP
+.B ip rule save
+.RS
+.TP
+.BI protocol " PROTO"
+Select the originating protocol.
+.RE
+.TP
+save rules table information to stdout
+.RS
+This command behaves like
+.BR "ip rule show"
+except that the output is raw data suitable for passing to
+.BR "ip rule restore" .
+.RE
+
+.TP
+.B ip rule restore
+restore rules table information from stdin
+.RS
+This command expects to read a data stream as returned from
+.BR "ip rule save" .
+It will attempt to restore the rules table information exactly as
+it was at the time of the save. Any rules already in the table are
+left unchanged, and duplicates are not ignored.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-sr.8 b/upstream/fedora-40/man8/ip-sr.8
new file mode 100644
index 00000000..6be1cc54
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-sr.8
@@ -0,0 +1,58 @@
+.TH IP\-SR 8 "14 Apr 2017" "iproute2" "Linux"
+.SH "NAME"
+ip-sr \- IPv6 Segment Routing management
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip sr
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+.ti -8
+
+.ti -8
+.B ip sr hmac show
+
+.ti -8
+.B ip sr hmac set
+.I KEYID ALGO
+
+.ti -8
+.B ip sr tunsrc show
+
+.ti -8
+.B ip sr tunsrc set
+.I ADDRESS
+
+.SH DESCRIPTION
+The \fBip sr\fR command is used to configure IPv6 Segment Routing (SRv6)
+internal parameters.
+.PP
+Those parameters include the mapping between an HMAC key ID and its associated
+hashing algorithm and secret, and the IPv6 address to use as source for encapsulated
+packets.
+.PP
+The \fBip sr hmac set\fR command prompts for a passphrase that will be used as the
+HMAC secret for the corresponding key ID. A blank passphrase removes the mapping.
+The currently supported algorithms for \fIALGO\fR are \fBsha1\fR and \fBsha256\fR.
+.PP
+If the tunnel source is set to the address :: (which is the default), then an address
+of the egress interface will be selected. As this operation may hinder performances,
+it is recommended to set a non-default address.
+
+.SH EXAMPLES
+.PP
+.SS Configure an HMAC mapping for key ID 42 and hashing algorithm SHA-256
+.nf
+# ip sr hmac set 42 sha256
+.PP
+.SS Set the tunnel source address to 2001:db8::1
+.nf
+# ip sr tunsrc set 2001:db8::1
+.SH SEE ALSO
+.br
+.BR ip-route (8)
+.SH AUTHOR
+David Lebrun <david.lebrun@uclouvain.be>
diff --git a/upstream/fedora-40/man8/ip-stats.8 b/upstream/fedora-40/man8/ip-stats.8
new file mode 100644
index 00000000..26336454
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-stats.8
@@ -0,0 +1,208 @@
+.TH IP\-STATS 8 "16 Mar 2022" "iproute2" "Linux"
+.SH NAME
+ip-stats \- manage and show interface statistics
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.B stats
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BR "ip stats show"
+.RB "[ " dev
+.IR DEV " ] "
+.RB "[ " group
+.IR GROUP " [ "
+.BI subgroup " SUBGROUP"
+.RB " [ " suite
+.IR " SUITE" " ] ... ] ... ] ..."
+
+.ti -8
+.BR "ip stats set"
+.BI dev " DEV"
+.BR l3_stats " { "
+.BR on " | " off " }"
+
+.SH DESCRIPTION
+
+.TP
+.B ip stats set
+is used for toggling whether a certain HW statistics suite is collected on
+a given netdevice. The following statistics suites are supported:
+
+.in 21
+
+.ti 14
+.B l3_stats
+L3 stats reflect traffic that takes place in a HW device on an object that
+corresponds to the given software netdevice.
+
+.TP
+.B ip stats show
+is used for showing stats on a given netdevice, or dumping statistics
+across all netdevices. By default, all stats are requested. It is possible
+to filter which stats are requested by using the
+.B group
+and
+.B subgroup
+keywords.
+
+It is possible to specify several groups, or several subgroups for one
+group. When no subgroups are given for a group, all the subgroups are
+requested.
+
+The following groups are recognized:
+.in 21
+
+.ti 14
+.B group link
+- Link statistics. The same suite that "ip -s link show" shows.
+
+.ti 14
+.B group offload
+- A group that contains a number of HW-oriented statistics. See below for
+individual subgroups within this group.
+
+.ti 14
+.B group xstats
+- Extended statistics. A subgroup identifies the type of netdevice to show the
+statistics for.
+
+.ti 14
+.B group xstats_slave
+- Extended statistics for the slave of a netdevice of a given type. A subgroup
+identifies the type of master netdevice.
+
+.ti 14
+.B group afstats
+- A group for address-family specific netdevice statistics.
+
+.TQ
+.BR "group offload " subgroups:
+.in 21
+
+.ti 14
+.B subgroup cpu_hit
+- The
+.B cpu_hit
+statistics suite is useful on hardware netdevices. The
+.B link
+statistics on these devices reflect both the hardware- and
+software-datapath traffic. The
+.B cpu_hit
+statistics then only reflect software-datapath traffic.
+
+.ti 14
+.B subgroup hw_stats_info
+- This suite does not include traffic statistics, but rather communicates
+the state of other statistics. Through this subgroup, it is possible to
+discover whether a given statistic was enabled, and when it was, whether
+any device driver actually configured its device to collect these
+statistics. For example,
+.B l3_stats
+was enabled in the following case, but no driver has installed it:
+
+# ip stats show dev swp1 group offload subgroup hw_stats_info
+.br
+56: swp1: group offload subgroup hw_stats_info
+.br
+ l3_stats on used off
+
+After an L3 address is added to the netdevice, the counter will be
+installed:
+
+# ip addr add dev swp1 192.0.2.1/28
+.br
+# ip stats show dev swp1 group offload subgroup hw_stats_info
+.br
+56: swp1: group offload subgroup hw_stats_info
+.br
+ l3_stats on used on
+
+.ti 14
+.B subgroup l3_stats
+- These statistics reflect L3 traffic that takes place in HW on an object
+that corresponds to the netdevice. Note that this suite is disabled by
+default and needs to be first enabled through
+.B ip stats set\fR.
+
+For example:
+
+# ip stats show dev swp2.200 group offload subgroup l3_stats
+.br
+112: swp2.200: group offload subgroup l3_stats on used on
+.br
+ RX: bytes packets errors dropped mcast
+.br
+ 8900 72 2 0 3
+.br
+ TX: bytes packets errors dropped
+.br
+ 7176 58 0 0
+
+Note how the l3_stats_info for the selected group is also part of the dump.
+
+.TQ
+.BR "group xstats " and " group xstats_slave " subgroups:
+.in 21
+
+.ti 14
+.B subgroup bridge \fR[\fB suite stp \fR] [\fB suite mcast \fR]
+- Statistics for STP and, respectively, IGMP / MLD (under the keyword
+\fBmcast\fR) traffic on bridges and their slaves.
+
+.ti 14
+.B subgroup bond \fR[\fB suite 802.3ad \fR]
+- Statistics for LACP traffic on bond devices and their slaves.
+
+.TQ
+.BR "group afstats " subgroups:
+.in 21
+
+.ti 14
+.B subgroup mpls
+- Statistics for MPLS traffic seen on the netdevice. For example:
+
+# ip stats show dev veth01 group afstats subgroup mpls
+.br
+3: veth01: group afstats subgroup mpls
+.br
+ RX: bytes packets errors dropped noroute
+.br
+ 0 0 0 0 0
+.br
+ TX: bytes packets errors dropped
+.br
+ 216 2 0 0
+
+.SH EXAMPLES
+.PP
+# ip stats set dev swp1 l3_stats on
+.RS
+Enables collection of L3 HW statistics on swp1.
+.RE
+
+.PP
+# ip stats show group offload
+.RS
+Shows all offload statistics on all netdevices.
+.RE
+
+.PP
+# ip stats show dev swp1 group link
+.RS
+Shows link statistics on the given netdevice.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8),
+.BR ip-link (8),
+
+.SH AUTHOR
+Manpage by Petr Machata.
diff --git a/upstream/fedora-40/man8/ip-tcp_metrics.8 b/upstream/fedora-40/man8/ip-tcp_metrics.8
new file mode 100644
index 00000000..5d2dac8f
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-tcp_metrics.8
@@ -0,0 +1,143 @@
+.TH "IP\-TCP_METRICS" 8 "23 Aug 2012" "iproute2" "Linux"
+.SH "NAME"
+ip-tcp_metrics \- management for TCP Metrics
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B tcp_metrics
+.RI "{ " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BR "ip tcp_metrics" " { " show " | " flush " }
+.IR SELECTOR
+
+.ti -8
+.BR "ip tcp_metrics delete " [ " address " ]
+.IR ADDRESS
+
+.ti -8
+.IR SELECTOR " := "
+.RB "[ [ " address " ] "
+.IR PREFIX " ]"
+
+.SH "DESCRIPTION"
+.B ip tcp_metrics
+is used to manipulate entries in the kernel that keep TCP information
+for IPv4 and IPv6 destinations. The entries are created when
+TCP sockets want to share information for destinations and are
+stored in a cache keyed by the destination address. The saved
+information may include values for metrics (initially obtained from
+routes), recent TSVAL for TIME-WAIT recycling purposes, state for the
+Fast Open feature, etc.
+For performance reasons the cache can not grow above configured limit
+and the older entries are replaced with fresh information, sometimes
+reclaimed and used for new destinations. The kernel never removes
+entries, they can be flushed only with this tool.
+
+.SS ip tcp_metrics show - show cached entries
+
+.TP
+.BI address " PREFIX " (default)
+IPv4/IPv6 prefix or address. If no prefix is provided all entries are shown.
+
+.LP
+The output may contain the following information:
+
+.BI age " <S.MMM>" sec
+- time after the entry was created, reset or updated with metrics
+from sockets. The entry is reset and refreshed on use with metrics from
+route if the metrics are not updated in last hour. Not all cached values
+reset the age on update.
+
+.BI cwnd " <N>"
+- CWND metric value
+
+.BI fo_cookie " <HEX-STRING>"
+- Cookie value received in SYN-ACK to be used by Fast Open for next SYNs
+
+.BI fo_mss " <N>"
+- MSS value received in SYN-ACK to be used by Fast Open for next SYNs
+
+.BI fo_syn_drops " <N>/<S.MMM>" "sec ago"
+- Number of drops of initial outgoing Fast Open SYNs with data
+detected by monitoring the received SYN-ACK after SYN retransmission.
+The seconds show the time after last SYN drop and together with
+the drop count can be used to disable Fast Open for some time.
+
+.BI reordering " <N>"
+- Reordering metric value
+
+.BI rtt " <N>" us
+- RTT metric value
+
+.BI rttvar " <N>" us
+- RTTVAR metric value
+
+.BI ssthresh " <SSTHRESH>"
+- SSTHRESH metric value
+
+.BI tw_ts " <TSVAL>/<SEC>" "sec ago"
+- recent TSVAL and the seconds after saving it into TIME-WAIT socket
+
+.SS ip tcp_metrics delete - delete single entry
+
+.TP
+.BI address " ADDRESS " (default)
+IPv4/IPv6 address. The address is a required argument.
+
+.SS ip tcp_metrics flush - flush entries
+This command flushes the entries selected by some criteria.
+
+.PP
+This command has the same arguments as
+.B show.
+
+.SH "EXAMPLES"
+.PP
+ip tcp_metrics show address 192.168.0.0/24
+.RS 4
+Shows the entries for destinations from subnet
+.RE
+.PP
+ip tcp_metrics show 192.168.0.0/24
+.RS 4
+The same but address keyword is optional
+.RE
+.PP
+ip tcp_metrics
+.RS 4
+Show all is the default action
+.RE
+.PP
+ip tcp_metrics delete 192.168.0.1
+.RS 4
+Removes the entry for 192.168.0.1 from cache.
+.RE
+.PP
+ip tcp_metrics flush 192.168.0.0/24
+.RS 4
+Removes entries for destinations from subnet
+.RE
+.PP
+ip tcp_metrics flush all
+.RS 4
+Removes all entries from cache
+.RE
+.PP
+ip -6 tcp_metrics flush all
+.RS 4
+Removes all IPv6 entries from cache keeping the IPv4 entries.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Julian Anastasov <ja@ssi.bg>
diff --git a/upstream/fedora-40/man8/ip-token.8 b/upstream/fedora-40/man8/ip-token.8
new file mode 100644
index 00000000..6505b8c5
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-token.8
@@ -0,0 +1,75 @@
+.TH IP\-TOKEN 8 "28 Mar 2013" "iproute2" "Linux"
+.SH "NAME"
+ip-token \- tokenized interface identifier support
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip token
+.RI "{ " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B ip token set
+.IR TOKEN
+.B dev
+.IR DEV
+
+.ti -8
+.B ip token del dev
+.IR DEV
+
+.ti -8
+.B ip token get
+.RB "[ " dev
+.IR DEV " ]"
+
+.ti -8
+.BR "ip token" " [ " list " ]"
+
+.SH "DESCRIPTION"
+IPv6 tokenized interface identifier support is used for assigning well-known
+host-part addresses to nodes whilst still obtaining a global network prefix
+from Router advertisements. The primary target for tokenized identifiers are
+server platforms where addresses are usually manually configured, rather than
+using DHCPv6 or SLAAC. By using tokenized identifiers, hosts can still
+determine their network prefix by use of SLAAC, but more readily be
+automatically renumbered should their network prefix change [1]. Tokenized
+IPv6 Identifiers are described in the draft
+[1]: <draft-chown-6man-tokenised-ipv6-identifiers-02>.
+
+.SS ip token set - set an interface token
+set the interface token to the kernel.
+.TP
+.I TOKEN
+the interface identifier token address.
+.TP
+.BI dev " DEV"
+the networking interface.
+
+.SS ip token del - delete an interface token
+delete the interface token from the kernel.
+.TP
+.BI dev " DEV"
+the networking interface.
+
+.SS ip token get - get the interface token from the kernel
+show a tokenized interface identifier of a particular networking device.
+.B Arguments:
+coincide with the arguments of
+.B ip token set
+but the
+.I TOKEN
+must be left out.
+.SS ip token list - list all interface tokens
+list all tokenized interface identifiers for the networking interfaces from
+the kernel.
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Manpage by Daniel Borkmann
diff --git a/upstream/fedora-40/man8/ip-tunnel.8 b/upstream/fedora-40/man8/ip-tunnel.8
new file mode 100644
index 00000000..57e030dd
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-tunnel.8
@@ -0,0 +1,281 @@
+.TH IP\-TUNNEL 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-tunnel - tunnel configuration
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip tunnel help
+.sp
+.ti -8
+.BR "ip "
+.RI "[ " OPTIONS " ]"
+.BR "tunnel" " { " add " | " change " | " del " | " show " | " prl " | " 6rd " }"
+.RI "[ " NAME " ]"
+.br
+.RB "[ " mode
+.IR MODE " ] [ "
+.B remote
+.IR ADDR " ] [ "
+.B local
+.IR ADDR " ]"
+.br
+.RB "[ [" i "|" o "]" seq " ] [ [" i "|" o "]" key
+.IR KEY " ] [ "
+.RB "[" i "|" o "]" csum " ] ]"
+.br
+.RB "[ " encaplimit
+.IR ELIM " ]"
+.RB "[ " ttl "|" hoplimit
+.IR TTL " ]"
+.br
+.RB "[ " tos
+.IR TOS " ] [ "
+.B flowlabel
+.IR FLOWLABEL " ]"
+.br
+.RB "[ " prl-default
+.IR ADDR " ] [ "
+.B prl-nodefault
+.IR ADDR " ] [ "
+.B prl-delete
+.IR ADDR " ]"
+.br
+.RB "[ " 6rd-prefix
+.IR ADDR " ] ["
+.B 6rd-relay_prefix
+.IR ADDR " ] [
+.BR 6rd-reset " ]"
+.br
+.RB "[ [" no "]" pmtudisc " ]"
+.RB "[ [" no "]" ignore-df " ]"
+.RB "[ [" no "]" allow-localremote " ]"
+.br
+.RB "[ " dev
+.IR PHYS_DEV " ]"
+
+.ti -8
+.IR MODE " := "
+.RB " { " ipip " | " gre " | " sit " | " isatap " | " vti " | " ip6ip6 " | " ipip6 " | " ip6gre " | " vti6 " | " any " }"
+
+.ti -8
+.IR ADDR " := { " IP_ADDRESS " |"
+.BR any " }"
+
+.ti -8
+.IR TOS " := { " STRING " | " 00 ".." ff " |"
+.BR inherit " |"
+.BI "inherit/" STRING
+.RB "|"
+.BI "inherit/" 00 ".." ff
+.RB "}"
+
+.ti -8
+.IR ELIM " := {"
+.BR none " | "
+.IR 0 ".." 255 " }"
+
+.ti -8
+.ti -8
+.IR TTL " := { " 1 ".." 255 " | "
+.BR inherit " }"
+
+.ti -8
+.IR KEY " := { " DOTTED_QUAD " | " NUMBER " }"
+
+.SH DESCRIPTION
+.B tunnel
+objects are tunnels, encapsulating packets in IP packets and then
+sending them over the IP infrastructure.
+The encapsulating (or outer) address family is specified by the
+.B -f
+option. The default is IPv4.
+
+.TP
+.B ip tunnel add
+add a new tunnel
+.TP
+.B ip tunnel change
+change an existing tunnel
+.TP
+.B ip tunnel delete
+destroy a tunnel
+.RS
+.TP
+.BI name " NAME " (default)
+select the tunnel device name.
+
+.TP
+.BI mode " MODE"
+set the tunnel mode. Available modes depend on the encapsulating address family.
+.br
+Modes for IPv4 encapsulation available:
+.BR ipip ", " sit ", " isatap ", " vti ", and " gre "."
+.br
+Modes for IPv6 encapsulation available:
+.BR ip6ip6 ", " ipip6 ", " ip6gre ", " vti6 ", and " any "."
+
+.TP
+.BI remote " ADDRESS"
+set the remote endpoint of the tunnel.
+
+.TP
+.BI local " ADDRESS"
+set the fixed local address for tunneled packets.
+It must be an address on another interface of this host.
+
+.TP
+.BI ttl " N"
+.TP
+.BI hoplimit " N"
+set a fixed TTL (IPv4) or hoplimit (IPv6)
+.I N
+on tunneled packets.
+.I N
+is a number in the range 1--255. 0 is a special value
+meaning that packets inherit the TTL value.
+The default value for IPv4 tunnels is:
+.BR "inherit" .
+The default value for IPv6 tunnels is:
+.BR "64" .
+
+
+.TP
+.BI tos " T"
+.TP
+.BI dsfield " T"
+.TP
+.BI tclass " T"
+set the type of service (IPv4) or traffic class (IPv6) field on
+tunneled packets, which can be specified as either a two-digit
+hex value (e.g. c0) or a predefined string (e.g. internet).
+The value
+.B inherit
+causes the field to be copied from the original IP header. The
+values
+.BI "inherit/" STRING
+or
+.BI "inherit/" 00 ".." ff
+will set the field to
+.I STRING
+or
+.IR 00 ".." ff
+when tunneling non-IP packets. The default value is 00.
+
+.TP
+.BI dev " NAME"
+bind the tunnel to the device
+.I NAME
+so that tunneled packets will only be routed via this device and will
+not be able to escape to another device when the route to endpoint
+changes.
+
+.TP
+.B nopmtudisc
+disable Path MTU Discovery on this tunnel.
+It is enabled by default. Note that a fixed ttl is incompatible
+with this option: tunneling with a fixed ttl always makes pmtu
+discovery.
+
+.TP
+.B ignore-df
+enable IPv4 DF suppression on this tunnel.
+Normally datagrams that exceed the MTU will be fragmented; the presence
+of the DF flag inhibits this, resulting instead in an ICMP Unreachable
+(Fragmentation Required) message. Enabling this attribute causes the
+DF flag to be ignored.
+
+.TP
+.BI key " K"
+.TP
+.BI ikey " K"
+.TP
+.BI okey " K"
+.RB ( " only GRE tunnels " )
+use keyed GRE with key
+.IR K ". " K
+is either a number or an IP address-like dotted quad.
+The
+.B key
+parameter sets the key to use in both directions.
+The
+.BR ikey " and " okey
+parameters set different keys for input and output.
+
+.TP
+.BR csum ", " icsum ", " ocsum
+.RB ( " only GRE tunnels " )
+generate/require checksums for tunneled packets.
+The
+.B ocsum
+flag calculates checksums for outgoing packets.
+The
+.B icsum
+flag requires that all input packets have the correct
+checksum. The
+.B csum
+flag is equivalent to the combination
+.BR "icsum ocsum" .
+
+.TP
+.BR seq ", " iseq ", " oseq
+.RB ( " only GRE tunnels " )
+serialize packets.
+The
+.B oseq
+flag enables sequencing of outgoing packets.
+The
+.B iseq
+flag requires that all input packets are serialized.
+The
+.B seq
+flag is equivalent to the combination
+.BR "iseq oseq" .
+.B It doesn't work. Don't use it.
+
+.TP
+.BI encaplimit " ELIM"
+.RB ( " only IPv6 tunnels " )
+set a fixed encapsulation limit. Default is 4.
+
+.TP
+.BI flowlabel " FLOWLABEL"
+.RB ( " only IPv6 tunnels " )
+set a fixed flowlabel.
+
+.TP
+.BI allow-localremote
+.RB ( " only IPv6 tunnels " )
+allow remote endpoint on the local host.
+.RE
+
+.TP
+.B ip tunnel prl
+potential router list (ISATAP only)
+.RS
+.TP
+.BI dev " NAME"
+mandatory device name.
+
+.TP
+.BI prl-default " ADDR"
+.TP
+.BI prl-nodefault " ADDR"
+.TP
+.BI prl-delete " ADDR"
+.RB "Add or delete " ADDR
+as a potential router or default router.
+.RE
+
+.TP
+.B ip tunnel show
+list tunnels
+This command has no arguments.
+
+.SH SEE ALSO
+.br
+.BR ip (8)
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ip-vrf.8 b/upstream/fedora-40/man8/ip-vrf.8
new file mode 100644
index 00000000..946e8f8a
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-vrf.8
@@ -0,0 +1,139 @@
+.TH IP\-VRF 8 "7 Dec 2016" "iproute2" "Linux"
+.SH NAME
+ip-vrf \- run a command against a vrf
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.B vrf
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.BR "ip vrf show"
+.RI "[ " NAME " ]"
+
+.ti -8
+.BR "ip vrf identify"
+.RI "[ " PID " ]"
+
+.ti -8
+.BR "ip vrf pids"
+.I NAME
+
+.ti -8
+.BR "ip vrf exec "
+.RI "[ " NAME " ] " command ...
+
+.SH DESCRIPTION
+A VRF provides traffic isolation at layer 3 for routing, similar to how a
+VLAN is used to isolate traffic at layer 2. Fundamentally, a VRF is a separate
+routing table. Network devices are associated with a VRF by enslaving the
+device to the VRF. At that point network addresses assigned to the device are
+local to the VRF with host and connected routes moved to the table associated
+with the VRF.
+
+A process can specify a VRF using several APIs -- binding the socket to the
+VRF device using SO_BINDTODEVICE, setting the VRF association using
+IP_UNICAST_IF or IPV6_UNICAST_IF, or specifying the VRF for a specific message
+using IP_PKTINFO or IPV6_PKTINFO.
+
+By default a process is not bound to any VRF. An association can be set
+explicitly by making the program use one of the APIs mentioned above or
+implicitly using a helper to set SO_BINDTODEVICE for all IPv4 and IPv6
+sockets (AF_INET and AF_INET6) when the socket is created. This ip-vrf command
+is a helper to run a command against a specific VRF with the VRF association
+inherited parent to child.
+
+.TP
+.B ip vrf show [ NAME ] - Show all configured VRF
+.sp
+This command lists all VRF and their corresponding table ids. If NAME is
+given, then only that VRF and table id is shown. The latter command is
+useful for scripting where the table id for a VRF is needed.
+
+.TP
+.B ip vrf exec [ NAME ] cmd ... - Run cmd against the named VRF
+.sp
+This command allows applications that are VRF unaware to be run against
+a VRF other than the default VRF (main table). A command can be run against
+the default VRF by passing the "default" as the VRF name. This is useful if
+the current shell is associated with another VRF (e.g, Management VRF).
+
+This command requires the system to be booted with cgroup v2 (e.g. with systemd,
+add systemd.unified_cgroup_hierarchy=1 to the kernel command line).
+
+This command also requires to be run as root. Alternatively it
+can be run by an unprivileged user if the following
+.BR capabilities (7)
+are given:
+
+.RS
+.IP \fBCAP_BPF\fP
+To load the BPF program.
+.IP \fBCAP_NET_ADMIN\fP
+To set the socket into the cgroup.
+.IP \fBCAP_DAC_OVERRIDE\fP
+To create the cgroup subdir in /sys.
+.RE
+
+.IP
+If these capabilities are added and if
+.BR ip (8)
+is built with
+.BR libcap (3)
+then these capabilities will be dropped before
+.BR cmd
+is executed by
+.B ip vrf exec.
+For every other unprivileged invocation of
+.BR ip (8)
+all capabilities will be dropped.
+
+.br
+.B NOTE:
+capabilities will
+.B NOT
+be dropped if
+.B CAP_NET_ADMIN
+is set to
+.B INHERITABLE
+to avoid breaking programs with ambient capabilities that call ip.
+
+.TP
+.B ip vrf identify [PID] - Report VRF association for process
+.sp
+This command shows the VRF association of the specified process. If PID is
+not specified then the id of the current process is used.
+
+.TP
+.B ip vrf pids NAME - Report processes associated with the named VRF
+.sp
+This command shows all process ids that are associated with the given
+VRF.
+
+.SH CAVEATS
+This command requires a kernel compiled with CGROUPS and CGROUP_BPF enabled.
+
+The VRF helper *only* affects network layer sockets.
+
+.SH EXAMPLES
+.PP
+ip vrf exec red ssh 10.100.1.254
+.RS
+Executes ssh to 10.100.1.254 against the VRF red table.
+.RE
+
+.SH SEE ALSO
+.br
+.BR ip (8),
+.BR ip-link (8),
+.BR ip-address (8),
+.BR ip-route (8),
+.BR ip-neighbor (8)
+
+.SH AUTHOR
+Original Manpage by David Ahern
diff --git a/upstream/fedora-40/man8/ip-xfrm.8 b/upstream/fedora-40/man8/ip-xfrm.8
new file mode 100644
index 00000000..6dc73d23
--- /dev/null
+++ b/upstream/fedora-40/man8/ip-xfrm.8
@@ -0,0 +1,775 @@
+'\" t
+.TH IP\-XFRM 8 "20 Dec 2011" "iproute2" "Linux"
+.SH "NAME"
+ip-xfrm \- transform configuration
+.SH "SYNOPSIS"
+.sp
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ]"
+.B xfrm
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B "ip xfrm"
+.IR XFRM-OBJECT " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR XFRM-OBJECT " :="
+.BR state " | " policy " | " monitor
+.sp
+
+.ti -8
+.BR "ip xfrm state" " { " add " | " update " } "
+.IR ID " [ " ALGO-LIST " ]"
+.RB "[ " mode
+.IR MODE " ]"
+.RB "[ " mark
+.I MARK
+.RB "[ " mask
+.IR MASK " ] ]"
+.RB "[ " reqid
+.IR REQID " ]"
+.RB "[ " seq
+.IR SEQ " ]"
+.RB "[ " replay-window
+.IR SIZE " ]"
+.RB "[ " replay-seq
+.IR SEQ " ]"
+.RB "[ " replay-oseq
+.IR SEQ " ]"
+.RB "[ " replay-seq-hi
+.IR SEQ " ]"
+.RB "[ " replay-oseq-hi
+.IR SEQ " ]"
+.RB "[ " flag
+.IR FLAG-LIST " ]"
+.RB "[ " sel
+.IR SELECTOR " ] [ " LIMIT-LIST " ]"
+.RB "[ " encap
+.IR ENCAP " ]"
+.RB "[ " coa
+.IR ADDR "[/" PLEN "] ]"
+.RB "[ " ctx
+.IR CTX " ]"
+.RB "[ " extra-flag
+.IR EXTRA-FLAG-LIST " ]"
+.RB "[ " output-mark
+.IR OUTPUT-MARK
+.RB "[ " mask
+.IR MASK " ] ]"
+.RB "[ " if_id
+.IR IF-ID " ]"
+.RB "[ " offload
+.RB "[ " crypto | packet " ]"
+.RB dev
+.IR DEV "
+.RB dir
+.IR DIR " ]"
+.RB "[ " tfcpad
+.IR LENGTH " ]"
+
+.ti -8
+.B "ip xfrm state allocspi"
+.I ID
+.RB "[ " mode
+.IR MODE " ]"
+.RB "[ " mark
+.I MARK
+.RB "[ " mask
+.IR MASK " ] ]"
+.RB "[ " reqid
+.IR REQID " ]"
+.RB "[ " seq
+.IR SEQ " ]"
+.RB "[ " min
+.I SPI
+.B max
+.IR SPI " ]"
+
+.ti -8
+.BR "ip xfrm state" " { " delete " | " get " } "
+.I ID
+.RB "[ " mark
+.I MARK
+.RB "[ " mask
+.IR MASK " ] ]"
+
+.ti -8
+.BR ip " [ " -4 " | " -6 " ] " "xfrm state deleteall" " ["
+.IR ID " ]"
+.RB "[ " mode
+.IR MODE " ]"
+.RB "[ " reqid
+.IR REQID " ]"
+.RB "[ " flag
+.IR FLAG-LIST " ]"
+
+.ti -8
+.BR ip " [ " -4 " | " -6 " ] " "xfrm state list" " ["
+.IR ID " ]"
+.RB "[ " nokeys " ]"
+.RB "[ " mode
+.IR MODE " ]"
+.RB "[ " reqid
+.IR REQID " ]"
+.RB "[ " flag
+.IR FLAG-LIST " ]"
+
+.ti -8
+.BR "ip xfrm state flush" " [ " proto
+.IR XFRM-PROTO " ]"
+
+.ti -8
+.BR "ip xfrm state count"
+
+.ti -8
+.IR ID " :="
+.RB "[ " src
+.IR ADDR " ]"
+.RB "[ " dst
+.IR ADDR " ]"
+.RB "[ " proto
+.IR XFRM-PROTO " ]"
+.RB "[ " spi
+.IR SPI " ]"
+
+.ti -8
+.IR XFRM-PROTO " :="
+.BR esp " | " ah " | " comp " | " route2 " | " hao
+
+.ti -8
+.IR ALGO-LIST " := [ " ALGO-LIST " ] " ALGO
+
+.ti -8
+.IR ALGO " :="
+.RB "{ " enc " | " auth " } "
+.IR ALGO-NAME " " ALGO-KEYMAT " |"
+.br
+.B auth-trunc
+.IR ALGO-NAME " " ALGO-KEYMAT " " ALGO-TRUNC-LEN " |"
+.br
+.B aead
+.IR ALGO-NAME " " ALGO-KEYMAT " " ALGO-ICV-LEN " |"
+.br
+.B comp
+.IR ALGO-NAME
+
+.ti -8
+.IR MODE " := "
+.BR transport " | " tunnel " | " beet " | " ro " | " in_trigger
+
+.ti -8
+.IR FLAG-LIST " := [ " FLAG-LIST " ] " FLAG
+
+.ti -8
+.IR FLAG " :="
+.BR noecn " | " decap-dscp " | " nopmtudisc " | " wildrecv " | " icmp " | "
+.BR af-unspec " | " align4 " | " esn
+
+.ti -8
+.IR SELECTOR " :="
+.RB "[ " src
+.IR ADDR "[/" PLEN "] ]"
+.RB "[ " dst
+.IR ADDR "[/" PLEN "] ]"
+.RB "[ " dev
+.IR DEV " ]"
+.br
+.RI "[ " UPSPEC " ]"
+
+.ti -8
+.IR UPSPEC " := "
+.BR proto " {"
+.IR PROTO " |"
+.br
+.RB "{ " tcp " | " udp " | " sctp " | " dccp " } [ " sport
+.IR PORT " ]"
+.RB "[ " dport
+.IR PORT " ] |"
+.br
+.RB "{ " icmp " | " ipv6-icmp " | " mobility-header " } [ " type
+.IR NUMBER " ]"
+.RB "[ " code
+.IR NUMBER " ] |"
+.br
+.BR gre " [ " key
+.RI "{ " DOTTED-QUAD " | " NUMBER " } ] }"
+
+.ti -8
+.IR LIMIT-LIST " := [ " LIMIT-LIST " ]"
+.B limit
+.I LIMIT
+
+.ti -8
+.IR LIMIT " :="
+.RB "{ " time-soft " | " time-hard " | " time-use-soft " | " time-use-hard " }"
+.IR "SECONDS" " |"
+.br
+.RB "{ " byte-soft " | " byte-hard " }"
+.IR SIZE " |"
+.br
+.RB "{ " packet-soft " | " packet-hard " }"
+.I COUNT
+
+.ti -8
+.IR ENCAP " :="
+.RB "{ " espinudp " | " espinudp-nonike " | " espintcp " }"
+.IR SPORT " " DPORT " " OADDR
+
+.ti -8
+.IR EXTRA-FLAG-LIST " := [ " EXTRA-FLAG-LIST " ] " EXTRA-FLAG
+
+.ti -8
+.IR EXTRA-FLAG " := "
+.BR dont-encap-dscp " | " oseq-may-wrap
+
+.ti -8
+.BR "ip xfrm policy" " { " add " | " update " }"
+.I SELECTOR
+.B dir
+.I DIR
+.RB "[ " ctx
+.IR CTX " ]"
+.RB "[ " mark
+.I MARK
+.RB "[ " mask
+.IR MASK " ] ]"
+.RB "[ " index
+.IR INDEX " ]"
+.RB "[ " ptype
+.IR PTYPE " ]"
+.RB "[ " action
+.IR ACTION " ]"
+.RB "[ " priority
+.IR PRIORITY " ]"
+.RB "[ " flag
+.IR FLAG-LIST " ]"
+.RB "[ " if_id
+.IR IF-ID " ]"
+.RB "[ " offload
+.RB packet
+.RB dev
+.IR DEV " ]"
+.RI "[ " LIMIT-LIST " ] [ " TMPL-LIST " ]"
+
+.ti -8
+.BR "ip xfrm policy" " { " delete " | " get " }"
+.RI "{ " SELECTOR " | "
+.B index
+.IR INDEX " }"
+.B dir
+.I DIR
+.RB "[ " ctx
+.IR CTX " ]"
+.RB "[ " mark
+.I MARK
+.RB "[ " mask
+.IR MASK " ] ]"
+.RB "[ " ptype
+.IR PTYPE " ]"
+.RB "[ " if_id
+.IR IF-ID " ]"
+
+.ti -8
+.BR ip " [ " -4 " | " -6 " ] " "xfrm policy" " { " deleteall " | " list " }"
+.RB "[ " nosock " ]"
+.RI "[ " SELECTOR " ]"
+.RB "[ " dir
+.IR DIR " ]"
+.RB "[ " index
+.IR INDEX " ]"
+.RB "[ " ptype
+.IR PTYPE " ]"
+.RB "[ " action
+.IR ACTION " ]"
+.RB "[ " priority
+.IR PRIORITY " ]"
+.RB "[ " flag
+.IR FLAG-LIST "]"
+
+.ti -8
+.B "ip xfrm policy flush"
+.RB "[ " ptype
+.IR PTYPE " ]"
+
+.ti -8
+.B "ip xfrm policy count"
+
+.ti -8
+.B "ip xfrm policy set"
+.RB "[ " hthresh4
+.IR LBITS " " RBITS " ]"
+.RB "[ " hthresh6
+.IR LBITS " " RBITS " ]"
+
+.ti -8
+.B "ip xfrm policy setdefault"
+.IR DIR
+.IR ACTION " [ "
+.IR DIR
+.IR ACTION " ] [ "
+.IR DIR
+.IR ACTION " ]"
+
+.ti -8
+.B "ip xfrm policy getdefault"
+
+.ti -8
+.IR SELECTOR " :="
+.RB "[ " src
+.IR ADDR "[/" PLEN "] ]"
+.RB "[ " dst
+.IR ADDR "[/" PLEN "] ]"
+.RB "[ " dev
+.IR DEV " ]"
+.RI "[ " UPSPEC " ]"
+
+.ti -8
+.IR UPSPEC " := "
+.BR proto " {"
+.IR PROTO " |"
+.br
+.RB "{ " tcp " | " udp " | " sctp " | " dccp " } [ " sport
+.IR PORT " ]"
+.RB "[ " dport
+.IR PORT " ] |"
+.br
+.RB "{ " icmp " | " ipv6-icmp " | " mobility-header " } [ " type
+.IR NUMBER " ]"
+.RB "[ " code
+.IR NUMBER " ] |"
+.br
+.BR gre " [ " key
+.RI "{ " DOTTED-QUAD " | " NUMBER " } ] }"
+
+.ti -8
+.IR DIR " := "
+.BR in " | " out " | " fwd
+
+.ti -8
+.IR PTYPE " := "
+.BR main " | " sub
+
+.ti -8
+.IR ACTION " := "
+.BR allow " | " block
+
+.ti -8
+.IR FLAG-LIST " := [ " FLAG-LIST " ] " FLAG
+
+.ti -8
+.IR FLAG " :="
+.BR localok " | " icmp
+
+.ti -8
+.IR LIMIT-LIST " := [ " LIMIT-LIST " ]"
+.B limit
+.I LIMIT
+
+.ti -8
+.IR LIMIT " :="
+.RB "{ " time-soft " | " time-hard " | " time-use-soft " | " time-use-hard " }"
+.IR "SECONDS" " |"
+.br
+.RB "{ " byte-soft " | " byte-hard " }"
+.IR SIZE " |"
+.br
+.RB "{ " packet-soft " | " packet-hard " }"
+.I COUNT
+
+.ti -8
+.IR TMPL-LIST " := [ " TMPL-LIST " ]"
+.B tmpl
+.I TMPL
+
+.ti -8
+.IR TMPL " := " ID
+.RB "[ " mode
+.IR MODE " ]"
+.RB "[ " reqid
+.IR REQID " ]"
+.RB "[ " level
+.IR LEVEL " ]"
+
+.ti -8
+.IR ID " :="
+.RB "[ " src
+.IR ADDR " ]"
+.RB "[ " dst
+.IR ADDR " ]"
+.RB "[ " proto
+.IR XFRM-PROTO " ]"
+.RB "[ " spi
+.IR SPI " ]"
+
+.ti -8
+.IR XFRM-PROTO " :="
+.BR esp " | " ah " | " comp " | " route2 " | " hao
+
+.ti -8
+.IR MODE " := "
+.BR transport " | " tunnel " | " beet " | " ro " | " in_trigger
+
+.ti -8
+.IR LEVEL " :="
+.BR required " | " use
+
+.ti -8
+.BR "ip xfrm monitor" " ["
+.BI all-nsid
+] [
+.BI nokeys
+] [
+.BI all
+ |
+.IR LISTofXFRM-OBJECTS " ]"
+
+.ti -8
+.IR LISTofXFRM-OBJECTS " := [ " LISTofXFRM-OBJECTS " ] " XFRM-OBJECT
+
+.ti -8
+.IR XFRM-OBJECT " := "
+.BR acquire " | " expire " | " SA " | " policy " | " aevent " | " report
+
+.in -8
+.ad b
+
+.SH DESCRIPTION
+
+xfrm is an IP framework for transforming packets (such as encrypting
+their payloads). This framework is used to implement the IPsec protocol
+suite (with the
+.B state
+object operating on the Security Association Database, and the
+.B policy
+object operating on the Security Policy Database). It is also used for
+the IP Payload Compression Protocol and features of Mobile IPv6.
+
+.TS
+l l.
+ip xfrm state add add new state into xfrm
+ip xfrm state update update existing state in xfrm
+ip xfrm state allocspi allocate an SPI value
+ip xfrm state delete delete existing state in xfrm
+ip xfrm state get get existing state in xfrm
+ip xfrm state deleteall delete all existing state in xfrm
+ip xfrm state list print out the list of existing state in xfrm
+ip xfrm state flush flush all state in xfrm
+ip xfrm state count count all existing state in xfrm
+.TE
+
+.TP
+.IR ID
+is specified by a source address, destination address,
+.RI "transform protocol " XFRM-PROTO ","
+and/or Security Parameter Index
+.IR SPI "."
+(For IP Payload Compression, the Compression Parameter Index or CPI is used for
+.IR SPI ".)"
+
+.TP
+.I XFRM-PROTO
+specifies a transform protocol:
+.RB "IPsec Encapsulating Security Payload (" esp "),"
+.RB "IPsec Authentication Header (" ah "),"
+.RB "IP Payload Compression (" comp "),"
+.RB "Mobile IPv6 Type 2 Routing Header (" route2 "), or"
+.RB "Mobile IPv6 Home Address Option (" hao ")."
+
+.TP
+.I ALGO-LIST
+contains one or more algorithms to use. Each algorithm
+.I ALGO
+is specified by:
+.RS
+.IP \[bu]
+the algorithm type:
+.RB "encryption (" enc "),"
+.RB "authentication (" auth " or " auth-trunc "),"
+.RB "authenticated encryption with associated data (" aead "), or"
+.RB "compression (" comp ")"
+.IP \[bu]
+the algorithm name
+.IR ALGO-NAME
+(see below)
+.IP \[bu]
+.RB "(for all except " comp ")"
+the keying material
+.IR ALGO-KEYMAT ","
+which may include both a key and a salt or nonce value; refer to the
+corresponding RFC
+.IP \[bu]
+.RB "(for " auth-trunc " only)"
+the truncation length
+.I ALGO-TRUNC-LEN
+in bits
+.IP \[bu]
+.RB "(for " aead " only)"
+the Integrity Check Value length
+.I ALGO-ICV-LEN
+in bits
+.RE
+
+.nh
+.RS
+Encryption algorithms include
+.BR ecb(cipher_null) ", " cbc(des) ", " cbc(des3_ede) ", " cbc(cast5) ","
+.BR cbc(blowfish) ", " cbc(aes) ", " cbc(serpent) ", " cbc(camellia) ","
+.BR cbc(twofish) ", and " rfc3686(ctr(aes)) "."
+
+Authentication algorithms include
+.BR digest_null ", " hmac(md5) ", " hmac(sha1) ", " hmac(sha256) ","
+.BR hmac(sha384) ", " hmac(sha512) ", " hmac(rmd160) ", and " xcbc(aes) "."
+
+Authenticated encryption with associated data (AEAD) algorithms include
+.BR rfc4106(gcm(aes)) ", " rfc4309(ccm(aes)) ", and " rfc4543(gcm(aes)) "."
+
+Compression algorithms include
+.BR deflate ", " lzs ", and " lzjh "."
+.RE
+.hy
+
+.TP
+.I MODE
+specifies a mode of operation for the transform protocol. IPsec and IP Payload
+Compression modes are
+.BR transport ", " tunnel ","
+and (for IPsec ESP only) Bound End-to-End Tunnel
+.RB "(" beet ")."
+Mobile IPv6 modes are route optimization
+.RB "(" ro ")"
+and inbound trigger
+.RB "(" in_trigger ")."
+
+.TP
+.I FLAG-LIST
+contains one or more of the following optional flags:
+.BR noecn ", " decap-dscp ", " nopmtudisc ", " wildrecv ", " icmp ", "
+.BR af-unspec ", " align4 ", or " esn "."
+
+.TP
+.IR SELECTOR
+selects the traffic that will be controlled by the policy, based on the source
+address, the destination address, the network device, and/or
+.IR UPSPEC "."
+
+.TP
+.IR UPSPEC
+selects traffic by protocol. For the
+.BR tcp ", " udp ", " sctp ", or " dccp
+protocols, the source and destination port can optionally be specified.
+For the
+.BR icmp ", " ipv6-icmp ", or " mobility-header
+protocols, the type and code numbers can optionally be specified.
+For the
+.B gre
+protocol, the key can optionally be specified as a dotted-quad or number.
+Other protocols can be selected by name or number
+.IR PROTO "."
+
+.TP
+.I LIMIT-LIST
+sets limits in seconds, bytes, or numbers of packets.
+
+.TP
+.I ENCAP
+encapsulates packets with protocol
+.BR espinudp ", " espinudp-nonike ", or " espintcp ","
+.RI "using source port " SPORT ", destination port " DPORT
+.RI ", and original address " OADDR "."
+
+.TP
+.I MARK
+used to match xfrm policies and states
+
+.TP
+.I OUTPUT-MARK
+used to set the output mark to influence the routing
+of the packets emitted by the state
+
+.TP
+.I IF-ID
+xfrm interface identifier used to in both xfrm policies and states
+
+.TP
+.I DEV
+Network interface name used to offload policies and states
+
+.sp
+.PP
+.TS
+l l.
+ip xfrm policy add add a new policy
+ip xfrm policy update update an existing policy
+ip xfrm policy delete delete an existing policy
+ip xfrm policy get get an existing policy
+ip xfrm policy deleteall delete all existing xfrm policies
+ip xfrm policy list print out the list of xfrm policies
+ip xfrm policy flush flush policies
+.TE
+
+.TP
+.BR nosock
+filter (remove) all socket policies from the output.
+
+.TP
+.IR SELECTOR
+selects the traffic that will be controlled by the policy, based on the source
+address, the destination address, the network device, and/or
+.IR UPSPEC "."
+
+.TP
+.IR UPSPEC
+selects traffic by protocol. For the
+.BR tcp ", " udp ", " sctp ", or " dccp
+protocols, the source and destination port can optionally be specified.
+For the
+.BR icmp ", " ipv6-icmp ", or " mobility-header
+protocols, the type and code numbers can optionally be specified.
+For the
+.B gre
+protocol, the key can optionally be specified as a dotted-quad or number.
+Other protocols can be selected by name or number
+.IR PROTO "."
+
+.TP
+.I DIR
+selects the policy direction as
+.BR in ", " out ", or " fwd "."
+
+.TP
+.I CTX
+sets the security context.
+
+.TP
+.I PTYPE
+can be
+.BR main " (default) or " sub "."
+
+.TP
+.I ACTION
+can be
+.BR allow " (default) or " block "."
+
+.TP
+.I PRIORITY
+is a number that defaults to zero.
+
+.TP
+.I FLAG-LIST
+contains one or both of the following optional flags:
+.BR local " or " icmp "."
+
+.TP
+.I LIMIT-LIST
+sets limits in seconds, bytes, or numbers of packets.
+
+.TP
+.I TMPL-LIST
+is a template list specified using
+.IR ID ", " MODE ", " REQID ", and/or " LEVEL ". "
+
+.TP
+.IR ID
+is specified by a source address, destination address,
+.RI "transform protocol " XFRM-PROTO ","
+and/or Security Parameter Index
+.IR SPI "."
+(For IP Payload Compression, the Compression Parameter Index or CPI is used for
+.IR SPI ".)"
+
+.TP
+.I XFRM-PROTO
+specifies a transform protocol:
+.RB "IPsec Encapsulating Security Payload (" esp "),"
+.RB "IPsec Authentication Header (" ah "),"
+.RB "IP Payload Compression (" comp "),"
+.RB "Mobile IPv6 Type 2 Routing Header (" route2 "), or"
+.RB "Mobile IPv6 Home Address Option (" hao ")."
+
+.TP
+.I MODE
+specifies a mode of operation for the transform protocol. IPsec and IP Payload
+Compression modes are
+.BR transport ", " tunnel ","
+and (for IPsec ESP only) Bound End-to-End Tunnel
+.RB "(" beet ")."
+Mobile IPv6 modes are route optimization
+.RB "(" ro ")"
+and inbound trigger
+.RB "(" in_trigger ")."
+
+.TP
+.I LEVEL
+can be
+.BR required " (default) or " use "."
+
+.sp
+.PP
+.TS
+l l.
+ip xfrm policy count count existing policies
+.TE
+
+.PP
+Use one or more -s options to display more details, including policy hash table
+information.
+
+.sp
+.PP
+.TS
+l l.
+ip xfrm policy set configure the policy hash table
+.TE
+
+.PP
+Security policies whose address prefix lengths are greater than or equal
+policy hash table thresholds are hashed. Others are stored in the
+policy_inexact chained list.
+
+.TP
+.I LBITS
+specifies the minimum local address prefix length of policies that are
+stored in the Security Policy Database hash table.
+
+.TP
+.I RBITS
+specifies the minimum remote address prefix length of policies that are
+stored in the Security Policy Database hash table.
+
+.sp
+.PP
+.TS
+l l.
+ip xfrm monitor state monitoring for xfrm objects
+.TE
+
+.PP
+The xfrm objects to monitor can be optionally specified.
+
+.P
+If the
+.BI all-nsid
+option is set, the program listens to all network namespaces that have a
+nsid assigned into the network namespace were the program is running.
+A prefix is displayed to show the network namespace where the message
+originates. Example:
+.sp
+.in +2
+[nsid 1]Flushed state proto 0
+.in -2
+.sp
+
+.SH AUTHOR
+Manpage revised by David Ward <david.ward@ll.mit.edu>
+.br
+Manpage revised by Christophe Gouault <christophe.gouault@6wind.com>
+.br
+Manpage revised by Nicolas Dichtel <nicolas.dichtel@6wind.com>
diff --git a/upstream/fedora-40/man8/ip.8 b/upstream/fedora-40/man8/ip.8
new file mode 100644
index 00000000..72227d44
--- /dev/null
+++ b/upstream/fedora-40/man8/ip.8
@@ -0,0 +1,445 @@
+.TH IP 8 "20 Dec 2011" "iproute2" "Linux"
+.SH NAME
+ip \- show / manipulate routing, network devices, interfaces and tunnels
+.SH SYNOPSIS
+
+.ad l
+.in +8
+.ti -8
+.B ip
+.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B ip
+.RB "[ " -force " ] "
+.BI "-batch " filename
+.sp
+
+.ti -8
+.IR OBJECT " := { "
+.BR link " | " address " | " addrlabel " | " route " | " rule " | " neigh " | "\
+ ntable " | " tunnel " | " tuntap " | " maddress " | " mroute " | " mrule " | "\
+ monitor " | " xfrm " | " netns " | " l2tp " | " tcp_metrics " | " token " | "\
+ macsec " | " vrf " | " mptcp " | " ioam " | " stats " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-h\fR[\fIuman-readable\fR] |
+\fB\-s\fR[\fItatistics\fR] |
+\fB\-d\fR[\fIetails\fR] |
+\fB\-r\fR[\fIesolve\fR] |
+\fB\-iec\fR |
+\fB\-f\fR[\fIamily\fR] {
+.BR inet " | " inet6 " | " link " } | "
+\fB-4\fR |
+\fB-6\fR |
+\fB-B\fR |
+\fB-0\fR |
+\fB-l\fR[\fIoops\fR] { \fBmaximum-addr-flush-attempts\fR } |
+\fB\-o\fR[\fIneline\fR] |
+\fB\-rc\fR[\fIvbuf\fR] [\fBsize\fR] |
+\fB\-t\fR[\fIimestamp\fR] |
+\fB\-ts\fR[\fIhort\fR] |
+\fB\-n\fR[\fIetns\fR] name |
+\fB\-N\fR[\fIumeric\fR] |
+\fB\-a\fR[\fIll\fR] |
+\fB\-c\fR[\fIolor\fR] |
+\fB\-br\fR[\fIief\fR] |
+\fB\-j\fR[son\fR] |
+\fB\-p\fR[retty\fR] }
+
+.SH OPTIONS
+
+.TP
+.BR "\-V" , " -Version"
+Print the version of the
+.B ip
+utility and exit.
+
+.TP
+.BR "\-h", " \-human", " \-human-readable"
+output statistics with human readable values followed by suffix.
+
+.TP
+.BR "\-b", " \-batch " <FILENAME>
+Read commands from provided file or standard input and invoke them.
+First failure will cause termination of ip.
+
+.TP
+.BR "\-force"
+Don't terminate ip on errors in batch mode. If there were any errors
+during execution of the commands, the application return code will be
+non zero.
+
+.TP
+.BR "\-s" , " \-stats" , " \-statistics"
+Output more information. If the option
+appears twice or more, the amount of information increases.
+As a rule, the information is statistics or some time values.
+
+.TP
+.BR "\-d" , " \-details"
+Output more detailed information.
+
+.TP
+.BR "\-l" , " \-loops " <COUNT>
+Specify maximum number of loops the 'ip address flush' logic
+will attempt before giving up. The default is 10.
+Zero (0) means loop until all addresses are removed.
+
+.TP
+.BR "\-f" , " \-family " <FAMILY>
+Specifies the protocol family to use. The protocol family identifier
+can be one of
+.BR "inet" , " inet6" , " bridge" , " mpls"
+or
+.BR link .
+If this option is not present,
+the protocol family is guessed from other arguments. If the rest
+of the command line does not give enough information to guess the
+family,
+.B ip
+falls back to the default one, usually
+.B inet
+or
+.BR "any" .
+.B link
+is a special family identifier meaning that no networking protocol
+is involved.
+
+.TP
+.B \-4
+shortcut for
+.BR "-family inet" .
+
+.TP
+.B \-6
+shortcut for
+.BR "\-family inet6" .
+
+.TP
+.B \-B
+shortcut for
+.BR "\-family bridge" .
+
+.TP
+.B \-M
+shortcut for
+.BR "\-family mpls" .
+
+.TP
+.B \-0
+shortcut for
+.BR "\-family link" .
+
+.TP
+.BR "\-o" , " \-oneline"
+output each record on a single line, replacing line feeds
+with the
+.B '\e'
+character. This is convenient when you want to count records
+with
+.BR wc (1)
+or to
+.BR grep (1)
+the output.
+
+.TP
+.BR "\-r" , " \-resolve"
+use the system's name resolver to print DNS names instead of
+host addresses.
+
+.TP
+.BR "\-n" , " \-netns " <NETNS>
+switches
+.B ip
+to the specified network namespace
+.IR NETNS .
+Actually it just simplifies executing of:
+
+.B ip netns exec
+.IR NETNS
+.B ip
+.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+
+to
+
+.B ip
+.RI "-n[etns] " NETNS " [ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+
+.TP
+.BR "\-N" , " \-Numeric"
+Print the number of protocol, scope, dsfield, etc directly instead of
+converting it to human readable name.
+
+.TP
+.BR "\-a" , " \-all"
+executes specified command over all objects, it depends if command
+supports this option.
+
+.TP
+.BR \-c [ color ][ = { always | auto | never }
+Configure color output. If parameter is omitted or
+.BR always ,
+color output is enabled regardless of stdout state. If parameter is
+.BR auto ,
+stdout is checked to be a terminal before enabling color output. If
+parameter is
+.BR never ,
+color output is disabled. If specified multiple times, the last one takes
+precedence. This flag is ignored if
+.B \-json
+is also given.
+
+Used color palette can be influenced by
+.BR COLORFGBG
+environment variable
+(see
+.BR ENVIRONMENT ).
+
+.TP
+.BR "\-t" , " \-timestamp"
+display current time when using monitor option.
+
+.TP
+.BR "\-ts" , " \-tshort"
+Like
+.BR \-timestamp ,
+but use shorter format.
+
+.TP
+.BR "\-rc" , " \-rcvbuf" <SIZE>
+Set the netlink socket receive buffer size, defaults to 1MB.
+
+.TP
+.BR "\-iec"
+print human readable rates in IEC units (e.g. 1Ki = 1024).
+
+.TP
+.BR "\-br" , " \-brief"
+Print only basic information in a tabular format for better
+readability. This option is currently only supported by
+.BR "ip addr show ", " ip link show " & " ip neigh show " commands.
+
+.TP
+.BR "\-j", " \-json"
+Output results in JavaScript Object Notation (JSON).
+
+.TP
+.BR "\-p", " \-pretty"
+The default JSON format is compact and more efficient to parse but
+hard for most users to read. This flag adds indentation for
+readability.
+
+.TP
+.BR "\-echo"
+Request the kernel to send the applied configuration back.
+
+.SH IP - COMMAND SYNTAX
+
+.SS
+.I OBJECT
+
+.TP
+.B address
+- protocol (IP or IPv6) address on a device.
+
+.TP
+.B addrlabel
+- label configuration for protocol address selection.
+
+.TP
+.B ioam
+- manage IOAM namespaces and IOAM schemas.
+
+.TP
+.B l2tp
+- tunnel ethernet over IP (L2TPv3).
+
+.TP
+.B link
+- network device.
+
+.TP
+.B maddress
+- multicast address.
+
+.TP
+.B monitor
+- watch for netlink messages.
+
+.TP
+.B mptcp
+- manage MPTCP path manager.
+
+.TP
+.B mroute
+- multicast routing cache entry.
+
+.TP
+.B mrule
+- rule in multicast routing policy database.
+
+.TP
+.B neighbour
+- manage ARP or NDISC cache entries.
+
+.TP
+.B netns
+- manage network namespaces.
+
+.TP
+.B ntable
+- manage the neighbor cache's operation.
+
+.TP
+.B route
+- routing table entry.
+
+.TP
+.B rule
+- rule in routing policy database.
+
+.TP
+.B stats
+- manage and show interface statistics.
+
+.TP
+.B tcp_metrics/tcpmetrics
+- manage TCP Metrics
+
+.TP
+.B token
+- manage tokenized interface identifiers.
+
+.TP
+.B tunnel
+- tunnel over IP.
+
+.TP
+.B tuntap
+- manage TUN/TAP devices.
+
+.TP
+.B vrf
+- manage virtual routing and forwarding devices.
+
+.TP
+.B xfrm
+- manage IPSec policies.
+
+.PP
+The names of all objects may be written in full or
+abbreviated form, for example
+.B address
+can be abbreviated as
+.B addr
+or just
+.B a.
+
+.SS
+.I COMMAND
+
+Specifies the action to perform on the object.
+The set of possible actions depends on the object type.
+As a rule, it is possible to
+.BR "add" , " delete"
+and
+.B show
+(or
+.B list
+) objects, but some objects do not allow all of these operations
+or have some additional commands. The
+.B help
+command is available for all objects. It prints
+out a list of available commands and argument syntax conventions.
+.sp
+If no command is given, some default command is assumed.
+Usually it is
+.B list
+or, if the objects of this class cannot be listed,
+.BR "help" .
+
+.SH ENVIRONMENT
+.TP
+.B COLORFGBG
+If set, it's value is used for detection whether background is dark or
+light and use contrast colors for it.
+
+COLORFGBG environment variable usually contains either two or three
+values separated by semicolons; we want the last value in either case.
+If this value is 0-6 or 8, chose colors suitable for dark background:
+
+COLORFGBG=";0" ip -c a
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful, and 1 if there is a syntax error.
+If an error was reported by the kernel exit status is 2.
+
+.SH "EXAMPLES"
+.PP
+ip addr
+.RS 4
+Shows addresses assigned to all network interfaces.
+.RE
+.PP
+ip neigh
+.RS 4
+Shows the current neighbour table in kernel.
+.RE
+.PP
+ip link set x up
+.RS 4
+Bring up interface x.
+.RE
+.PP
+ip link set x down
+.RS 4
+Bring down interface x.
+.RE
+.PP
+ip route
+.RS 4
+Show table routes.
+.RE
+
+.SH HISTORY
+.B ip
+was written by Alexey N. Kuznetsov and added in Linux 2.2.
+.SH SEE ALSO
+.BR ip-address (8),
+.BR ip-addrlabel (8),
+.BR ip-ioam (8),
+.BR ip-l2tp (8),
+.BR ip-link (8),
+.BR ip-maddress (8),
+.BR ip-monitor (8),
+.BR ip-mptcp (8),
+.BR ip-mroute (8),
+.BR ip-neighbour (8),
+.BR ip-netns (8),
+.BR ip-ntable (8),
+.BR ip-route (8),
+.BR ip-rule (8),
+.BR ip-stats (8)
+.BR ip-tcp_metrics (8),
+.BR ip-token (8),
+.BR ip-tunnel (8),
+.BR ip-vrf (8),
+.BR ip-xfrm (8)
+.br
+.RB "IP Command reference " ip-cref.ps
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Original Manpage by Michail Litvak <mci@owl.openwall.com>
diff --git a/upstream/fedora-40/man8/ipmaddr.8 b/upstream/fedora-40/man8/ipmaddr.8
new file mode 100644
index 00000000..52dd49cd
--- /dev/null
+++ b/upstream/fedora-40/man8/ipmaddr.8
@@ -0,0 +1,34 @@
+.\" Process this file with
+.\" groff -man -Tascii ipmaddr.8
+.\"
+.TH IPMADDR 8 "SEPTEMBER 2009" "" ""
+.\"
+.\" Man page written by Jiri Popelka <jpopelka AT redhat DOT com>
+.\"
+.SH NAME
+.B ipmaddr
+\- adds, deletes, and displays multicast addresses
+
+.SH SYNOPSIS
+.B /usr/sbin/ipmaddr
+.RB [< operation >]
+.RB [< args >]
+
+.SH NOTE
+.P
+This program is obsolete. For replacement check \fBip maddr\fR.
+
+.SH DESCRIPTION
+The \fBipmaddr\fR command can perform one of the following operations:
+
+.B add
+\- add a multicast address
+
+.B del
+\- delete a multicast address
+
+.B show
+\- list multicast addresses
+
+.SH SEE ALSO
+.BR ip (8).
diff --git a/upstream/fedora-40/man8/iptraf-ng.8 b/upstream/fedora-40/man8/iptraf-ng.8
new file mode 100644
index 00000000..ca574fd6
--- /dev/null
+++ b/upstream/fedora-40/man8/iptraf-ng.8
@@ -0,0 +1,98 @@
+.TH IPTRAF-NG 8 "IPTraf-ng Help Page"
+.SH NAME
+iptraf \- Interactive Colorful IP LAN Monitor
+.SH SYNOPSIS
+.BR iptraf-ng " { [ " \-f " ] [ { " \-i
+.IR iface " | "
+.BR \-g " | " \-d
+.IR iface " | "
+.BR \-s
+.IR iface " | "
+.BR \-z
+.IR iface " | "
+.BR \-l
+.IR iface " } [ "
+.BR \-t
+.IR timeout " ] [ "
+.BR \-B " [ "
+.BR \-L
+.IR logfile " ] ] ] | [ "
+.BR \-h " ] }"
+.br
+.SH DESCRIPTION
+.B iptraf-ng
+is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others.
+.PP
+If the
+.B iptraf-ng
+command is issued without any command-line options, the program comes up in interactive mode, with the various facilities accessed through the main menu.
+
+.SH OPTIONS
+These options can also be supplied to the command:
+.TP
+.BI "\-i " iface
+immediately start the IP traffic monitor on the specified interface, or
+all interfaces if "\-i all" is specified
+.TP
+.B "\-g"
+immediately start the general interface statistics
+.TP
+.BI "\-d " iface
+allows you to immediately start the detailed on the indicated interface (iface)
+.TP
+.BI "\-s " iface
+allows you to immediately monitor TCP and UDP traffic on the specified interface (iface)
+.TP
+.BI "\-z " iface
+shows packet counts by size on the specified interface
+.TP
+.BI "\-l " iface
+start the LAN station monitor on the specified interface, or all LAN
+interfaces if "\-l all" is specified
+.TP
+.BI "\-t " timeout
+tells IPTraf-ng to run the specified facility for only
+.I timeout
+minutes. This option is used only with one of the above parameters.
+.TP
+.B "\-B"
+redirect standard output to /dev/null, closes standard input, and forks
+the program into the background. Can be used only with one of the
+facility invocation parameters above. Send the backgrounded process a
+USR2 signal to terminate.
+.TP
+.B "\-L logfile"
+allows you to specify an alternate log file name. The default log file
+name is based on either the interface selected (detailed interface
+statistics, TCP/UDP service statistics, packet size breakdown), or the
+instance of the facility (IP traffic monitor, LAN station monitor). If a
+path is not specified, the log file is placed in
+.B /var/log/iptraf-ng
+.TP
+.B "\-f"
+clears all locks and counters, causing this instance of IPTraf-ng to think
+it's the first one running. This should only be used to recover from
+an abnormal termination or system crash.
+.TP
+.B "\-h"
+shows a command summary
+.SH SIGNALS
+
+ SIGUSR1 - rotates log files while program is running
+ SIGUSR2 - terminates an IPTraf-ng process running in the background.
+
+.SH FILES
+ /var/log/iptraf-ng/*.log - log file
+ /var/lib/iptraf-ng/* - important IPTraf-ng data files
+
+.SH SEE ALSO
+ Documentation/* - complete documentation written by the author
+
+.SH AUTHOR
+Gerard Paul Java (riker@mozcom.com)
+
+.SH MANUAL AUTHOR
+Frederic Peters (fpeters@debian.org), using iptraf-ng \-h
+General manual page modifications by Gerard Paul Java (riker@mozcom.com),
+Phil Cameron (pcameron@redhat.com)
+
diff --git a/upstream/fedora-40/man8/iptunnel.8 b/upstream/fedora-40/man8/iptunnel.8
new file mode 100644
index 00000000..3f5da841
--- /dev/null
+++ b/upstream/fedora-40/man8/iptunnel.8
@@ -0,0 +1,41 @@
+.\" Process this file with
+.\" groff -man -Tascii iptunnel.8
+.\"
+.TH IPTUNNEL 8 "SEPTEMBER 2009" "" ""
+.\"
+.\" Man page written by Jiri Popelka <jpopelka AT redhat DOT com>
+.\"
+.SH NAME
+.B iptunnel
+\- creates, deletes, and displays configured tunnels
+
+.SH SYNOPSIS
+.B /usr/sbin/iptunnel
+.RB [< operation >]
+.RB [< args >]
+
+.SH NOTE
+.P
+This program is obsolete. For replacement check \fBip tunnel\fR.
+
+.SH DESCRIPTION
+The \fBiptunnel\fR
+command creates configured tunnels for sending and receiving
+IPV6 or IPV4 packets that are encapsulated as the payload of an IPV4
+datagram.
+
+The
+.B iptunnel
+command can perform one of the following operations:
+
+.B create
+\- create a tunnel interface, which you must subsequently configure.
+
+.B delete
+\- delete a tunnel interface. You must disable the tunnel before you can delete it.
+
+.B show
+\- show the tunnel attributes (name, tunnel end points, next hop for tunneled packets).
+
+.SH SEE ALSO
+.BR ip (8).
diff --git a/upstream/fedora-40/man8/kbdrate.8 b/upstream/fedora-40/man8/kbdrate.8
new file mode 100644
index 00000000..c2f6a2b3
--- /dev/null
+++ b/upstream/fedora-40/man8/kbdrate.8
@@ -0,0 +1,71 @@
+.\" Copyright 1992, 1994 Rickard E. Faith (faith@cs.unc.edu)
+.\" May be distributed under the GNU General Public License
+.\" Updated Wed Jun 22 21:09:43 1994, faith@cs.unc.edu
+.\"
+.TH KBDRATE 8 "22 June 1994" "kbd"
+.SH NAME
+kbdrate \- reset the keyboard repeat rate and delay time
+.SH SYNOPSIS
+.B kbdrate
+[\fI\,options\/\fR...]
+.SH DESCRIPTION
+.B kbdrate
+is used to change the keyboard repeat rate and delay time. The delay
+is the amount of time that a key must be depressed before it will start to
+repeat.
+
+Using
+.B kbdrate
+without any options will reset the repeat rate to 10.9 characters per second (cps)
+and the delay to 250 milliseconds (ms) for Intel- and M68K-based systems.
+These are the IBM defaults. On SPARC-based systems it will reset the repeat rate
+to 20 cps and the delay to 200 ms.
+
+.SH OPTIONS
+.TP
+\fB\-r\fR, \fB\-\-rate\fR=\fI\,NUMBER\/\fR
+Change the keyboard repeat rate to
+.I NUMBER
+cps. For Intel-based systems, the allowable range is from 2.0 to 30.0 cps.
+Only certain, specific values are possible, and the program will select the
+nearest possible value to the one specified. The possible values are given,
+in characters per second, as follows: 2.0, 2.1, 2.3, 2.5, 2.7, 3.0, 3.3, 3.7,
+4.0, 4.3, 4.6, 5.0, 5.5, 6.0, 6.7, 7.5, 8.0, 8.6, 9.2, 10.0, 10.9, 12.0, 13.3,
+15.0, 16.0, 17.1, 18.5, 20.0, 21.8, 24.0, 26.7, 30.0.
+For SPARC-based systems, the allowable range is from 0 (no repeat) to 50 cps.
+.TP
+\fB\-d\fR, \fB\-\-delay\fR=\fI\,NUMBER\/\fR
+Change the delay to
+.I NUMBER
+milliseconds.
+For Intel-based systems, the allowable range is from 250 to 1000 ms,
+in 250 ms steps. For SPARC systems, possible values are between 10 ms and 1440 ms,
+in 10 ms steps.
+.TP
+\fB\-s\fR, \fB\-\-silent\fR
+Silent. No messages are printed.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a help text.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display a version number and exit.
+.SH BUGS
+Not all keyboards support all rates.
+.PP
+Not all keyboards have the rates mapped in the same way.
+.PP
+Setting the repeat rate on the Gateway AnyKey keyboard does not work. If
+someone with a Gateway figures out how to program the keyboard, please send
+mail to util-linux@math.uio.no.
+.PP
+All this is very architecture dependent.
+Nowadays
+.B kbdrate
+first tries the KDKBDREP and KIOCSRATE ioctls.
+(The former usually works on an m68k/i386 machine, the latter for SPARC.)
+When these ioctls fail an ioport interface.
+.SH FILES
+.I /etc/rc.local
+.br
+.I /dev/port
diff --git a/upstream/fedora-40/man8/kernel-install.8 b/upstream/fedora-40/man8/kernel-install.8
new file mode 100644
index 00000000..6c8d93d9
--- /dev/null
+++ b/upstream/fedora-40/man8/kernel-install.8
@@ -0,0 +1,837 @@
+'\" t
+.TH "KERNEL\-INSTALL" "8" "" "systemd 255" "kernel-install"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+kernel-install \- Add and remove kernel and initrd images to and from /boot
+.SH "SYNOPSIS"
+.HP \w'\fBkernel\-install\fR\ 'u
+\fBkernel\-install\fR [OPTIONS...] add \fIKERNEL\-VERSION\fR \fIKERNEL\-IMAGE\fR [\fIINITRD\-FILE\fR...]
+.HP \w'\fBkernel\-install\fR\ 'u
+\fBkernel\-install\fR [OPTIONS...] remove \fIKERNEL\-VERSION\fR
+.HP \w'\fBkernel\-install\fR\ 'u
+\fBkernel\-install\fR [OPTIONS...] inspect [\fIKERNEL\-VERSION\fR] [\fIKERNEL\-IMAGE\fR] [\fIINITRD\-FILE\fR...]
+.HP \w'\fBkernel\-install\fR\ 'u
+\fBkernel\-install\fR [OPTIONS...] list
+.SH "DESCRIPTION"
+.PP
+\fBkernel\-install\fR
+is used to install and remove kernel and initrd images
+\&\s-2\u[1]\d\s+2
+to and from the boot loader partition, referred to as
+\fI$BOOT\fR
+here\&. It will usually be one of
+/boot/,
+/efi/, or
+/boot/efi/, see below\&.
+.PP
+\fBkernel\-install\fR
+will run the executable files ("plugins") located in the directory
+/usr/lib/kernel/install\&.d/
+and the local administration directory
+/etc/kernel/install\&.d/\&. All files are collectively sorted and executed in lexical order, regardless of the directory in which they live\&. However, files with identical filenames replace each other\&. Files in
+/etc/kernel/install\&.d/
+take precedence over files with the same name in
+/usr/lib/kernel/install\&.d/\&. This can be used to override a system\-supplied executables with a local file if needed; a symbolic link in
+/etc/kernel/install\&.d/
+with the same name as an executable in
+/usr/lib/kernel/install\&.d/, pointing to
+/dev/null, disables the executable entirely\&. Executables must have the extension
+"\&.install"; other extensions are ignored\&.
+.PP
+An executable placed in these directories should return
+\fB0\fR
+on success\&. It may also return
+\fB77\fR
+to cause the whole operation to terminate (executables later in lexical order will be skipped)\&.
+.SH "COMMANDS"
+.PP
+The following commands are understood:
+.PP
+\fBadd [[[\fR\fB\fIKERNEL\-VERSION\fR\fR\fB] \fR\fB\fIKERNEL\-IMAGE\fR\fR\fB] [\fR\fB\fIINITRD\-FILE\fR\fR\fB \&.\&.\&.]]\fR
+.RS 4
+This command takes a kernel version string and a path to a kernel image file as arguments\&. If the former is omitted, specified as an empty string or as "\-" it defaults to the current kernel version, i\&.e\&. the same string
+\fBuname \-r\fR
+returns\&. If the latter is omitted, specified as an empty string or as "\-" defaults to
+/usr/lib/modules/\fIKERNEL_VERSION\fR/vmlinuz\&. Optionally, one or more initrd images may be specified as well (note that plugins might generate additional ones)\&.
+.sp
+The executable files from
+/usr/lib/kernel/install\&.d/*\&.install
+and
+/etc/kernel/install\&.d/*\&.install
+(i\&.e\&. the plugins) are called with the following arguments:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+add \fIKERNEL\-VERSION\fR $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/ \fIKERNEL\-IMAGE\fR \e
+ [\fIINITRD\-FILE\fR \&.\&.\&.]
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+The third argument directly refers to the path where to place kernel images, initrd images and other resources for
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+Type #1 entries (the "entry directory")\&. If other boot loader schemes are used the parameter may be ignored\&.
+.sp
+The
+\fIENTRY\-TOKEN\fR
+string is typically the machine ID and is supposed to identify the local installation on the system\&. For details see below\&.
+.sp
+Two default plugins execute the following operations in this case:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBkernel\-install\fR
+creates
+$BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR, if enabled (see
+\fI$KERNEL_INSTALL_LAYOUT\fR)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+50\-depmod\&.install
+runs
+\fBdepmod\fR(8)
+for the
+\fIKERNEL\-VERSION\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+90\-loaderentry\&.install
+copies
+\fIKERNEL\-IMAGE\fR
+to
+$BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/linux\&. If
+\fIINITRD\-FILE\fRs are provided, it also copies them to
+$BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL_VERSION\fR/\fIINITRD\-FILE\fR\&. This can also be used to prepend microcode before the actual initrd\&. It also creates a boot loader entry according to the
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+(Type #1) in
+$BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.conf\&. The title of the entry is the
+\fIPRETTY_NAME\fR
+parameter specified in
+/etc/os\-release
+or
+/usr/lib/os\-release
+(if the former is missing), or "Linux
+\fIKERNEL\-VERSION\fR", if unset\&.
+.sp
+If
+\fI$KERNEL_INSTALL_LAYOUT\fR
+is not "bls", this plugin does nothing\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+90\-uki\-copy\&.install
+copies a file
+uki\&.efi
+from
+\fI$KERNEL_INSTALL_STAGING_AREA\fR
+or if it does not exist the
+\fIKERNEL\-IMAGE\fR
+argument, only if it has a
+"\&.efi"
+extension, to
+$BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi\&.
+.sp
+If
+\fI$KERNEL_INSTALL_LAYOUT\fR
+is not "uki", this plugin does nothing\&.
+.RE
+.sp
+Added in version 198\&.
+.RE
+.PP
+\fBadd\-all\fR
+.RS 4
+This is the same as
+\fBadd\fR
+(see above), but invokes the operation iteratively for every installed kernel in
+/usr/lib/modules/\&. This operation is only supported on systems where the kernel image is installed in
+/usr/lib/modules/\fIKERNEL\-VERSION\fR/vmlinuz\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBremove \fR\fB\fIKERNEL\-VERSION\fR\fR
+.RS 4
+This command expects a kernel version string as single argument\&.
+.sp
+The executable files from
+/usr/lib/kernel/install\&.d/*\&.install
+and
+/etc/kernel/install\&.d/*\&.install
+(i\&.e\&. the plugins) are called with the following arguments:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+remove \fIKERNEL\-VERSION\fR $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Afterwards,
+\fBkernel\-install\fR
+removes the entry directory
+$BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/
+and its contents, if it exists\&.
+.sp
+Two default plugins execute the following operations in this case:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+50\-depmod\&.install
+removes the files generated by
+\fBdepmod\fR
+for this kernel again\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+90\-loaderentry\&.install
+removes the file
+$BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.conf\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+90\-uki\-copy\&.install
+removes the file
+$BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi\&.
+.RE
+.sp
+Added in version 198\&.
+.RE
+.PP
+\fBinspect [[[\fR\fB\fIKERNEL\-VERSION\fR\fR\fB] \fR\fB\fIKERNEL\-IMAGE\fR\fR\fB] [\fR\fB\fIINITRD\-FILE\fR\fR\fB \&.\&.\&.]]\fR
+.RS 4
+Takes the same parameters as
+\fBadd\fR\&.
+.sp
+Shows the various paths and parameters configured or auto\-detected\&. In particular shows the values of the various
+\fI$KERNEL_INSTALL_*\fR
+environment variables listed below, as they would be passed to plugins\&. The
+\fB\-\-json\fR
+option can be used to get the output of this verb as a JSON object\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBlist\fR
+.RS 4
+Shows the various installed kernels\&. This enumerates the subdirectories of
+/usr/lib/modules/, and shows whether a kernel image is installed there\&.
+.sp
+Added in version 255\&.
+.RE
+.SH "COMPATIBILITY WITH THE KERNEL BUILD SYSTEM"
+.HP \w'\fBinstallkernel\fR\ 'u
+\fBinstallkernel\fR [OPTIONS...] VERSION VMLINUZ [MAP] [INSTALLATION\-DIR]
+.PP
+When invoked as
+\fBinstallkernel\fR, this program accepts arguments as specified by the kernel build system\*(Aqs
+\fBmake install\fR
+command\&. The
+\fIVERSION\fR
+and
+\fIVMLINUZ\fR
+parameters specify the kernel version and the kernel binary\&. The other two parameters (\fIMAP\fR
+and
+\fIINSTALLATION\-DIR\fR) are currently ignored\&.
+.SH "THE \FI$BOOT\FR PARTITION"
+.PP
+The partition where the kernels and
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+snippets are located is called
+\fI$BOOT\fR\&.
+\fBkernel\-install\fR
+determines the location of this partition by checking
+/efi/,
+/boot/, and
+/boot/efi/
+in turn\&. The first location where
+$BOOT/loader/entries/
+or
+$BOOT/\fIENTRY\-TOKEN\fR/
+exists is used\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-esp\-path=\fR
+.RS 4
+Path to the EFI System Partition (ESP)\&. If not specified,
+/efi/,
+/boot/, and
+/boot/efi/
+are checked in turn\&. It is recommended to mount the ESP to
+/efi/, if possible\&.
+.RE
+.PP
+\fB\-\-boot\-path=\fR
+.RS 4
+Path to the Extended Boot Loader partition, as defined in the
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2\&. If not specified,
+/boot/
+is checked\&. It is recommended to mount the Extended Boot Loader partition to
+/boot/, if possible\&.
+.RE
+.PP
+\fB\-\-make\-entry\-directory=yes|no|auto\fR
+.RS 4
+Controls creation and deletion of the
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+Type #1 entry directory on the file system containing resources such as kernel and initrd images during
+\fBadd\fR
+and
+\fBremove\fR, respectively\&. The directory is named after the entry token, and is placed immediately below the boot root directory\&. When
+"auto", the directory is created or removed only when the install layout is
+"bls"\&. Defaults to
+"auto"\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-entry\-token=\fR
+.RS 4
+Controls how to name and identify boot loader entries for this kernel installation or deletion\&. Takes one of
+"auto",
+"machine\-id",
+"os\-id",
+"os\-image\-id", or an arbitrary string prefixed by
+"literal:"
+as argument\&.
+.sp
+If set to
+\fBmachine\-id\fR
+the entries are named after the machine ID of the running system (e\&.g\&.
+"b0e793a9baf14b5fa13ecbe84ff637ac")\&. See
+\fBmachine-id\fR(5)
+for details about the machine ID concept and file\&.
+.sp
+If set to
+\fBos\-id\fR
+the entries are named after the OS ID of the running system, i\&.e\&. the
+\fIID=\fR
+field of
+\fBos-release\fR(5)
+(e\&.g\&.
+"fedora")\&. Similarly, if set to
+\fBos\-image\-id\fR
+the entries are named after the OS image ID of the running system, i\&.e\&. the
+\fIIMAGE_ID=\fR
+field of
+os\-release
+(e\&.g\&.
+"vendorx\-cashier\-system")\&.
+.sp
+If set to
+\fBauto\fR
+(the default), the
+/etc/kernel/entry\-token
+(or
+$KERNEL_INSTALL_CONF_ROOT/entry\-token) file will be read if it exists, and the stored value used\&. Otherwise if the local machine ID is initialized it is used\&. Otherwise
+\fIIMAGE_ID=\fR
+from
+os\-release
+will be used, if set\&. Otherwise,
+\fIID=\fR
+from
+os\-release
+will be used, if set\&. Otherwise a randomly generated machine ID is used\&.
+.sp
+Using the machine ID for naming the entries is generally preferable, however there are cases where using the other identifiers is a good option\&. Specifically: if the identification data that the machine ID entails shall not be stored on the (unencrypted)
+\fI$BOOT_ROOT\fR
+partition, or if the ID shall be generated on first boot and is not known when the entries are prepared\&. Note that using the machine ID has the benefit that multiple parallel installations of the same OS can coexist on the same medium, and they can update their boot loader entries independently\&. When using another identifier (such as the OS ID or the OS image ID), parallel installations of the same OS would try to use the same entry name\&. To support parallel installations, the installer must use a different entry token when adding a second installation\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-v\fR, \fB\-\-verbose\fR
+.RS 4
+Output additional information about operations being performed\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fB\-\-root=\fR\fB\fIroot\fR\fR
+.RS 4
+Takes a directory path as an argument\&. All paths will be prefixed with the given alternate
+\fIroot\fR
+path, including config search paths\&. This is useful to operate on a system image mounted to the specified directory instead of the host system itself\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-image=\fR\fB\fIimage\fR\fR
+.RS 4
+Takes a path to a disk image file or block device node\&. If specified, all operations are applied to the file system in the indicated disk image\&. This option is similar to
+\fB\-\-root=\fR, but operates on file systems stored in disk images or block devices\&. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the
+\m[blue]\fBDiscoverable Partitions Specification\fR\m[]\&\s-2\u[3]\d\s+2\&. For further information on supported disk images, see
+\fBsystemd-nspawn\fR(1)\*(Aqs switch of the same name\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Shows output formatted as JSON\&. Expects one of
+"short"
+(for the shortest possible output without any redundant whitespace or line breaks),
+"pretty"
+(for a pretty version of the same, with indentation and line breaks) or
+"off"
+(to turn off JSON output, the default)\&.
+.RE
+.PP
+\fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR
+.RS 4
+Takes an image policy string as argument, as per
+\fBsystemd.image-policy\fR(7)\&. The policy is enforced when operating on the disk image specified via
+\fB\-\-image=\fR, see above\&. If not specified defaults to the
+"*"
+policy, i\&.e\&. all recognized file systems in the image are used\&.
+.RE
+.PP
+\fB\-\-no\-legend\fR
+.RS 4
+Do not print the legend, i\&.e\&. column headers and the footer with hints\&.
+.RE
+.SH "ENVIRONMENT VARIABLES"
+.SS "Environment variables exported for plugins"
+.PP
+If
+\fB\-\-verbose\fR
+is used,
+\fI$KERNEL_INSTALL_VERBOSE=1\fR
+will be exported for plugins\&. They may output additional logs in this case\&.
+.PP
+\fI$KERNEL_INSTALL_IMAGE_TYPE=uki|pe|unknown\fR
+is set for the plugins to specify the type of the kernel image\&.
+.PP
+uki
+.RS 4
+Unified kernel image\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+pe
+.RS 4
+PE binary\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+unknown
+.RS 4
+Unknown type\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fI$KERNEL_INSTALL_MACHINE_ID\fR
+is set for the plugins to the desired machine\-id to use\&. It\*(Aqs always a 128\-bit ID\&. Normally it\*(Aqs read from
+/etc/machine\-id, but it can also be overridden via
+\fI$MACHINE_ID\fR
+(see below)\&. If not specified via these methods, a fallback value will generated by
+\fBkernel\-install\fR
+and used only for a single invocation\&.
+.PP
+\fI$KERNEL_INSTALL_ENTRY_TOKEN\fR
+is set for the plugins to the desired entry "token" to use\&. It\*(Aqs an identifier that shall be used to identify the local installation, and is often the machine ID, i\&.e\&. same as
+\fI$KERNEL_INSTALL_MACHINE_ID\fR, but might also be a different type of identifier, for example a fixed string or the
+\fIID=\fR,
+\fIIMAGE_ID=\fR
+values from
+/etc/os\-release\&. The string passed here will be used to name Boot Loader Specification entries, or the directories the kernel image and initial RAM disk images are placed into\&.
+.PP
+Note that while
+\fI$KERNEL_INSTALL_ENTRY_TOKEN\fR
+and
+\fI$KERNEL_INSTALL_MACHINE_ID\fR
+are often set to the same value, the latter is guaranteed to be a valid 32 character ID in lowercase hexadecimals while the former can be any short string\&. The entry token to use is read from
+/etc/kernel/entry\-token, if it exists\&. Otherwise a few possible candidates below
+\fI$BOOT\fR
+are checked for Boot Loader Specification Type 1 entry directories, and if found the entry token is derived from that\&. If that is not successful,
+\fI$KERNEL_INSTALL_MACHINE_ID\fR
+is used as fallback\&.
+.PP
+\fI$KERNEL_INSTALL_BOOT_ROOT\fR
+is set for the plugins to the absolute path of the root directory (mount point, usually) of the hierarchy where boot loader entries, kernel images, and associated resources should be placed\&. This usually is the path where the XBOOTLDR partition or the ESP (EFI System Partition) are mounted, and also conceptually referred to as
+\fI$BOOT\fR\&. Can be overridden by setting
+\fI$BOOT_ROOT\fR
+(see below)\&.
+.PP
+\fI$KERNEL_INSTALL_LAYOUT=auto|bls|uki|other|\&.\&.\&.\fR
+is set for the plugins to specify the installation layout\&. Additional layout names may be defined by convention\&. If a plugin uses a special layout, it\*(Aqs encouraged to declare its own layout name and configure
+\fIlayout=\fR
+in
+install\&.conf
+upon initial installation\&. The following values are currently understood:
+.PP
+bls
+.RS 4
+Standard
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+Type #1 layout, compatible with
+\fBsystemd-boot\fR(7): entries in
+$BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR[+\fITRIES\fR]\&.conf, kernel and initrds under
+$BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/
+.sp
+Implemented by
+90\-loaderentry\&.install\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+uki
+.RS 4
+Standard
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+Type #2 layout, compatible with
+\fBsystemd-boot\fR(7): unified kernel images under
+$BOOT/EFI/Linux
+as
+$BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR[+\fITRIES\fR]\&.efi\&.
+.sp
+Implemented by
+90\-uki\-copy\&.install\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+other
+.RS 4
+Some other layout not understood natively by
+\fBkernel\-install\fR\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+auto
+.RS 4
+Pick the layout automatically\&. If the kernel is a UKI set layout to
+\fBuki\fR\&. If not default to
+\fBbls\fR
+if
+$BOOT/loader/entries\&.srel
+with content
+"type1"
+or
+$BOOT/\fIENTRY\-TOKEN\fR
+exists, or
+\fBother\fR
+otherwise\&.
+.sp
+Leaving layout blank has the same effect\&. This is the default\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fI$KERNEL_INSTALL_INITRD_GENERATOR\fR
+and
+\fI$KERNEL_INSTALL_UKI_GENERATOR\fR
+are set for plugins to select the initrd and/or UKI generator\&. This may be configured as
+\fIinitrd_generator=\fR
+and
+\fIuki_generator=\fR
+in
+install\&.conf, see below\&.
+.PP
+\fI$KERNEL_INSTALL_STAGING_AREA\fR
+is set for plugins to a path to a directory\&. Plugins may drop files in that directory, and they will be installed as part of the loader entry, based on the file name and extension: Files named
+initrd*
+will be installed as
+\fIINITRD\-FILE\fRs, and files named
+microcode*
+will be prepended before
+\fIINITRD\-FILE\fRs\&.
+.SS "Environment variables understood by kernel\-install"
+.PP
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+can be set to override the location of the configuration files read by
+\fBkernel\-install\fR\&. When set,
+install\&.conf,
+entry\-token, and other files will be read from this directory\&.
+.PP
+\fI$KERNEL_INSTALL_PLUGINS\fR
+can be set to override the list of plugins executed by
+\fBkernel\-install\fR\&. The argument is a whitespace\-separated list of paths\&.
+"KERNEL_INSTALL_PLUGINS=:"
+may be used to prevent any plugins from running\&.
+.PP
+\fI$MACHINE_ID\fR
+can be set for
+\fBkernel\-install\fR
+to override
+\fI$KERNEL_INSTALL_MACHINE_ID\fR, the machine ID\&.
+.PP
+\fI$BOOT_ROOT\fR
+can be set for
+\fBkernel\-install\fR
+to override
+\fI$KERNEL_INSTALL_BOOT_ROOT\fR, the installation location for boot entries\&.
+.PP
+The last two variables may also be set in
+install\&.conf\&. Variables set in the environment take precedence over the values specified in the config file\&.
+.SH "EXIT STATUS"
+.PP
+If every executable returns 0 or 77, 0 is returned, and a non\-zero failure code otherwise\&.
+.SH "FILES"
+.PP
+/etc/kernel/install\&.d/*\&.install, /usr/lib/kernel/install\&.d/*\&.install
+.RS 4
+Drop\-in files which are executed by
+\fBkernel\-install\fR\&.
+.sp
+Added in version 198\&.
+.RE
+.PP
+/etc/kernel/cmdline, /usr/lib/kernel/cmdline, /proc/cmdline
+.RS 4
+Specifies the kernel command line to use\&. The first of the files that is found will be used\&.
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+may be used to override the search path; see below for details\&.
+.sp
+Added in version 198\&.
+.RE
+.PP
+/etc/kernel/devicetree, /usr/lib/kernel/devicetree
+.RS 4
+Specifies the partial path to the file containing the device tree blob to install with the kernel and use at boot\&. The first of the files that is found will be used\&.
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+may be used to override the search path; see below for details\&.
+.sp
+The
+devicetree
+file contains a path, and this path specifies a location relative to the kernel install tree\&. A set of locations is checked, including in particular
+/usr/lib/modules/\fIKERNEL_VERSION\fR/dtb/, which is the recommended location to place the dtb files under\&. For example, with
+"broadcom/bcm2711\-rpi\-4\-b\&.dtb"
+in the
+devicetree
+file, the device tree blob for the Raspberry Pi 4 Model B would be installed, and the actual file would be
+/usr/lib/modules/\fIKERNEL_VERSION\fR/dtb/broadcom/bcm2711\-rpi\-4\-b\&.dtb\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+/etc/kernel/tries
+.RS 4
+Read by
+90\-loaderentry\&.install
+and
+90\-uki\-copy\&.install\&. If this file exists, a numeric value is read from it and the naming of the generated entry file or UKI is altered to include it as
+$BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR+\fITRIES\fR\&.conf
+or
+$BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR+\fITRIES\fR\&.efi, respectively\&. This is useful for boot loaders such as
+\fBsystemd-boot\fR(7)
+which implement boot attempt counting with a counter embedded in the entry file name\&.
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+may be used to override the search path; see below for details\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+/etc/kernel/entry\-token
+.RS 4
+If this file exists it is read and used as "entry token" for this system, i\&.e\&. is used for naming Boot Loader Specification entries\&. See
+\fI$KERNEL_INSTALL_ENTRY_TOKEN\fR
+above for details\&.
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+may be used to override the search path; see below for details\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+/etc/machine\-id
+.RS 4
+The content of this file specifies the machine identification
+\fIMACHINE\-ID\fR\&.
+.sp
+Added in version 198\&.
+.RE
+.PP
+/etc/os\-release, /usr/lib/os\-release
+.RS 4
+Read by
+90\-loaderentry\&.install\&. If available,
+\fIPRETTY_NAME=\fR
+is read from these files and used as the title of the boot menu entry\&. Otherwise,
+"Linux \fIKERNEL\-VERSION\fR"
+will be used\&.
+.sp
+Added in version 198\&.
+.RE
+.PP
+/etc/kernel/install\&.conf, /usr/lib/kernel/install\&.conf
+.RS 4
+Configuration file with options for
+\fBkernel\-install\fR, as a series of
+\fIKEY=\fR\fIVALUE\fR
+assignments, compatible with shell syntax, following the same rules as described in
+\fBos-release\fR(5)\&. The first of the files that is found will be used\&.
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+may be used to override the search path; see below for details\&.
+.sp
+Currently, the following keys are supported:
+\fIMACHINE_ID=\fR,
+\fIBOOT_ROOT=\fR,
+\fIlayout=\fR,
+\fIinitrd_generator=\fR,
+\fIuki_generator=\fR\&. See the Environment variables section above for details\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+/etc/kernel/uki\&.conf
+.RS 4
+Ini\-style configuration file for
+\fBukify\fR(1)
+which is only effective when
+\fI$KERNEL_INSTALL_LAYOUT\fR
+or
+\fIlayout=\fR
+in
+install\&.conf
+is set to
+\fBuki\fR
+and
+\fI$KERNEL_INSTALL_UKI_GENERATOR\fR
+or
+\fIuki_generator=\fR
+in
+install\&.conf
+is set to
+\fBukify\fR, or is unset\&.
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+may be used to override the search path; see below for details\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+/usr/lib/modules/\fIKERNEL\-VERSION/\fR
+.RS 4
+Location for installed kernel modules and other kernel related resources\&. For each locally installed kernel a directory named after the kernel version (\fBuname \-r\fR) is kept\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+/usr/lib/modules/\fIKERNEL\-VERSION/vmlinuz\fR
+.RS 4
+Location for installed kernel images\&. This is the recommended location for OS package managers to install kernel images into (as applicable), from which
+\fBkernel\-install add\fR
+then copies it into the final boot partition\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+For various cases listed above, if the
+\fI$KERNEL_INSTALL_CONF_ROOT\fR
+environment variable is set, it will override the search path\&. The files will be loaded
+\fIonly\fR
+from the directory specified by the environment variable\&. When the variable is not set, the listed paths are tried in turn, and the first file that exists is used\&.
+.SH "SEE ALSO"
+.PP
+\fBmachine-id\fR(5),
+\fBos-release\fR(5),
+\fBdepmod\fR(8),
+\fBsystemd-boot\fR(7),
+\fBukify\fR(1),
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2
+.SH "NOTES"
+.IP " 1." 4
+Nowadays actually CPIO archives used as an "initramfs", rather than "initrd". See
+\fBbootup\fR(7)
+for an explanation.
+.IP " 2." 4
+Boot Loader Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/boot_loader_specification
+.RE
+.IP " 3." 4
+Discoverable Partitions Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/discoverable_partitions_specification
+.RE
diff --git a/upstream/fedora-40/man8/kmod.8 b/upstream/fedora-40/man8/kmod.8
new file mode 100644
index 00000000..7019d479
--- /dev/null
+++ b/upstream/fedora-40/man8/kmod.8
@@ -0,0 +1,82 @@
+'\" t
+.\" Title: kmod
+.\" Author: Lucas De Marchi <lucas.de.marchi@gmail.com>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: kmod
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "KMOD" "8" "02/09/2023" "kmod" "kmod"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+kmod \- Program to manage Linux Kernel modules
+.SH "SYNOPSIS"
+.HP \w'\fBkmod\fR\ 'u
+\fBkmod\fR [\fBOPTIONS\fR...] [\fICOMMAND\fR] [\fBCOMMAND_OPTIONS\fR...]
+.SH "DESCRIPTION"
+.PP
+\fBkmod\fR
+is a multi\-call binary which implements the programs used to control Linux Kernel modules\&. Most users will only run it using its other names\&.
+.SH "OPTIONS"
+.PP
+\fB\-V\fR \fB\-\-version\fR
+.RS 4
+Show the program version and exit\&.
+.RE
+.PP
+\fB\-h\fR \fB\-\-help\fR
+.RS 4
+Show the help message\&.
+.RE
+.SH "COMMANDS"
+.PP
+\fBhelp\fR
+.RS 4
+Show the help message\&.
+.RE
+.PP
+\fBlist\fR
+.RS 4
+List the currently loaded modules\&.
+.RE
+.PP
+\fBstatic\-nodes\fR
+.RS 4
+Output the static device nodes information provided by the modules of the currently running kernel version\&.
+.RE
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2014, Marco d\*(AqItri\&. Maintained by Lucas De Marchi and others\&.
+.SH "SEE ALSO"
+.PP
+\fBlsmod\fR(8),
+\fBrmmod\fR(8),
+\fBinsmod\fR(8),
+\fBmodinfo\fR(8),
+\fBmodprobe\fR(8),
+\fBdepmod\fR(8)
+.SH "AUTHOR"
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/ld.so.8 b/upstream/fedora-40/man8/ld.so.8
new file mode 100644
index 00000000..39ca874f
--- /dev/null
+++ b/upstream/fedora-40/man8/ld.so.8
@@ -0,0 +1,930 @@
+.\" %%%LICENSE_START(PUBLIC_DOMAIN)
+.\" This is in the public domain
+.\" %%%LICENSE_END
+.\" Various parts:
+.\" Copyright (C) 2007-9, 2013, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.TH ld.so 8 2024-02-12 "Linux man-pages 6.06"
+.SH NAME
+ld.so, ld\-linux.so \- dynamic linker/loader
+.SH SYNOPSIS
+The dynamic linker can be run either indirectly by running some
+dynamically linked program or shared object
+(in which case no command-line options
+to the dynamic linker can be passed and, in the ELF case, the dynamic linker
+which is stored in the
+.B .interp
+section of the program is executed) or directly by running:
+.P
+.I /lib/ld\-linux.so.*
+[OPTIONS] [PROGRAM [ARGUMENTS]]
+.SH DESCRIPTION
+The programs
+.B ld.so
+and
+.B ld\-linux.so*
+find and load the shared objects (shared libraries) needed by a program,
+prepare the program to run, and then run it.
+.P
+Linux binaries require dynamic linking (linking at run time)
+unless the
+.B \-static
+option was given to
+.BR ld (1)
+during compilation.
+.P
+The program
+.B ld.so
+handles a.out binaries, a binary format used long ago.
+The program
+.B ld\-linux.so*
+(\fI/lib/ld\-linux.so.1\fP for libc5, \fI/lib/ld\-linux.so.2\fP for glibc2)
+handles binaries that are in the more modern ELF format.
+Both programs have the same behavior, and use the same
+support files and programs
+.RB ( ldd (1),
+.BR ldconfig (8),
+and
+.IR /etc/ld.so.conf ).
+.P
+When resolving shared object dependencies,
+the dynamic linker first inspects each dependency
+string to see if it contains a slash (this can occur if
+a shared object pathname containing slashes was specified at link time).
+If a slash is found, then the dependency string is interpreted as
+a (relative or absolute) pathname,
+and the shared object is loaded using that pathname.
+.P
+If a shared object dependency does not contain a slash,
+then it is searched for in the following order:
+.IP (1) 5
+Using the directories specified in the
+DT_RPATH dynamic section attribute
+of the binary if present and DT_RUNPATH attribute does not exist.
+Use of DT_RPATH is deprecated.
+.IP (2)
+Using the environment variable
+.BR LD_LIBRARY_PATH ,
+unless the executable is being run in secure-execution mode (see below),
+in which case this variable is ignored.
+.IP (3)
+Using the directories specified in the
+DT_RUNPATH dynamic section attribute
+of the binary if present.
+Such directories are searched only to
+find those objects required by DT_NEEDED (direct dependencies) entries
+and do not apply to those objects' children,
+which must themselves have their own DT_RUNPATH entries.
+This is unlike DT_RPATH, which is applied
+to searches for all children in the dependency tree.
+.IP (4)
+From the cache file
+.IR /etc/ld.so.cache ,
+which contains a compiled list of candidate shared objects previously found
+in the augmented library path.
+If, however, the binary was linked with the
+.B \-z nodefaultlib
+linker option, shared objects in the default paths are skipped.
+Shared objects installed in hardware capability directories (see below)
+are preferred to other shared objects.
+.IP (5)
+In the default path
+.IR /lib ,
+and then
+.IR /usr/lib .
+(On some 64-bit architectures, the default paths for 64-bit shared objects are
+.IR /lib64 ,
+and then
+.IR /usr/lib64 .)
+If the binary was linked with the
+.B \-z nodefaultlib
+linker option, this step is skipped.
+.\"
+.SS Dynamic string tokens
+In several places, the dynamic linker expands dynamic string tokens:
+.IP \[bu] 3
+In the environment variables
+.BR LD_LIBRARY_PATH ,
+.BR LD_PRELOAD ,
+and
+.BR LD_AUDIT ,
+.IP \[bu]
+inside the values of the dynamic section tags
+.BR DT_NEEDED ,
+.BR DT_RPATH ,
+.BR DT_RUNPATH ,
+.BR DT_AUDIT ,
+and
+.B DT_DEPAUDIT
+of ELF binaries,
+.IP \[bu]
+in the arguments to the
+.B ld.so
+command line options
+.BR \-\-audit ,
+.BR \-\-library\-path ,
+and
+.B \-\-preload
+(see below), and
+.IP \[bu]
+in the filename arguments to the
+.BR dlopen (3)
+and
+.BR dlmopen (3)
+functions.
+.P
+The substituted tokens are as follows:
+.TP
+.IR $ORIGIN " (or equivalently " ${ORIGIN} )
+This expands to
+the directory containing the program or shared object.
+Thus, an application located in
+.I somedir/app
+could be compiled with
+.IP
+.in +4n
+.EX
+gcc \-Wl,\-rpath,\[aq]$ORIGIN/../lib\[aq]
+.EE
+.in
+.IP
+so that it finds an associated shared object in
+.I somedir/lib
+no matter where
+.I somedir
+is located in the directory hierarchy.
+This facilitates the creation of "turn-key" applications that
+do not need to be installed into special directories,
+but can instead be unpacked into any directory
+and still find their own shared objects.
+.TP
+.IR $LIB " (or equivalently " ${LIB} )
+This expands to
+.I lib
+or
+.I lib64
+depending on the architecture
+(e.g., on x86-64, it expands to
+.I lib64
+and
+on x86-32, it expands to
+.IR lib ).
+.TP
+.IR $PLATFORM " (or equivalently " ${PLATFORM} )
+This expands to a string corresponding to the processor type
+of the host system (e.g., "x86_64").
+On some architectures, the Linux kernel doesn't provide a platform
+string to the dynamic linker.
+The value of this string is taken from the
+.B AT_PLATFORM
+value in the auxiliary vector (see
+.BR getauxval (3)).
+.\" To get an idea of the places that $PLATFORM would match,
+.\" look at the output of the following:
+.\"
+.\" mkdir /tmp/d
+.\" LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
+.\"
+.\" ld.so lets names be abbreviated, so $O will work for $ORIGIN;
+.\" Don't do this!!
+.P
+Note that the dynamic string tokens have to be quoted properly when
+set from a shell,
+to prevent their expansion as shell or environment variables.
+.SH OPTIONS
+.TP
+.BR \-\-argv0 " \fIstring\fP (since glibc 2.33)"
+Set
+.I argv[0]
+to the value
+.I string
+before running the program.
+.TP
+.BI \-\-audit " list"
+Use objects named in
+.I list
+as auditors.
+The objects in
+.I list
+are delimited by colons.
+.TP
+.BI \-\-glibc-hwcaps-mask " list"
+only search built-in subdirectories if in
+.IR list .
+.TP
+.BI \-\-glibc-hwcaps-prepend " list"
+Search glibc-hwcaps subdirectories in
+.IR list .
+.TP
+.B \-\-inhibit\-cache
+Do not use
+.IR /etc/ld.so.cache .
+.TP
+.BI \-\-library\-path " path"
+Use
+.I path
+instead of
+.B LD_LIBRARY_PATH
+environment variable setting (see below).
+The names
+.IR ORIGIN ,
+.IR LIB ,
+and
+.I PLATFORM
+are interpreted as for the
+.B LD_LIBRARY_PATH
+environment variable.
+.TP
+.BI \-\-inhibit\-rpath " list"
+Ignore RPATH and RUNPATH information in object names in
+.IR list .
+This option is ignored when running in secure-execution mode (see below).
+The objects in
+.I list
+are delimited by colons or spaces.
+.TP
+.B \-\-list
+List all dependencies and how they are resolved.
+.TP
+.BR \-\-list\-diagnostics " (since glibc 2.33)"
+Print system diagnostic information in a machine-readable format,
+such as some internal loader variables,
+the auxiliary vector
+(see
+.BR getauxval (3)),
+and the environment variables.
+On some architectures,
+the command might print additional information
+(like the cpu features used in GNU indirect function selection on x86).
+.BR \-\-list\-tunables " (since glibc 2.33)"
+Print the names and values of all tunables,
+along with the minimum and maximum allowed values.
+.TP
+.BR \-\-preload " \fIlist\fP (since glibc 2.30)"
+Preload the objects specified in
+.IR list .
+The objects in
+.I list
+are delimited by colons or spaces.
+The objects are preloaded as explained in the description of the
+.B LD_PRELOAD
+environment variable below.
+.IP
+By contrast with
+.BR LD_PRELOAD ,
+the
+.B \-\-preload
+option provides a way to perform preloading for a single executable
+without affecting preloading performed in any child process that executes
+a new program.
+.TP
+.B \-\-verify
+Verify that program is dynamically linked and this dynamic linker can handle
+it.
+.SH ENVIRONMENT
+Various environment variables influence the operation of the dynamic linker.
+.\"
+.SS Secure-execution mode
+For security reasons,
+if the dynamic linker determines that a binary should be
+run in secure-execution mode,
+the effects of some environment variables are voided or modified,
+and furthermore those environment variables are stripped from the environment,
+so that the program does not even see the definitions.
+Some of these environment variables affect the operation of
+the dynamic linker itself, and are described below.
+Other environment variables treated in this way include:
+.BR GCONV_PATH ,
+.BR GETCONF_DIR ,
+.BR HOSTALIASES ,
+.BR LOCALDOMAIN ,
+.BR LD_AUDIT ,
+.BR LD_DEBUG ,
+.BR LD_DEBUG_OUTPUT ,
+.BR LD_DYNAMIC_WEAK ,
+.BR LD_HWCAP_MASK ,
+.BR LD_LIBRARY_PATH ,
+.BR LD_ORIGIN_PATH ,
+.BR LD_PRELOAD ,
+.BR LD_PROFILE ,
+.BR LD_SHOW_AUXV ,
+.BR LOCALDOMAIN ,
+.BR LOCPATH ,
+.BR MALLOC_TRACE ,
+.BR NIS_PATH ,
+.BR NLSPATH ,
+.BR RESOLV_HOST_CONF ,
+.BR RES_OPTIONS ,
+.BR TMPDIR ,
+and
+.BR TZDIR .
+.P
+A binary is executed in secure-execution mode if the
+.B AT_SECURE
+entry in the auxiliary vector (see
+.BR getauxval (3))
+has a nonzero value.
+This entry may have a nonzero value for various reasons, including:
+.IP \[bu] 3
+The process's real and effective user IDs differ,
+or the real and effective group IDs differ.
+This typically occurs as a result of executing
+a set-user-ID or set-group-ID program.
+.IP \[bu]
+A process with a non-root user ID executed a binary that
+conferred capabilities to the process.
+.IP \[bu]
+A nonzero value may have been set by a Linux Security Module.
+.\"
+.SS Environment variables
+Among the more important environment variables are the following:
+.TP
+.BR LD_ASSUME_KERNEL " (from glibc 2.2.3 to glibc 2.36)"
+Each shared object can inform the dynamic linker of the minimum kernel ABI
+version that it requires.
+(This requirement is encoded in an ELF note section that is viewable via
+.I readelf\~\-n
+as a section labeled
+.BR NT_GNU_ABI_TAG .)
+At run time,
+the dynamic linker determines the ABI version of the running kernel and
+will reject loading shared objects that specify minimum ABI versions
+that exceed that ABI version.
+.IP
+.B LD_ASSUME_KERNEL
+can be used to
+cause the dynamic linker to assume that it is running on a system with
+a different kernel ABI version.
+For example, the following command line causes the
+dynamic linker to assume it is running on Linux 2.2.5 when loading
+the shared objects required by
+.IR myprog :
+.IP
+.in +4n
+.EX
+$ \fBLD_ASSUME_KERNEL=2.2.5 ./myprog\fP
+.EE
+.in
+.IP
+On systems that provide multiple versions of a shared object
+(in different directories in the search path) that have
+different minimum kernel ABI version requirements,
+.B LD_ASSUME_KERNEL
+can be used to select the version of the object that is used
+(dependent on the directory search order).
+.IP
+Historically, the most common use of the
+.B LD_ASSUME_KERNEL
+feature was to manually select the older
+LinuxThreads POSIX threads implementation on systems that provided both
+LinuxThreads and NPTL
+(which latter was typically the default on such systems);
+see
+.BR pthreads (7).
+.TP
+.BR LD_BIND_NOW " (since glibc 2.1.1)"
+If set to a nonempty string,
+causes the dynamic linker to resolve all symbols
+at program startup instead of deferring function call resolution to the point
+when they are first referenced.
+This is useful when using a debugger.
+.TP
+.B LD_LIBRARY_PATH
+A list of directories in which to search for
+ELF libraries at execution time.
+The items in the list are separated by either colons or semicolons,
+and there is no support for escaping either separator.
+A zero-length directory name indicates the current working directory.
+.IP
+This variable is ignored in secure-execution mode.
+.IP
+Within the pathnames specified in
+.BR LD_LIBRARY_PATH ,
+the dynamic linker expands the tokens
+.IR $ORIGIN ,
+.IR $LIB ,
+and
+.I $PLATFORM
+(or the versions using curly braces around the names)
+as described above in
+.IR "Dynamic string tokens" .
+Thus, for example,
+the following would cause a library to be searched for in either the
+.I lib
+or
+.I lib64
+subdirectory below the directory containing the program to be executed:
+.IP
+.in +4n
+.EX
+$ \fBLD_LIBRARY_PATH=\[aq]$ORIGIN/$LIB\[aq] prog\fP
+.EE
+.in
+.IP
+(Note the use of single quotes, which prevent expansion of
+.I $ORIGIN
+and
+.I $LIB
+as shell variables!)
+.TP
+.B LD_PRELOAD
+A list of additional, user-specified, ELF shared
+objects to be loaded before all others.
+This feature can be used to selectively override functions
+in other shared objects.
+.IP
+The items of the list can be separated by spaces or colons,
+and there is no support for escaping either separator.
+The objects are searched for using the rules given under DESCRIPTION.
+Objects are searched for and added to the link map in the left-to-right
+order specified in the list.
+.IP
+In secure-execution mode,
+preload pathnames containing slashes are ignored.
+Furthermore, shared objects are preloaded only
+from the standard search directories and only
+if they have set-user-ID mode bit enabled (which is not typical).
+.IP
+Within the names specified in the
+.B LD_PRELOAD
+list, the dynamic linker understands the tokens
+.IR $ORIGIN ,
+.IR $LIB ,
+and
+.I $PLATFORM
+(or the versions using curly braces around the names)
+as described above in
+.IR "Dynamic string tokens" .
+(See also the discussion of quoting under the description of
+.BR LD_LIBRARY_PATH .)
+.\" Tested with the following:
+.\"
+.\" LD_PRELOAD='$LIB/libmod.so' LD_LIBRARY_PATH=. ./prog
+.\"
+.\" which will preload the libmod.so in 'lib' or 'lib64', using it
+.\" in preference to the version in '.'.
+.IP
+There are various methods of specifying libraries to be preloaded,
+and these are handled in the following order:
+.RS
+.IP (1) 5
+The
+.B LD_PRELOAD
+environment variable.
+.IP (2)
+The
+.B \-\-preload
+command-line option when invoking the dynamic linker directly.
+.IP (3)
+The
+.I /etc/ld.so.preload
+file (described below).
+.RE
+.TP
+.B LD_TRACE_LOADED_OBJECTS
+If set (to any value), causes the program to list its dynamic
+dependencies, as if run by
+.BR ldd (1),
+instead of running normally.
+.P
+Then there are lots of more or less obscure variables,
+many obsolete or only for internal use.
+.TP
+.BR LD_AUDIT " (since glibc 2.4)"
+A list of user-specified, ELF shared objects
+to be loaded before all others in a separate linker namespace
+(i.e., one that does not intrude upon the normal symbol bindings that
+would occur in the process)
+These objects can be used to audit the operation of the dynamic linker.
+The items in the list are colon-separated,
+and there is no support for escaping the separator.
+.IP
+.B LD_AUDIT
+is ignored in secure-execution mode.
+.IP
+The dynamic linker will notify the audit
+shared objects at so-called auditing checkpoints\[em]for example,
+loading a new shared object, resolving a symbol,
+or calling a symbol from another shared object\[em]by
+calling an appropriate function within the audit shared object.
+For details, see
+.BR rtld\-audit (7).
+The auditing interface is largely compatible with that provided on Solaris,
+as described in its
+.IR "Linker and Libraries Guide" ,
+in the chapter
+.IR "Runtime Linker Auditing Interface" .
+.IP
+Within the names specified in the
+.B LD_AUDIT
+list, the dynamic linker understands the tokens
+.IR $ORIGIN ,
+.IR $LIB ,
+and
+.I $PLATFORM
+(or the versions using curly braces around the names)
+as described above in
+.IR "Dynamic string tokens" .
+(See also the discussion of quoting under the description of
+.BR LD_LIBRARY_PATH .)
+.IP
+Since glibc 2.13,
+.\" commit 8e9f92e9d5d7737afdacf79b76d98c4c42980508
+in secure-execution mode,
+names in the audit list that contain slashes are ignored,
+and only shared objects in the standard search directories that
+have the set-user-ID mode bit enabled are loaded.
+.TP
+.BR LD_BIND_NOT " (since glibc 2.1.95)"
+If this environment variable is set to a nonempty string,
+do not update the GOT (global offset table) and PLT (procedure linkage table)
+after resolving a function symbol.
+By combining the use of this variable with
+.B LD_DEBUG
+(with the categories
+.I bindings
+and
+.IR symbols ),
+one can observe all run-time function bindings.
+.TP
+.BR LD_DEBUG " (since glibc 2.1)"
+Output verbose debugging information about operation of the dynamic linker.
+The content of this variable is one of more of the following categories,
+separated by colons, commas, or (if the value is quoted) spaces:
+.RS
+.TP 12
+.I help
+Specifying
+.I help
+in the value of this variable does not run the specified program,
+and displays a help message about which categories can be specified in this
+environment variable.
+.TP
+.I all
+Print all debugging information (except
+.I statistics
+and
+.IR unused ;
+see below).
+.TP
+.I bindings
+Display information about which definition each symbol is bound to.
+.TP
+.I files
+Display progress for input file.
+.TP
+.I libs
+Display library search paths.
+.TP
+.I reloc
+Display relocation processing.
+.TP
+.I scopes
+Display scope information.
+.TP
+.I statistics
+Display relocation statistics.
+.TP
+.I symbols
+Display search paths for each symbol look-up.
+.TP
+.I unused
+Determine unused DSOs.
+.TP
+.I versions
+Display version dependencies.
+.RE
+.IP
+Since glibc 2.3.4,
+.B LD_DEBUG
+is ignored in secure-execution mode, unless the file
+.I /etc/suid\-debug
+exists (the content of the file is irrelevant).
+.TP
+.BR LD_DEBUG_OUTPUT " (since glibc 2.1)"
+By default,
+.B LD_DEBUG
+output is written to standard error.
+If
+.B LD_DEBUG_OUTPUT
+is defined, then output is written to the pathname specified by its value,
+with the suffix "." (dot) followed by the process ID appended to the pathname.
+.IP
+.B LD_DEBUG_OUTPUT
+is ignored in secure-execution mode.
+.TP
+.BR LD_DYNAMIC_WEAK " (since glibc 2.1.91)"
+By default, when searching shared libraries to resolve a symbol reference,
+the dynamic linker will resolve to the first definition it finds.
+.IP
+Old glibc versions (before glibc 2.2), provided a different behavior:
+if the linker found a symbol that was weak,
+it would remember that symbol and
+keep searching in the remaining shared libraries.
+If it subsequently found a strong definition of the same symbol,
+then it would instead use that definition.
+(If no further symbol was found,
+then the dynamic linker would use the weak symbol that it initially found.)
+.IP
+The old glibc behavior was nonstandard.
+(Standard practice is that the distinction between
+weak and strong symbols should have effect only at static link time.)
+In glibc 2.2,
+.\" More precisely 2.1.92
+.\" See weak handling
+.\" https://www.sourceware.org/ml/libc-hacker/2000-06/msg00029.html
+.\" To: GNU libc hacker <libc-hacker at sourceware dot cygnus dot com>
+.\" Subject: weak handling
+.\" From: Ulrich Drepper <drepper at redhat dot com>
+.\" Date: 07 Jun 2000 20:08:12 -0700
+.\" Reply-To: drepper at cygnus dot com (Ulrich Drepper)
+the dynamic linker was modified to provide the current behavior
+(which was the behavior that was provided by most other implementations
+at that time).
+.IP
+Defining the
+.B LD_DYNAMIC_WEAK
+environment variable (with any value) provides
+the old (nonstandard) glibc behavior,
+whereby a weak symbol in one shared library may be overridden by
+a strong symbol subsequently discovered in another shared library.
+(Note that even when this variable is set,
+a strong symbol in a shared library will not override
+a weak definition of the same symbol in the main program.)
+.IP
+Since glibc 2.3.4,
+.B LD_DYNAMIC_WEAK
+is ignored in secure-execution mode.
+.TP
+.BR LD_HWCAP_MASK " (from glibc 2.1 to glibc 2.38)"
+Mask for hardware capabilities.
+Since glibc 2.26,
+the option might be ignored
+if glibc does not support tunables.
+.TP
+.BR LD_ORIGIN_PATH " (since glibc 2.1)"
+Path where the binary is found.
+.\" Used only if $ORIGIN can't be determined by normal means
+.\" (from the origin path saved at load time, or from /proc/self/exe)?
+.IP
+Since glibc 2.4,
+.B LD_ORIGIN_PATH
+is ignored in secure-execution mode.
+.TP
+.BR LD_POINTER_GUARD " (from glibc 2.4 to glibc 2.22)"
+Set to 0 to disable pointer guarding.
+Any other value enables pointer guarding, which is also the default.
+Pointer guarding is a security mechanism whereby some pointers to code
+stored in writable program memory (return addresses saved by
+.BR setjmp (3)
+or function pointers used by various glibc internals) are mangled
+semi-randomly to make it more difficult for an attacker to hijack
+the pointers for use in the event of a buffer overrun or
+stack-smashing attack.
+Since glibc 2.23,
+.\" commit a014cecd82b71b70a6a843e250e06b541ad524f7
+.B LD_POINTER_GUARD
+can no longer be used to disable pointer guarding,
+which is now always enabled.
+.TP
+.BR LD_PROFILE " (since glibc 2.1)"
+The name of a (single) shared object to be profiled,
+specified either as a pathname or a soname.
+Profiling output is appended to the file whose name is:
+.RI \%$LD_PROFILE_OUTPUT /\: $LD_PROFILE .profile .
+.IP
+Since glibc 2.2.5,
+.B LD_PROFILE
+uses a different default path in secure-execution mode.
+.TP
+.BR LD_PROFILE_OUTPUT " (since glibc 2.1)"
+Directory where
+.B LD_PROFILE
+output should be written.
+If this variable is not defined, or is defined as an empty string,
+then the default is
+.IR /var/tmp .
+.IP
+.B LD_PROFILE_OUTPUT
+is ignored in secure-execution mode; instead
+.I /var/profile
+is always used.
+.TP
+.BR LD_SHOW_AUXV " (since glibc 2.1)"
+If this environment variable is defined (with any value),
+show the auxiliary array passed up from the kernel (see also
+.BR getauxval (3)).
+.IP
+Since glibc 2.3.4,
+.B LD_SHOW_AUXV
+is ignored in secure-execution mode.
+.TP
+.BR LD_TRACE_PRELINKING " (from glibc 2.4 to glibc 2.35)"
+If this environment variable is defined,
+trace prelinking of the object whose name is assigned to
+this environment variable.
+(Use
+.BR ldd (1)
+to get a list of the objects that might be traced.)
+If the object name is not recognized,
+.\" (This is what seems to happen, from experimenting)
+then all prelinking activity is traced.
+.TP
+.BR LD_USE_LOAD_BIAS " (from glibc 2.3.3 to glibc 2.35)"
+.\" http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
+.\" Subject: [PATCH] Support LD_USE_LOAD_BIAS
+.\" Jakub Jelinek
+By default (i.e., if this variable is not defined),
+executables and prelinked
+shared objects will honor base addresses of their dependent shared objects
+and (nonprelinked) position-independent executables (PIEs)
+and other shared objects will not honor them.
+If
+.B LD_USE_LOAD_BIAS
+is defined with the value 1, both executables and PIEs
+will honor the base addresses.
+If
+.B LD_USE_LOAD_BIAS
+is defined with the value 0,
+neither executables nor PIEs will honor the base addresses.
+.IP
+Since glibc 2.3.3, this variable is ignored in secure-execution mode.
+.TP
+.BR LD_VERBOSE " (since glibc 2.1)"
+If set to a nonempty string,
+output symbol versioning information about the
+program if the
+.B LD_TRACE_LOADED_OBJECTS
+environment variable has been set.
+.TP
+.BR LD_WARN " (since glibc 2.1.3)"
+If set to a nonempty string, warn about unresolved symbols.
+.TP
+.BR LD_PREFER_MAP_32BIT_EXEC " (x86-64 only; since glibc 2.23)"
+According to the Intel Silvermont software optimization guide, for 64-bit
+applications, branch prediction performance can be negatively impacted
+when the target of a branch is more than 4\ GB away from the branch.
+If this environment variable is set (to any value),
+the dynamic linker
+will first try to map executable pages using the
+.BR mmap (2)
+.B MAP_32BIT
+flag, and fall back to mapping without that flag if that attempt fails.
+NB: MAP_32BIT will map to the low 2\ GB (not 4\ GB) of the address space.
+.IP
+Because
+.B MAP_32BIT
+reduces the address range available for address space layout
+randomization (ASLR),
+.B LD_PREFER_MAP_32BIT_EXEC
+is always disabled in secure-execution mode.
+.SH FILES
+.TP
+.I /lib/ld.so
+a.out dynamic linker/loader
+.TP
+.IR /lib/ld\-linux.so. { 1 , 2 }
+ELF dynamic linker/loader
+.TP
+.I /etc/ld.so.cache
+File containing a compiled list of directories in which to search for
+shared objects and an ordered list of candidate shared objects.
+See
+.BR ldconfig (8).
+.TP
+.I /etc/ld.so.preload
+File containing a whitespace-separated list of ELF shared objects to
+be loaded before the program.
+See the discussion of
+.B LD_PRELOAD
+above.
+If both
+.B LD_PRELOAD
+and
+.I /etc/ld.so.preload
+are employed, the libraries specified by
+.B LD_PRELOAD
+are preloaded first.
+.I /etc/ld.so.preload
+has a system-wide effect,
+causing the specified libraries to be preloaded for
+all programs that are executed on the system.
+(This is usually undesirable,
+and is typically employed only as an emergency remedy, for example,
+as a temporary workaround to a library misconfiguration issue.)
+.TP
+.I lib*.so*
+shared objects
+.SH NOTES
+.SS Legacy Hardware capabilities (from glibc 2.5 to glibc 2.37)
+Some shared objects are compiled using hardware-specific instructions which do
+not exist on every CPU.
+Such objects should be installed in directories whose names define the
+required hardware capabilities, such as
+.IR /usr/lib/sse2/ .
+The dynamic linker checks these directories against the hardware of the
+machine and selects the most suitable version of a given shared object.
+Hardware capability directories can be cascaded to combine CPU features.
+The list of supported hardware capability names depends on the CPU.
+The following names are currently recognized:
+.\" Presumably, this info comes from sysdeps/i386/dl-procinfo.c and
+.\" similar files
+.TP
+.B Alpha
+ev4, ev5, ev56, ev6, ev67
+.TP
+.B MIPS
+loongson2e, loongson2f, octeon, octeon2
+.TP
+.B PowerPC
+4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, efpsingle,
+fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, ppc32, ppc601,
+ppc64, smt, spe, ucache, vsx
+.TP
+.B SPARC
+flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2
+.TP
+.B s390
+dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle,
+z900, z990, z9-109, z10, zarch
+.TP
+.B x86 (32-bit only)
+acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, mmx,
+mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm
+.P
+The legacy hardware capabilities support has the drawback that
+each new feature added grows the search path exponentially,
+because it has to be added to
+every combination of the other existing features.
+.P
+For instance, on x86 32-bit,
+if the hardware supports
+.B i686
+and
+.BR sse2 ,
+the resulting search path will be
+.BR i686/sse2:i686:sse2:. .
+A new capability
+.B newcap
+will set the search path to
+.BR newcap/i686/sse2:newcap/i686:newcap/sse2:newcap:i686/sse2:i686:sse2: .
+.\"
+.SS glibc Hardware capabilities (from glibc 2.33)
+.TP
+.\" The initial discussion on various pitfalls of the old scheme is
+.\" <https://sourceware.org/pipermail/libc-alpha/2020-May/113757.html>
+.\" and the patchset that proposes the glibc-hwcap support is
+.\" <https://sourceware.org/pipermail/libc-alpha/2020-June/115250.html>
+glibc 2.33 added a new hardware capability scheme,
+where under each CPU architecture,
+certain levels can be defined,
+grouping support for certain features or special instructions.
+Each architecture level has
+a fixed set of paths that it adds to the dynamic linker search list,
+depending on the hardware of the machine.
+Since each new architecture level is
+not combined with previously existing ones,
+the new scheme does not have the drawback of
+growing the dynamic linker search list uncontrollably.
+.P
+For instance, on x86 64-bit,
+if the hardware supports
+.B x86_64-v3
+(for instance Intel Haswell or AMD Excavator),
+the resulting search path will be
+.B glibc-hwcaps/x86-64-v3:glibc-hwcaps/x86-64-v2:.
+.\" The x86_64 architectures levels are defined the official ABI:
+.\" <https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex>
+.\" The PowerPC and s390x are glibc defined ones based on chip
+.\" support (which maps to ISA levels).
+The following paths are currently supported, in priority order.
+.TP
+.B PowerPC (64-bit little-endian only)
+power10, power9
+.TP
+.B s390 (64-bit only)
+z16, z15, z14, z13
+.TP
+.B x86 (64-bit only)
+x86-64-v4, x86-64-v3, x86-64-v2
+.P
+glibc 2.37 removed support for the legacy hardware capabilities.
+.\"
+.SH SEE ALSO
+.BR ld (1),
+.BR ldd (1),
+.BR pldd (1),
+.BR sprof (1),
+.BR dlopen (3),
+.BR getauxval (3),
+.BR elf (5),
+.BR capabilities (7),
+.BR rtld\-audit (7),
+.BR ldconfig (8),
+.BR sln (8)
+.\" .SH AUTHORS
+.\" ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
+.\" Torvalds, Lars Wirzenius and Mitch D'Souza
+.\" ld\-linux.so: Roland McGrath, Ulrich Drepper and others.
+.\"
+.\" In the above, (libc5) stands for David Engel's ld.so/ld\-linux.so.
diff --git a/upstream/fedora-40/man8/ldconfig.8 b/upstream/fedora-40/man8/ldconfig.8
new file mode 100644
index 00000000..7efb67fa
--- /dev/null
+++ b/upstream/fedora-40/man8/ldconfig.8
@@ -0,0 +1,204 @@
+.\" Copyright 1999 SuSE GmbH Nuernberg, Germany
+.\" Author: Thorsten Kukuk <kukuk@suse.de>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.\" Modified, 6 May 2002, Michael Kerrisk, <mtk.manpages@gmail.com>
+.\" Change listed order of /usr/lib and /lib
+.TH ldconfig 8 2023-10-31 "Linux man-pages 6.06"
+.SH NAME
+ldconfig \- configure dynamic linker run-time bindings
+.SH SYNOPSIS
+.SY /sbin/ldconfig
+.\" TODO?: -c, --format, -i, --ignore-aux-cache, --print-cache,
+.\" --verbose, -V, --version, -?, --help, --usage
+.RB [ \-nNvVX ]
+.RB [ \-C\~\c
+.IR cache ]
+.RB [ \-f\~\c
+.IR conf ]
+.RB [ \-r\~\c
+.IR root ]
+.IR directory \~.\|.\|.
+.YS
+.SY /sbin/ldconfig
+.B \-l
+.RB [ \-v ]
+.IR library \~.\|.\|.
+.YS
+.SY /sbin/ldconfig
+.B \-p
+.YS
+.SH DESCRIPTION
+.B \%ldconfig
+creates the necessary links and cache to the most recent shared
+libraries found in the directories specified on the command line,
+in the file
+.IR /etc/ld.so.conf ,
+and in the trusted directories,
+.I /lib
+and
+.IR /usr/lib .
+On some 64-bit architectures such as x86-64,
+.I /lib
+and
+.I /usr/lib
+are the trusted directories for 32-bit libraries,
+while
+.I /lib64
+and
+.I /usr/lib64
+are used for 64-bit libraries.
+.P
+The cache is used by the run-time linker,
+.I ld.so
+or
+.IR ld\-linux.so .
+.B \%ldconfig
+checks the header and filenames of the libraries it encounters when
+determining which versions should have their links updated.
+.\" Support for libc4 and libc5 dropped in
+.\" 8ee878592c4a642937152c8308b8faef86bcfc40 (2022-07-14) as "obsolete
+.\" for over twenty years".
+.B \%ldconfig
+should normally be run by the superuser as it may require write
+permission on some root owned directories and files.
+.P
+.B \%ldconfig
+will look only at files that are named
+.I lib*.so*
+(for regular shared objects) or
+.I ld\-*.so*
+(for the dynamic loader itself).
+Other files will be ignored.
+Also,
+.B \%ldconfig
+expects a certain pattern to how the symbolic links are set up,
+like this example,
+where the middle file
+.RB ( libfoo.so.1
+here) is the SONAME for the library:
+.P
+.in +4n
+.EX
+libfoo.so \-> libfoo.so.1 \-> libfoo.so.1.12
+.EE
+.in
+.P
+Failure to follow this pattern may result in compatibility issues
+after an upgrade.
+.SH OPTIONS
+.TP
+.BI \-\-format= fmt
+.TQ
+.BI \-c\~ fmt
+(Since glibc 2.2)
+.\" commit 45eca4d141c047950db48c69c8941163d0a61fcd
+Use cache format
+.IR fmt ,
+which is one of
+.BR old ,
+.BR new ,
+or
+.BR \%compat .
+Since glibc 2.32,
+the default is
+.BR new .
+.\" commit cad64f778aced84efdaa04ae64f8737b86f063ab
+Before that,
+it was
+.BR \%compat .
+.TP
+.BI \-C\~ cache
+Use
+.I cache
+instead of
+.IR /etc/ld.so.cache .
+.TP
+.BI \-f\~ conf
+Use
+.I conf
+instead of
+.IR /etc/ld.so.conf .
+.TP
+.B \-\-ignore\-aux\-cache
+.TQ
+.B \-i
+(Since glibc 2.7)
+.\" commit 27d9ffda17df4d2388687afd12897774fde39bcc
+Ignore auxiliary cache file.
+.TP
+.B \-l
+(Since glibc 2.2)
+Interpret each operand as a library name and configure its links.
+Intended for use only by experts.
+.TP
+.B \-n
+Process only the directories specified on the command line;
+don't process the trusted directories,
+nor those specified in
+.IR /etc/ld.so.conf .
+Implies
+.BR \-N .
+.TP
+.B \-N
+Don't rebuild the cache.
+Unless
+.B \-X
+is also specified,
+links are still updated.
+.TP
+.B \-\-print\-cache
+.TQ
+.B \-p
+Print the lists of directories and candidate libraries stored in
+the current cache.
+.TP
+.BI \-r\~ root
+Change to and use
+.I root
+as the root directory.
+.TP
+.B \-\-verbose
+.TQ
+.B \-v
+Verbose mode.
+Print current version number,
+the name of each directory as it is scanned,
+and any links that are created.
+Overrides quiet mode.
+.TP
+.B \-\-version
+.TQ
+.B \-V
+Print program version.
+.TP
+.B \-X
+Don't update links.
+Unless
+.B \-N
+is also specified,
+the cache is still rebuilt.
+.SH FILES
+.\" FIXME Since glibc-2.3.4, "include" directives are supported in ld.so.conf
+.\"
+.\" FIXME Since glibc-2.4, "hwcap" directives are supported in ld.so.conf
+.PD 0
+.TP
+.I /lib/ld.so
+is the run-time linker/loader.
+.TP
+.I /etc/ld.so.conf
+contains a list of directories,
+one per line,
+in which to search for libraries.
+.TP
+.I /etc/ld.so.cache
+contains an ordered list of libraries found in the directories
+specified in
+.IR /etc/ld.so.conf ,
+as well as those found in the trusted directories.
+.PD
+.SH SEE ALSO
+.BR ldd (1),
+.BR ld.so (8)
diff --git a/upstream/fedora-40/man8/lnstat.8 b/upstream/fedora-40/man8/lnstat.8
new file mode 100644
index 00000000..b98241bf
--- /dev/null
+++ b/upstream/fedora-40/man8/lnstat.8
@@ -0,0 +1,262 @@
+.TH LNSTAT 8
+.SH NAME
+lnstat \- unified linux network statistics
+.SH SYNOPSIS
+.B lnstat
+.RI [ options ]
+.SH DESCRIPTION
+This manual page documents briefly the
+.B lnstat
+command.
+.PP
+\fBlnstat\fP is a generalized and more feature-complete replacement for the old
+rtstat program. It is commonly used to periodically print a selection of
+statistical values exported by the kernel.
+In addition to routing cache statistics, it supports any kind of statistics the
+linux kernel exports via a file in /proc/net/stat/.
+.PP
+Each file in /proc/net/stat/ contains a header line listing the column names.
+These names are used by \fBlnstat\fP as keys for selecting which statistics to
+print. For every CPU present in the system, a line follows which lists the
+actual values for each column of the file. \fBlnstat\fP sums these values up
+(which in fact are counters) before printing them. After each interval, only
+the difference to the last value is printed.
+.PP
+Files and columns may be selected by using the \fB-f\fP and \fB-k\fP
+parameters. By default, all columns of all files are printed.
+.SH OPTIONS
+lnstat supports the following options.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-V, \-\-version
+Show version of program.
+.TP
+.B \-c, \-\-count <count>
+Print <count> number of intervals.
+.TP
+.B \-d, \-\-dump
+Dump list of available files/keys.
+.TP
+.B \-f, \-\-file <file>
+Statistics file to use, may be specified multiple times. By default all files in /proc/net/stat are scanned.
+.TP
+.B \-i, \-\-interval <intv>
+Set interval to 'intv' seconds.
+.TP
+.B \-j, \-\-json
+Display results in JSON format
+.TP
+.B \-k, \-\-keys k,k,k,...
+Display only keys specified. Each key \fBk\fP is of the form \fB[file:]key\fP. If \fB<file>\fP
+is given, the search for the given key is limited to that file. Otherwise the first file containing
+the searched key is being used.
+.TP
+.B \-s, \-\-subject [0-2]
+Specify display of subject/header. '0' means no header at all, '1' prints a header only at start of the program and '2' prints a header every 20 lines.
+.TP
+.B \-w, \-\-width n,n,n,...
+Width for each field.
+.SH USAGE EXAMPLES
+.TP
+.B # lnstat -d
+Get a list of supported statistics files.
+.TP
+.B # lnstat -k arp_cache:entries,rt_cache:in_hit,arp_cache:destroys
+Select the specified files and keys.
+.TP
+.B # lnstat -i 10
+Use an interval of 10 seconds.
+.TP
+.B # lnstat -f ip_conntrack
+Use only the specified file for statistics.
+.TP
+.B # lnstat -s 0
+Do not print a header at all.
+.TP
+.B # lnstat -s 20
+Print a header at start and every 20 lines.
+.TP
+.B # lnstat -c -1 -i 1 -f rt_cache -k entries,in_hit,in_slow_tot
+Display statistics for keys entries, in_hit and in_slow_tot of field rt_cache every second.
+
+.SH FILES
+.TP
+.B /proc/net/stat/arp_cache, /proc/net/stat/ndisc_cache
+Statistics around neighbor cache and ARP. \fBarp_cache\fP is for IPv4, \fBndisc_cache\fP is the same for IPv6.
+.sp
+.B entries
+Number of entries in the neighbor table.
+.sp
+.B allocs
+How many neighbor entries have been allocated.
+.sp
+.B destroys
+How many neighbor entries have been removed.
+.sp
+.B hash_grows
+How often the neighbor (hash) table was increased.
+.sp
+.B lookups
+How many lookups were performed.
+.sp
+.B hits
+How many \fBlookups\fP were successful.
+.sp
+.B res_failed
+How many neighbor lookups failed.
+.sp
+.B rcv_probes_mcast
+How many multicast neighbor solicitations were received. (IPv6 only.)
+.sp
+.B rcv_probes_ucast
+How many unicast neighbor solicitations were received. (IPv6 only.)
+.sp
+.B periodic_gc_runs
+How many garbage collection runs were executed.
+.sp
+.B forced_gc_runs
+How many forced garbage collection runs were executed. Happens when adding an
+entry and the table is too full.
+.sp
+.B unresolved_discards
+How many neighbor table entries were discarded due to lookup failure.
+.sp
+.B table_fulls
+Number of table overflows. Happens if table is full and forced GC run (see
+\fBforced_gc_runs\fP) has failed.
+
+.TP
+.B /proc/net/stat/ip_conntrack, /proc/net/stat/nf_conntrack
+Conntrack related counters. \fBip_conntrack\fP is for backwards compatibility
+with older userspace only and shows the same data as \fBnf_conntrack\fP.
+.sp
+.B entries
+Number of entries in conntrack table.
+.sp
+.B searched
+Number of conntrack table lookups performed.
+.sp
+.B found
+Number of \fBsearched\fP entries which were successful.
+.sp
+.B new
+Number of conntrack entries added which were not expected before.
+.sp
+.B invalid
+Number of packets seen which can not be tracked.
+.sp
+.B ignore
+Number of packets seen which are already connected to a conntrack entry.
+.sp
+.B delete
+Number of conntrack entries which were removed.
+.sp
+.B delete_list
+Number of conntrack entries which were put to dying list.
+.sp
+.B insert
+Number of entries inserted into the list.
+.sp
+.B insert_failed
+Number of entries for which list insertion was attempted but failed (happens if
+the same entry is already present).
+.sp
+.B drop
+Number of packets dropped due to conntrack failure. Either new conntrack entry
+allocation failed, or protocol helper dropped the packet.
+.sp
+.B early_drop
+Number of dropped conntrack entries to make room for new ones, if maximum table
+size was reached.
+.sp
+.B icmp_error
+Number of packets which could not be tracked due to error situation. This is a
+subset of \fBinvalid\fP.
+.sp
+.B expect_new
+Number of conntrack entries added after an expectation for them was already
+present.
+.sp
+.B expect_create
+Number of expectations added.
+.sp
+.B expect_delete
+Number of expectations deleted.
+.sp
+.B search_restart
+Number of conntrack table lookups which had to be restarted due to hashtable
+resizes.
+
+.TP
+.B /proc/net/stat/rt_cache
+Routing cache statistics.
+.sp
+.B entries
+Number of entries in routing cache.
+.sp
+.B in_hit
+Number of route cache hits for incoming packets. Deprecated since IP route
+cache removal, therefore always zero.
+.sp
+.B in_slow_tot
+Number of routing cache entries added for input traffic.
+.sp
+.B in_slow_mc
+Number of multicast routing cache entries added for input traffic.
+.sp
+.B in_no_route
+Number of input packets for which no routing table entry was found.
+.sp
+.B in_brd
+Number of matched input broadcast packets.
+.sp
+.B in_martian_dst
+Number of incoming martian destination packets.
+.sp
+.B in_martian_src
+Number of incoming martian source packets.
+.sp
+.B out_hit
+Number of route cache hits for outgoing packets. Deprecated since IP route
+cache removal, therefore always zero.
+.sp
+.B out_slow_tot
+Number of routing cache entries added for output traffic.
+.sp
+.B out_slow_mc
+Number of multicast routing cache entries added for output traffic.
+.sp
+.B gc_total
+Total number of garbage collection runs. Deprecated since IP route cache
+removal, therefore always zero.
+.sp
+.B gc_ignored
+Number of ignored garbage collection runs due to minimum GC interval not
+reached and routing cache not full. Deprecated since IP route cache removal,
+therefore always zero.
+.sp
+.B gc_goal_miss
+Number of garbage collector goal misses. Deprecated since IP route cache
+removal, therefore always zero.
+.sp
+.B gc_dst_overflow
+Number of destination cache overflows. Deprecated since IP route cache removal,
+therefore always zero.
+.sp
+.B in_hlist_search
+Number of hash table list traversals for input traffic. Deprecated since IP
+route cache removal, therefore always zero.
+.sp
+.B out_hlist_search
+Number of hash table list traversals for output traffic. Deprecated since IP
+route cache removal, therefore always zero.
+
+.SH SEE ALSO
+.BR ip (8)
+.br
+.SH AUTHOR
+lnstat was written by Harald Welte <laforge@gnumonks.org>.
+.PP
+This manual page was written by Michael Prokop <mika@grml.org> for the Debian project (but may be used by others).
diff --git a/upstream/fedora-40/man8/loadunimap.8 b/upstream/fedora-40/man8/loadunimap.8
new file mode 100644
index 00000000..87346f3e
--- /dev/null
+++ b/upstream/fedora-40/man8/loadunimap.8
@@ -0,0 +1,58 @@
+.\" @(#)loadunimap.8 1.0 970317 aeb
+.TH LOADUNIMAP 8 "2004-01-01" "kbd"
+.SH NAME
+loadunimap \- load the kernel unicode-to-font mapping table
+.SH SYNOPSIS
+.B loadunimap
+[
+.B \-C
+.I console
+] [
+.B \-o
+.I oldmap
+] [
+.I map
+]
+.SH DESCRIPTION
+The
+.B loadunimap
+command is obsolete - its function is now built-in into
+.BR setfont (8).
+However, for backwards compatibility it is still available
+as a separate command.
+.LP
+The program
+.B loadunimap
+loads the specified map in the kernel unicode-to-font mapping table.
+If no map is given
+.I def
+mapping table is assumed.
+The default extension (that can be omitted) is
+.IR .uni .
+.LP
+If the
+.B -o
+.I oldmap
+option is given, the old map is saved in the file specified.
+.LP
+On Linux 2.6.1 and later one can specify the console device using the
+.B \-C
+option.
+.LP
+Usually one does not call
+.B loadunimap
+directly - its function is also built into
+.BR setfont (8).
+.SH FILES
+.TP
+.I /usr/lib/kbd/unimaps
+The default directory for unicode mappings.
+.LP
+.TP
+.I /usr/lib/kbd/unimaps/def.uni
+The default mapping file.
+.LP
+.SH "SEE ALSO"
+.BR mapscrn (8),
+.BR setfont (8)
+
diff --git a/upstream/fedora-40/man8/logrotate.8 b/upstream/fedora-40/man8/logrotate.8
new file mode 100644
index 00000000..34dc8f60
--- /dev/null
+++ b/upstream/fedora-40/man8/logrotate.8
@@ -0,0 +1,787 @@
+.TH LOGROTATE 8 "3.21.0" "Linux" "System Administrator's Manual"
+.\" Per groff_man(7), the TQ macro should be copied from an-ext.tmac when
+.\" not running under groff. That's not quite right; not all groff
+.\" installations include this macro. So bring it in with another name
+.\" unconditionally.
+.\" Continuation line for .TP header.
+.de tq
+. br
+. ns
+. TP \\$1\" no doublequotes around argument!
+..
+.\}
+.SH NAME
+
+logrotate \(hy rotates, compresses, and mails system logs
+
+.SH SYNOPSIS
+
+\fBlogrotate\fR
+\fR[\fB\-\-force\fR]
+\fR[\fB\-\-debug\fR]
+\fR[\fB\-\-state\fR \fIfile\fR]
+\fR[\fB\-\-skip-state-lock\fR]
+\fR[\fB\-\-wait-for-state-lock\fR]
+\fR[\fB\-\-verbose\fR]
+\fR[\fB\-\-log\fR \fIfile\fR]
+\fR[\fB\-\-mail\fR \fIcommand\fR]
+\fIconfig_file\fR
+\fR[\fIconfig_file2 ...\fR]
+
+.SH DESCRIPTION
+
+\fBlogrotate\fR is designed to ease administration of systems that generate
+large numbers of log files. It allows automatic rotation, compression,
+removal, and mailing of log files. Each log file may be handled daily,
+weekly, monthly, or when it grows too large.
+.P
+Normally, \fBlogrotate\fR is run as a daily cron job. It will not modify
+a log more than once in one day unless the criterion for that log is
+based on the log's size and \fBlogrotate\fR is being run more than once
+each day, or unless the \fB\-f\fR or \fB\-\-force\fR option is used.
+.P
+Any number of config files may be given on the command line. Later config
+files may override the options given in earlier files, so the order
+in which the \fBlogrotate\fR config files are listed is important.
+Normally, a single config file which includes any other config files
+which are needed should be used. See below for more information on how
+to use the \fBinclude\fR directive to accomplish this. If a directory
+is given on the command line, every file in that directory is used as
+a config file.
+.P
+If no command line arguments are given, \fBlogrotate\fR will print
+version and copyright information, along with a short usage summary. If
+any errors occur while rotating logs, \fBlogrotate\fR will exit with
+non-zero status, although the state file will be updated.
+
+.SH OPTIONS
+
+.TP
+\fB\-f\fR, \fB\-\-force\fR
+Tells \fBlogrotate\fR to force the rotation, even if it doesn't think
+this is necessary. Sometimes this is useful after adding new entries to
+a \fBlogrotate\fR config file, or if old log files have been removed
+by hand, as the new files will be created, and logging will continue
+correctly.
+
+.TP
+\fB\-d\fR, \fB\-\-debug\fR
+Turn on debug mode, which means that no changes are made to the logs and the
+\fBlogrotate\fR state file is not updated. Only debug messages are printed.
+
+.TP
+\fB\-s\fR, \fB\-\-state\fR \fIstatefile\fR
+Tells \fBlogrotate\fR to use an alternate state file. This is useful
+if \fBlogrotate\fR is being run as a different user for various sets of
+log files. To prevent parallel execution \fBlogrotate\fR by default
+acquires a lock on the state file, if it cannot be acquired \fBlogrotate\fR
+will exit with value 3. The default state file is \fI/var/lib/logrotate/logrotate.status\fR.
+If \fI/dev/null\fR is given as the state file, then \fBlogrotate\fR will
+not try to lock or write the state file.
+
+.TP
+\fB\-\-skip-state-lock\fR
+Do not lock the state file, for example if locking is unsupported or prohibited.
+
+.TP
+\fB\-\-wait-for-state-lock\fR
+Wait until lock on the state file is released by another logrotate process.
+This option may cause logrotate to wait indefinitely. Use with caution.
+
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Turns on verbose mode, for example to display messages during rotation.
+
+.TP
+\fB\-l\fR, \fB\-\-log\fR \fIfile\fR
+Tells \fBlogrotate\fR to log verbose output into the log_file. The verbose
+output logged to that file is the same as when running \fBlogrotate\fR with
+\fB-v\fR switch. The log file is overwritten on every \fBlogrotate\fR
+execution.
+
+.TP
+\fB\-m\fR, \fB\-\-mail\fR \fIcommand\fR
+Tells \fBlogrotate\fR which command to use when mailing logs. This
+command should accept the following arguments:
+.IP
+1) the subject of the message given with '-s subject'
+.br
+2) the recipient.
+.IP
+The command must then read a message on standard input
+and mail it to the recipient. The default mail command is
+\fI/bin/mail\fR.
+
+.TP
+\fB\-\-usage\fR
+Prints a short usage message.
+
+.TP
+\fB\-?\fR, \fB\-\-help\fR
+Prints help message.
+
+.TP
+\fB\-\-version\fR
+Display version information.
+
+
+.SH CONFIGURATION FILE
+
+\fBlogrotate\fR reads everything about the log files it should be handling
+from the series of configuration files specified on the command line. Each
+configuration file can set global options (local definitions override
+global ones, and later definitions override earlier ones) and specify
+logfiles to rotate. Global options do not affect preceding include
+directives. A simple configuration file looks like this:
+
+.nf
+.ta +8n
+# sample logrotate configuration file
+compress
+
+/var/log/messages {
+ rotate 5
+ weekly
+ postrotate
+ /usr/bin/killall \-HUP syslogd
+ endscript
+}
+
+"/var/log/httpd/access.log" /var/log/httpd/error.log {
+ rotate 5
+ mail recipient@example.org
+ size 100k
+ sharedscripts
+ postrotate
+ /usr/bin/killall \-HUP httpd
+ endscript
+}
+
+/var/log/news/* {
+ monthly
+ rotate 2
+ olddir /var/log/news/old
+ missingok
+ sharedscripts
+ postrotate
+ kill \-HUP $(cat /var/run/inn.pid)
+ endscript
+ nocompress
+}
+
+~/log/*.log {}
+
+.fi
+
+.PP
+The first few lines set global options; in the example, logs are
+compressed after they are rotated. Note that comments may appear
+anywhere in the config file as long as the first non-whitespace
+character on the line is a \fB#\fR.
+
+Values are separated from directives by whitespace and/or an optional =.
+Numbers must be specified in a format understood by \fBstrtoul\fR(3).
+
+The next section of the config file defines how to handle the log file
+\fI/var/log/messages\fR. The log will go through five weekly rotations before
+being removed. After the log file has been rotated (but before the old
+version of the log has been compressed), the command
+\fI/usr/bin/killall \-HUP syslogd\fR will be executed.
+
+The next section defines the parameters for both
+\fI/var/log/httpd/access.log\fR and \fI/var/log/httpd/error.log\fR.
+Each is rotated whenever it grows over 100\ kilobytes in size, and the old logs
+files are mailed (uncompressed) to recipient@\:example.org after going through 5
+rotations, rather than being removed. The \fBsharedscripts\fR means that
+the \fBpostrotate\fR script will only be run once (after the old logs have
+been compressed), not once for each log which is rotated.
+Note that log file names may be enclosed in
+quotes (and that quotes are required if the name contains spaces).
+Normal shell quoting rules apply, with \fB'\fR, \fB"\fR, and \fB\e\fR
+characters supported.
+
+The next section defines the parameters for all of the files in
+\fI/var/log/news\fR. Each file is rotated on a monthly basis.
+
+The last section uses tilde expansion to rotate log files in the home
+directory of the current user. This is only available, if your glob
+library supports tilde expansion. GNU glob does support this.
+
+Please use wildcards with caution. If you specify *, \fBlogrotate\fR will
+rotate all files, including previously rotated ones. A way around this
+is to use the \fBolddir\fR directive or a more exact wildcard (such as *.log).
+
+Please note, by default when using \fBsystemd\fR(1), the option
+\fIProtectSystem=full\fR is set in the \fIlogrotate.service\fR file.
+This prevents \fBlogrotate\fR from modifying logs in \fI/etc\fR
+and \fI/usr\fR.
+
+Here is more information on the directives which may be included in
+a \fBlogrotate\fR configuration file:
+
+.SH CONFIGURATION FILE DIRECTIVES
+These directives may be included in a \fBlogrotate\fR configuration file:
+
+.SS Rotation
+
+.TP
+\fBrotate \fIcount\fR
+Log files are rotated \fIcount\fR times before being removed or mailed to the
+address specified in a \fBmail\fR directive. If \fIcount\fR is 0, old versions
+are removed rather than rotated. If \fIcount\fR is \-1, old logs are not
+removed at all, except they are affected by \fBmaxage\fR (use with caution, may
+waste performance and disk space). Default is 0.
+
+.TP
+\fBolddir \fIdirectory\fR
+Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR must be
+on the same physical device as the log file being rotated, unless \fBcopy\fR,
+\fBcopytruncate\fR or \fBrenamecopy\fR option is used. The \fIdirectory\fR
+is assumed to be relative to the directory holding the log file
+unless an absolute path name is specified. When this option is used all
+old versions of the log end up in \fIdirectory\fR. This option may be
+overridden by the \fBnoolddir\fR option.
+
+.TP
+\fBnoolddir\fR
+Logs are rotated in the directory they normally reside in (this
+overrides the \fBolddir\fR option).
+
+.TP
+\fBsu \fIuser\fR \fIgroup\fR
+Rotate log files set under this user and group instead of using default
+user/group (usually root). \fIuser\fR specifies the user used for
+rotation and \fIgroup\fR specifies the group used for rotation (see the
+section \fBUSER AND GROUP\fR for details). If the
+user/group you specify here does not have sufficient privilege to make
+files with the ownership you've specified in a \fBcreate\fR directive,
+it will cause an error. If \fBlogrotate\fR runs with root privileges, it is
+recommended to use the \fBsu\fR directive to rotate files in directories
+that are directly or indirectly in control of non-privileged users.
+
+.SS Frequency
+
+.TP
+\fBhourly\fR
+Log files are rotated every hour. Note that usually \fBlogrotate\fR is
+configured to be run by cron daily (or by \fIlogrotate.timer\fR when using
+\fBsystemd\fR(1)). You have to change this configuration and run
+\fBlogrotate\fR hourly to be able to really rotate logs hourly.
+
+.TP
+\fBdaily\fR
+Log files are rotated every day.
+
+.TP
+\fBweekly\fR [\fIweekday\fR]
+Log files are rotated once each \fIweekday\fR, or if the date is advanced by at
+least 7 days since the last rotation (while ignoring the exact time). The
+\fIweekday\fR interpretation is following: 0 means Sunday, 1 means Monday,
+\&.\|.\|.\|\&, 6 means Saturday; the special value 7 means each 7 days,
+irrespectively of weekday.
+Defaults to 0 if the \fIweekday\fR argument is omitted.
+
+.TP
+\fBmonthly\fR
+Log files are rotated the first time \fBlogrotate\fR is run in a month
+(this is normally on the first day of the month).
+
+.TP
+\fByearly\fR
+Log files are rotated if the current year is not the same as the last rotation.
+
+.TP
+\fBsize \fIsize\fR
+Log files are rotated only if they grow bigger than \fIsize\fR bytes. If
+\fIsize\fR is followed by \fIk\fR, the size is assumed to be in kilobytes.
+If \fIM\fR is used, the size is in megabytes, and if \fIG\fR is used, the
+size is in gigabytes. So \fIsize 100\fR, \fIsize 100k\fR, \fIsize 100M\fR and
+\fIsize 100G\fR are all valid. This option is mutually exclusive with the time
+interval options, and it causes log files to be rotated without regard for the
+last rotation time, if specified after the time criteria (the last specified
+option takes the precedence).
+
+.SS File selection
+
+.TP
+\fBmissingok\fR
+If the log file is missing, go on to the next one without issuing an error
+message. See also \fBnomissingok\fR.
+
+.TP
+\fBnomissingok\fR
+If a log file does not exist, issue an error. This is the default.
+
+.TP
+\fBignoreduplicates\fR
+Ignore any following matches of a log file.
+
+.TP
+\fBifempty\fR
+Rotate the log file even if it is empty, overriding the \fBnotifempty\fR
+option (\fBifempty\fR is the default).
+
+.TP
+\fBnotifempty\fR
+Do not rotate the log if it is empty (this overrides the \fBifempty\fR option).
+
+.TP
+\fBminage\fR \fIcount\fR
+Do not rotate logs which are less than <count> days old.
+
+.TP
+\fBmaxage\fR \fIcount\fR
+Remove rotated logs older than <count> days. The age is only checked
+if the logfile is to be rotated. \fBrotate \-1\fR does not hinder removal.
+The files are mailed to the configured address if \fBmaillast\fR and
+\fBmail\fR are configured.
+
+.TP
+\fBminsize\fR \fIsize\fR
+Log files are rotated when they grow bigger than \fIsize\fR bytes, but not
+before the additionally specified time interval (\fBdaily\fR, \fBweekly\fR,
+\fBmonthly\fR, or \fByearly\fR). The related \fBsize\fR option is similar
+except that it is mutually exclusive with the time interval options, and it
+causes log files to be rotated without regard for the last rotation time,
+if specified after the time criteria (the last specified option takes the
+precedence). When \fBminsize\fR is used, both the size and timestamp of a
+log file are considered.
+
+.TP
+\fBmaxsize\fR \fIsize\fR
+Log files are rotated when they grow bigger than \fIsize\fR bytes even
+before the additionally specified time interval (\fBdaily\fR, \fBweekly\fR,
+\fBmonthly\fR, or \fByearly\fR). The related \fBsize\fR option is similar
+except that it is mutually exclusive with the time interval options, and it
+causes log files to be rotated without regard for the last rotation time,
+if specified after the time criteria (the last specified option takes the
+precedence). When \fBmaxsize\fR is used, both the size and timestamp of a
+log file are considered.
+
+.TP
+\fBtabooext\fR [+] \fIlist\fR
+The current taboo extension list is changed (see the \fBinclude\fR directive
+for information on the taboo extensions). If a + precedes the list of
+extensions, the current taboo extension list is augmented, otherwise it
+is replaced. At startup, the taboo extension list
+.IR ,v ,
+.IR .cfsaved ,
+.IR .disabled ,
+.IR .dpkg\-bak ,
+.IR .dpkg\-del ,
+.IR .dpkg\-dist ,
+.IR .dpkg\-new ,
+.IR .dpkg\-old ,
+.IR .rhn\-cfg\-tmp\-* ,
+.IR .rpmnew ,
+.IR .rpmorig ,
+.IR .rpmsave ,
+.IR .swp ,
+.IR .ucf\-dist ,
+.IR .ucf\-new ,
+.IR .ucf\-old ,
+.I ~
+
+.TP
+\fBtaboopat\fR [+] \fIlist\fR
+The current taboo glob pattern list is changed (see the \fBinclude\fR directive
+for information on the taboo extensions and patterns). If a + precedes the list
+of patterns, the current taboo pattern list is augmented, otherwise it
+is replaced. At startup, the taboo pattern list is empty.
+
+.SS Files and Folders
+
+.TP
+\fBcreate \fImode\fR \fIowner\fR \fIgroup\fR, \fBcreate \fIowner\fR \fIgroup\fR
+Immediately after rotation (before the \fBpostrotate\fR script is run)
+the log file is created (with the same name as the log file just rotated).
+\fImode\fR specifies the mode for the log file in octal (the same
+as \fBchmod\fR(2)), \fIowner\fR specifies the user who will own the
+log file, and \fIgroup\fR specifies the group the log file will belong
+to (see the section \fBUSER AND GROUP\fR for details).
+Any of the log file attributes may be omitted, in which case those
+attributes for the new file will use the same values as the original log
+file for the omitted attributes. This option can be disabled using the
+\fBnocreate\fR option.
+
+.TP
+\fBnocreate\fR
+New log files are not created (this overrides the \fBcreate\fR option).
+
+.TP
+\fBcreateolddir \fImode\fR \fIowner\fR \fIgroup\fR
+If the directory specified by \fBolddir\fR directive does not exist, it is
+created. \fImode\fR specifies the mode for the \fBolddir\fR directory
+in octal (the same as \fBchmod\fR(2)), \fIowner\fR specifies the user
+who will own the \fBolddir\fR directory, and \fIgroup\fR specifies the group
+the \fBolddir\fR directory will belong to (see the section \fBUSER AND GROUP
+\fR for details). This option can be disabled using
+the \fBnocreateolddir\fR option.
+
+.TP
+\fBnocreateolddir\fR
+\fBolddir\fR directory is not created by \fBlogrotate\fR when it does not exist.
+
+.TP
+\fBcopy\fR
+Make a copy of the log file, but don't change the original at all.
+This option can be used, for instance, to make a snapshot of the current
+log file, or when some other utility needs to truncate or parse the file.
+When this option is used, the \fBcreate\fR option will have no effect,
+as the old log file stays in place. The \fBcopy\fR option allows storing
+rotated log files on the different devices using \fBolddir\fR directive.
+
+.TP
+\fBnocopy\fR
+Do not copy the original log file and leave it in place.
+(this overrides the \fBcopy\fR option).
+
+.TP
+\fBcopytruncate\fR
+Truncate the original log file to zero size in place after creating a copy,
+instead of moving the old log file and optionally creating a new one.
+It can be used when some program cannot be told to close its logfile
+and thus might continue writing (appending) to the previous log file forever.
+Note that there is a very small time slice between copying the file and
+truncating it, so some logging data might be lost.
+When this option is used, the \fBcreate\fR option will have no effect,
+as the old log file stays in place. The \fBcopytruncate\fR option allows
+storing rotated log files on the different devices using \fBolddir\fR
+directive. The \fBcopytruncate\fR option implies \fBnorenamecopy\fR.
+
+.TP
+\fBnocopytruncate\fR
+Do not truncate the original log file in place after creating a copy
+(this overrides the \fBcopytruncate\fR option).
+
+.TP
+\fBrenamecopy\fR
+Log file is renamed to temporary filename in the same directory by adding
+".tmp" extension to it. After that, \fBpostrotate\fR script is run
+and log file is copied from temporary filename to final filename. In the end,
+temporary filename is removed. The \fBrenamecopy\fR option allows storing
+rotated log files on the different devices using \fBolddir\fR directive.
+The \fBrenamecopy\fR option implies \fBnocopytruncate\fR.
+
+.TP
+\fBnorenamecopy\fR
+Do not rename and copy the original log file
+(this overrides the \fBrenamecopy\fR option).
+
+.TP
+\fBshred\fR
+Delete log files using \fBshred\fR \-u instead of unlink(). This should
+ensure that logs are not readable after their scheduled deletion; this is
+off by default. See also \fBnoshred\fR.
+
+.TP
+\fBnoshred\fR
+Do not use \fBshred\fR when deleting old log files. See also \fBshred\fR.
+
+.TP
+\fBshredcycles\fR \fIcount\fR
+Asks GNU \fBshred\fR(1) to overwrite log files \fBcount\fR times before
+deletion. Without this option, \fBshred\fR's default will be used.
+
+.TP
+\fBallowhardlink\fR
+Rotate files with multiple hard links; this is off by default. The target file
+might get emptied, e.g. with \fBshred\fR or \fBcopytruncate\fR. Use with
+caution, especially when the log files are rotated as root.
+
+.TP
+\fBnoallowhardlink\fR
+Do not rotate files with multiple hard links. See also \fBallowhardlink\fR.
+
+.SS Compression
+
+.TP
+\fBcompress\fR
+Old versions of log files are compressed with \fBgzip\fR(1) by default.
+See also \fBnocompress\fR.
+
+.TP
+\fBnocompress\fR
+Old versions of log files are not compressed. See also \fBcompress\fR.
+
+.TP
+\fBcompresscmd\fR
+Specifies which command to use to compress log files. The default is
+\fBgzip\fR(1). See also \fBcompress\fR.
+
+.TP
+\fBuncompresscmd\fR
+Specifies which command to use to uncompress log files. The default is
+\fBgunzip\fR(1).
+
+.TP
+\fBcompressext\fR
+Specifies which extension to use on compressed logfiles, if compression
+is enabled. The default follows that of the configured compression
+command.
+
+.TP
+\fBcompressoptions\fR
+Command line options may be passed to the compression program, if one is
+in use. The default, for \fBgzip\fR(1), is "\-6" (biased towards high
+compression at the expense of speed).
+If you use a different compression command, you may need to change the
+\fBcompressoptions\fR to match.
+
+.TP
+\fBdelaycompress\fR
+Postpone compression of the previous log file to the next rotation cycle.
+This only has effect when used in combination with \fBcompress\fR.
+It can be used when some program cannot be told to close its logfile
+and thus might continue writing to the previous log file for some time.
+
+.TP
+\fBnodelaycompress\fR
+Do not postpone compression of the previous log file to the next rotation cycle
+(this overrides the \fBdelaycompress\fR option).
+
+.SS Filenames
+
+.TP
+\fBextension \fIext\fR
+Log files with \fIext\fR extension can keep it after the rotation.
+If compression is used, the compression extension (normally \fI.gz\fR)
+appears after \fIext\fR. For example you have a logfile named mylog.foo
+and want to rotate it to mylog.1.foo.gz instead of mylog.foo.1.gz.
+
+.TP
+\fBaddextension \fIext\fR
+Log files are given the final extension \fIext\fR after rotation. If
+the original file already ends with \fIext\fR, the extension is not
+duplicated, but merely moved to the end, that is both \fBfilename\fR and
+\fBfilename\fIext\fR would get rotated to filename.1\fIext\fR. If
+compression is used, the compression extension (normally \fB.gz\fR)
+appears after \fIext\fR.
+
+.TP
+\fBstart \fIcount\fR
+This is the number to use as the base for rotation. For example, if
+you specify 0, the logs will be created with a .0 extension as they are
+rotated from the original log files. If you specify 9, log files will
+be created with a .9, skipping 0\(en8. Files will still be rotated the
+number of times specified with the \fBrotate\fR directive.
+
+.TP
+\fBdateext\fR
+Archive old versions of log files adding a date extension like YYYYMMDD
+instead of simply adding a number. The extension may be configured using
+the \fBdateformat\fR and \fBdateyesterday\fR options.
+
+.TP
+\fBnodateext\fR
+Do not archive old versions of log files with date extension
+(this overrides the \fBdateext\fR option).
+
+.TP
+\fBdateformat\fR \fIformat_string\fR
+Specify the extension for \fBdateext\fR using the notation similar to
+\fBstrftime\fR(3) function. Only %Y %m %d %H %M %S %V and %s specifiers are
+allowed.
+The default value is \-%Y%m%d except hourly, which uses \-%Y%m%d%H as default
+value. Note that also the character separating log name from the extension is
+part of the dateformat string. The system clock must be set past Sep 9th 2001
+for %s to work correctly.
+Note that the datestamps generated by this format must be lexically sortable
+(that is first the year, then the month then the day. For example 2001/12/01 is
+ok, but 01/12/2001 is not, since 01/11/2002 would sort lower while it is later).
+This is because when using the \fBrotate\fR option, \fBlogrotate\fR sorts all
+rotated filenames to find out which logfiles are older and should be removed.
+
+.TP
+\fBdateyesterday\fR
+Use yesterday's instead of today's date to create the \fBdateext\fR
+extension, so that the rotated log file has a date in its name that is
+the same as the timestamps within it.
+
+.TP
+\fBdatehourago\fR
+Use hour ago instead of current date to create the \fBdateext\fR extension,
+so that the rotated log file has a hour in its name that is the same as the
+timestamps within it. Useful with rotate \fBhourly\fR.
+
+.SS Mail
+
+.TP
+\fBmail \fIaddress\fR
+When a log is rotated out of existence, it is mailed to \fIaddress\fR. If
+no mail should be generated by a particular log, the \fBnomail\fR directive
+may be used.
+
+.TP
+\fBnomail\fR
+Do not mail old log files to any address.
+
+.TP
+\fBmailfirst\fR
+When using the \fBmail\fR command, mail the just-rotated file,
+instead of the about-to-expire file.
+
+.TP
+\fBmaillast\fR
+When using the \fBmail\fR command, mail the about-to-expire file,
+instead of the just-rotated file (this is the default).
+
+.SS Additional config files
+
+.TP
+\fBinclude \fIfile_or_directory\fR
+Reads the file given as an argument as if it was included inline
+where the \fBinclude\fR directive appears. If a directory is given,
+most of the files in that directory are read in alphabetic order
+before processing of the including file continues. The only files
+which are ignored are files which are not regular files (such as
+directories and named pipes) and files whose names end with one of
+the taboo extensions or patterns, as specified by the \fBtabooext\fR
+or \fBtaboopat\fR directives, respectively. The given path may
+start with \fB~/\fR to make it relative to the home directory of
+the executing user. For security reasons configuration files must
+not be group-writable nor world-writable.
+
+.SS Scripts
+
+.TP
+\fBsharedscripts\fR
+Normally, \fBprerotate\fR and \fBpostrotate\fR scripts are run for each
+log which is rotated and the absolute path to the log file is passed as first
+argument to the script. That means a single script may be run multiple
+times for log file entries which match multiple files (such as the
+\fI/var/log/news/*\fR example). If \fBsharedscripts\fR is specified, the
+scripts are only run once, no matter how many logs match the wildcarded pattern,
+and whole pattern is passed to them.
+However, if none of the logs in the pattern require rotating, the scripts
+will not be run at all. If the scripts exit with error (or any log fails to
+rotate), the remaining actions will not be executed for any logs. This option
+overrides the \fBnosharedscripts\fR option.
+
+.TP
+\fBnosharedscripts\fR
+Run \fBprerotate\fR and \fBpostrotate\fR scripts for every log file which
+is rotated (this is the default, and overrides the \fBsharedscripts\fR
+option). The absolute path to the log file is passed as first argument
+to the script. The absolute path to the final rotated log file is passed as
+the second argument to the \fBpostrotate\fR script. If the scripts exit with
+error, the remaining actions will not be executed for the affected log only.
+
+.tq
+\fBfirstaction\fR
+.tq
+\ \ \ \ \fIscript\fR
+.tq
+\fBendscript\fR
+The \fIscript\fR is executed once
+before all log files that match the wildcarded pattern are rotated, before
+the prerotate script is run and only if at least one log will actually be
+rotated. These directives may only appear inside a log file definition.
+The whole pattern is passed to the script as its first argument. If the script
+exits with an error, no further processing is done. See also \fBlastaction\fR
+and the \fBSCRIPTS\fR section.
+
+.tq
+\fBlastaction\fR
+.tq
+\ \ \ \ \fIscript\fR
+.tq
+\fBendscript\fR
+The \fIscript\fR is executed once
+after all log files that match the wildcarded pattern are rotated, after the
+postrotate script is run and only if at least one log is rotated. These
+directives may only appear inside a log file definition. The whole pattern is
+passed to the script as its first argument. If the script exits
+with an error, just an error message is shown (as this is the last
+action). See also \fBfirstaction\fR and
+the \fBSCRIPTS\fR section.
+
+.tq
+\fBprerotate\fR
+.tq
+\ \ \ \ \fIscript\fR
+.tq
+\fBendscript\fR
+The \fIscript\fR is executed before
+the log file is rotated and only if the log will actually be rotated. These
+directives may only appear inside a log file definition. Normally,
+the absolute path to the log file is passed as the first argument to the script.
+If \fBsharedscripts\fR is specified, the whole pattern is passed to the script.
+See also \fBpostrotate\fR and the \fBSCRIPTS\fR section.
+See \fBsharedscripts\fR and \fBnosharedscripts\fR for error handling.
+
+.tq
+\fBpostrotate\fR
+.tq
+\ \ \ \ \fIscript\fR
+.tq
+\fBendscript\fR
+The \fIscript\fR is executed
+after the log file is rotated. These directives may only appear inside
+a log file definition. Normally, the absolute path to the log file is
+passed as the first argument to the script and the absolute path to the final
+rotated log file is passed as the second argument to the script. If
+\fBsharedscripts\fR is specified, the whole pattern is passed as the first
+argument to the script, and the second argument is omitted.
+See also \fBprerotate\fR and the \fBSCRIPTS\fR section.
+See \fBsharedscripts\fR and \fBnosharedscripts\fR
+for error handling.
+
+.tq
+\fBpreremove\fR
+.tq
+\ \ \ \ \fIscript\fR
+.tq
+\fBendscript\fR
+The \fIscript\fR is executed
+once just
+before removal of a log file. \fBlogrotate\fR will pass
+the name of file which is soon to be removed as the first argument to the
+script. See also \fBfirstaction\fR and
+the \fBSCRIPTS\fR section.
+
+.SH SCRIPTS
+
+The lines between the starting keyword (e.g. \fBprerotate\fR) and
+\fBendscript\fR (both of which must appear on lines by themselves) are
+executed (using \fB/bin/sh\fR).
+The script inherits some traits from the \fBlogrotate\fR process, including
+stderr, stdout, the current directory, the environment, and the umask.
+Scripts are run as the invoking user and group, irrespective of any \fBsu\fR
+directive. If the \fB\-\-log\fR flag was specified, file descriptor 3 is the
+log file. The current working directory is unspecified.
+
+.SH USER AND GROUP
+
+User and group identifiers are resolved first by trying the textual
+representation and, in case it fails, afterwards by the numeric value.
+
+.SH FILES
+
+.TS
+tab(:);
+l l l.
+\fI/var/lib/logrotate/logrotate.status\fR:Default state file.
+\fI/etc/logrotate.conf\fR:Configuration options.
+.TE
+
+
+.SH "SEE ALSO"
+
+.BR chmod (2),
+.BR gunzip (1),
+.BR gzip (1),
+.BR mail (1),
+.BR shred (1),
+.BR strftime (3),
+.BR strtoul (3),
+<https://github.com/logrotate/logrotate>
+
+.SH AUTHORS
+
+.nf
+Erik Troan, Preston Brown, Jan Kaluza.
+
+<https://github.com/logrotate/logrotate>
+
+.fi
diff --git a/upstream/fedora-40/man8/logsave.8 b/upstream/fedora-40/man8/logsave.8
new file mode 100644
index 00000000..76536731
--- /dev/null
+++ b/upstream/fedora-40/man8/logsave.8
@@ -0,0 +1,61 @@
+.\" -*- nroff -*-
+.\" Copyright 2003 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH LOGSAVE 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+logsave \- save the output of a command in a logfile
+.SH SYNOPSIS
+.B logsave
+[
+.B \-asv
+]
+.I logfile cmd_prog [ ... ]
+.SH DESCRIPTION
+The
+.B logsave
+program will execute
+.I cmd_prog
+with the specified argument(s), and save a copy of its output to
+.IR logfile .
+If the containing directory for
+.I logfile
+does not exist,
+.B logsave
+will accumulate the output in memory until it can be written out.
+A copy of the output will also be written to standard output.
+.PP
+If
+.I cmd_prog
+is a single hyphen ('-'), then instead of executing a program,
+.B logsave
+will take its input from standard input and save it in
+.I logfile
+.PP
+.B logsave
+is useful for saving the output of initial boot scripts
+until the /var partition is mounted, so the output can be written to
+/var/log.
+.SH OPTIONS
+.TP
+.B \-a
+This option will cause the output to be appended to
+.IR logfile ,
+instead of replacing its current contents.
+.TP
+.B \-s
+This option will cause
+.B logsave
+to skip writing to the log file text which is bracketed with a control-A
+(ASCII 001 or Start of Header) and control-B (ASCII 002 or Start of
+Text). This allows progress bar information to be visible to the user
+on the console, while not being written to the log file.
+.TP
+.B \-v
+This option will make
+.B logsave
+to be more verbose in its output to the user.
+.SH AUTHOR
+Theodore Ts'o (tytso@mit.edu)
+.SH SEE ALSO
+.BR fsck (8)
diff --git a/upstream/fedora-40/man8/lsmod.8 b/upstream/fedora-40/man8/lsmod.8
new file mode 100644
index 00000000..87ef8f34
--- /dev/null
+++ b/upstream/fedora-40/man8/lsmod.8
@@ -0,0 +1,59 @@
+'\" t
+.\" Title: lsmod
+.\" Author: Jon Masters <jcm@jonmasters.org>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: lsmod
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "LSMOD" "8" "02/09/2023" "kmod" "lsmod"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+lsmod \- Show the status of modules in the Linux Kernel
+.SH "SYNOPSIS"
+.HP \w'\fBlsmod\fR\ 'u
+\fBlsmod\fR
+.SH "DESCRIPTION"
+.PP
+\fBlsmod\fR
+is a trivial program which nicely formats the contents of the
+/proc/modules, showing what kernel modules are currently loaded\&.
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2002, Rusty Russell, IBM Corporation\&. Maintained by Jon Masters and others\&.
+.SH "SEE ALSO"
+.PP
+\fBinsmod\fR(8),
+\fBmodprobe\fR(8),
+\fBmodinfo\fR(8)
+\fBdepmod\fR(8)
+.SH "AUTHORS"
+.PP
+\fBJon Masters\fR <\&jcm@jonmasters\&.org\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/lspci.8 b/upstream/fedora-40/man8/lspci.8
new file mode 100644
index 00000000..4bfd1a7b
--- /dev/null
+++ b/upstream/fedora-40/man8/lspci.8
@@ -0,0 +1,371 @@
+.TH lspci 8 "25 February 2024" "pciutils-3.11.1" "The PCI Utilities"
+.SH NAME
+lspci \- list all PCI devices
+.SH SYNOPSIS
+.B lspci
+.RB [ options ]
+.SH DESCRIPTION
+.B lspci
+is a utility for displaying information about PCI buses in the system and
+devices connected to them.
+
+By default, it shows a brief list of devices. Use the options described
+below to request either a more verbose output or output intended for
+parsing by other programs.
+
+If you are going to report bugs in PCI device drivers or in
+.I lspci
+itself, please include output of "lspci -vvx" or even better "lspci -vvxxx"
+(however, see below for possible caveats).
+
+Some parts of the output, especially in the highly verbose modes, are probably
+intelligible only to experienced PCI hackers. For exact definitions of
+the fields, please consult either the PCI specifications or the
+.B header.h
+and
+.B /usr/include/linux/pci.h
+include files.
+
+Access to some parts of the PCI configuration space is restricted to root
+on many operating systems, so the features of
+.I lspci
+available to normal users are limited. However,
+.I lspci
+tries its best to display as much as available and mark all other
+information with
+.I <access denied>
+text.
+
+.SH OPTIONS
+
+.SS Basic display modes
+.TP
+.B -m
+Dump PCI device data in a backward-compatible machine readable form.
+See below for details.
+.TP
+.B -mm
+Dump PCI device data in a machine readable form for easy parsing by scripts.
+See below for details.
+.TP
+.B -t
+Show a tree-like diagram containing all buses, bridges, devices and connections
+between them.
+
+.SS Display options
+.TP
+.B -v
+Be verbose and display detailed information about all devices.
+.TP
+.B -vv
+Be very verbose and display more details. This level includes everything deemed
+useful.
+.TP
+.B -vvv
+Be even more verbose and display everything we are able to parse,
+even if it doesn't look interesting at all (e.g., undefined memory regions).
+.TP
+.B -k
+Show kernel drivers handling each device and also kernel modules capable of handling it.
+Turned on by default when
+.B -v
+is given in the normal mode of output.
+(Currently works only on Linux with kernel 2.6 or newer.)
+.TP
+.B -x
+Show hexadecimal dump of the standard part of the configuration space (the first
+64 bytes or 128 bytes for CardBus bridges).
+.TP
+.B -xxx
+Show hexadecimal dump of the whole PCI configuration space. It is available only to root
+as several PCI devices
+.B crash
+when you try to read some parts of the config space (this behavior probably
+doesn't violate the PCI standard, but it's at least very stupid). However, such
+devices are rare, so you needn't worry much.
+.TP
+.B -xxxx
+Show hexadecimal dump of the extended (4096-byte) PCI configuration space available
+on PCI-X 2.0 and PCI Express buses.
+.TP
+.B -b
+Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the
+PCI bus instead of as seen by the kernel.
+.TP
+.B -D
+Always show PCI domain numbers. By default, lspci suppresses them on machines which
+have only domain 0.
+.TP
+.B -P
+Identify PCI devices by path through each bridge, instead of by bus number.
+.TP
+.B -PP
+Identify PCI devices by path through each bridge, showing the bus number as
+well as the device number.
+
+.SS Options to control resolving ID's to names
+.TP
+.B -n
+Show PCI vendor and device codes as numbers instead of looking them up in the
+PCI ID list.
+.TP
+.B -nn
+Show PCI vendor and device codes as both numbers and names.
+.TP
+.B -q
+Use DNS to query the central PCI ID database if a device is not found in the local
+.B pci.ids
+file. If the DNS query succeeds, the result is cached in
+.B ~/.pciids-cache
+and it is recognized in subsequent runs even if
+.B -q
+is not given any more. Please use this switch inside automated scripts only
+with caution to avoid overloading the database servers.
+.TP
+.B -qq
+Same as
+.BR -q ,
+but the local cache is reset.
+.TP
+.B -Q
+Query the central database even for entries which are recognized locally.
+Use this if you suspect that the displayed entry is wrong.
+
+.SS Options for selection of devices
+.TP
+.B -s [[[[<domain>]:]<bus>]:][<device>][.[<func>]]
+Show only devices in the specified domain (in case your machine has several host bridges,
+they can either share a common bus number space or each of them can address a PCI domain
+of its own; domains are numbered from 0 to ffff), bus (0 to ff), device (0 to 1f) and function (0 to 7).
+Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are
+hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
+on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only
+the fourth function of each device.
+.TP
+.B -d [<vendor>]:[<device>][:<class>[:<prog-if>]]
+Show only devices with specified vendor, device, class ID, and programming interface.
+The ID's are given in hexadecimal and may be omitted or given as "*", both meaning
+"any value". The class ID can contain "x" characters which stand for "any digit".
+
+.SS Other options
+.TP
+.B -i <file>
+Use
+.B
+<file>
+as the PCI ID list instead of /usr/share/hwdata/pci.ids.
+.TP
+.B -p <file>
+Use
+.B
+<file>
+as the map of PCI ID's handled by kernel modules. By default, lspci uses
+.RI /lib/modules/ kernel_version /modules.pcimap.
+Applies only to Linux systems with recent enough module tools.
+.TP
+.B -M
+Invoke bus mapping mode which performs a thorough scan of all PCI devices, including
+those behind misconfigured bridges, etc. This option gives meaningful results only
+with a direct hardware access mode, which usually requires root privileges.
+By default, the bus mapper scans domain. You can use the
+.B -s
+option to select a different domain.
+.TP
+.B --version
+Shows
+.I lspci
+version. This option should be used stand-alone.
+
+.SS PCI access options
+.PP
+The PCI utilities use the PCI library to talk to PCI devices (see
+\fBpcilib\fP(7) for details). You can use the following options to
+influence its behavior:
+.TP
+.B -A <method>
+The library supports a variety of methods to access the PCI hardware.
+By default, it uses the first access method available, but you can use
+this option to override this decision. See \fB-A help\fP for a list of
+available methods and their descriptions.
+.TP
+.B -O <param>=<value>
+The behavior of the library is controlled by several named parameters.
+This option allows one to set the value of any of the parameters. Use \fB-O help\fP
+for a list of known parameters and their default values.
+.TP
+.B -H1
+Use direct hardware access via Intel configuration mechanism 1.
+(This is a shorthand for \fB-A intel-conf1\fP.)
+.TP
+.B -H2
+Use direct hardware access via Intel configuration mechanism 2.
+(This is a shorthand for \fB-A intel-conf2\fP.)
+.TP
+.B -F <file>
+Instead of accessing real hardware, read the list of devices and values of their
+configuration registers from the given file produced by an earlier run of lspci -x.
+This is very useful for analysis of user-supplied bug reports, because you can display
+the hardware configuration in any way you want without disturbing the user with
+requests for more dumps.
+.TP
+.B -G
+Increase debug level of the library.
+
+.SH MACHINE READABLE OUTPUT
+If you intend to process the output of lspci automatically, please use one of the
+machine-readable output formats
+.RB ( -m ,
+.BR -vm ,
+.BR -vmm )
+described in this section. All other formats are likely to change
+between versions of lspci.
+
+.P
+All numbers are always printed in hexadecimal. If you want to process numeric ID's instead of
+names, please add the
+.B -n
+switch.
+
+.SS Simple format (-m)
+
+In the simple format, each device is described on a single line, which is
+formatted as parameters suitable for passing to a shell script, i.e., values
+separated by whitespaces, quoted and escaped if necessary.
+Some of the arguments are positional: slot, class, vendor name, device name,
+subsystem vendor name and subsystem name (the last two are empty if
+the device has no subsystem); the remaining arguments are option-like:
+
+.TP
+.BI -r rev
+Revision number.
+
+.TP
+.BI -p progif
+Programming interface.
+
+.P
+The relative order of positional arguments and options is undefined.
+New options can be added in future versions, but they will always
+have a single argument not separated from the option by any spaces,
+so they can be easily ignored if not recognized.
+
+.SS Verbose format (-vmm)
+
+The verbose output is a sequence of records separated by blank lines.
+Each record describes a single device by a sequence of lines, each line
+containing a single
+.RI ` tag :
+.IR value '
+pair. The
+.I tag
+and the
+.I value
+are separated by a single tab character.
+Neither the records nor the lines within a record are in any particular order.
+Tags are case-sensitive.
+
+.P
+The following tags are defined:
+
+.TP
+.B Slot
+The name of the slot where the device resides
+.RI ([ domain :] bus : device . function ).
+This tag is always the first in a record.
+
+.TP
+.B Class
+Name of the class.
+
+.TP
+.B Vendor
+Name of the vendor.
+
+.TP
+.B Device
+Name of the device.
+
+.TP
+.B SVendor
+Name of the subsystem vendor (optional).
+
+.TP
+.B SDevice
+Name of the subsystem (optional).
+
+.TP
+.B PhySlot
+The physical slot where the device resides (optional, Linux only).
+
+.TP
+.B Rev
+Revision number (optional).
+
+.TP
+.B ProgIf
+Programming interface (optional).
+
+.TP
+.B Driver
+Kernel driver currently handling the device (optional, Linux only).
+
+.TP
+.B Module
+Kernel module reporting that it is capable of handling the device
+(optional, Linux only). Multiple lines with this tag can occur.
+
+.TP
+.B NUMANode
+NUMA node this device is connected to (optional, Linux only).
+
+.TP
+.B IOMMUGroup
+IOMMU group that this device is part of (optional, Linux only).
+
+.P
+New tags can be added in future versions, so you should silently ignore any tags you don't recognize.
+
+.SS Backward-compatible verbose format (-vm)
+
+In this mode, lspci tries to be perfectly compatible with its old versions.
+It's almost the same as the regular verbose format, but the
+.B
+Device
+tag is used for both the slot and the device name, so it occurs twice
+in a single record. Please avoid using this format in any new code.
+
+.SH FILES
+.TP
+.B /usr/share/hwdata/pci.ids
+A list of all known PCI ID's (vendors, devices, classes and subclasses). Maintained
+at https://pci-ids.ucw.cz/, use the
+.B update-pciids
+utility to download the most recent version.
+.TP
+.B /usr/share/hwdata/pci.ids.gz
+If lspci is compiled with support for compression, this file is tried before pci.ids.
+.TP
+.B ~/.pciids-cache
+All ID's found in the DNS query mode are cached in this file.
+
+.SH BUGS
+
+Sometimes, lspci is not able to decode the configuration registers completely.
+This usually happens when not enough documentation was available to the authors.
+In such cases, it at least prints the
+.B <?>
+mark to signal that there is potentially something more to say. If you know
+the details, patches will be of course welcome.
+
+Access to the extended configuration space is currently supported only by the
+.B linux_sysfs
+back-end.
+
+.SH SEE ALSO
+.BR setpci (8),
+.BR pci.ids (5),
+.BR update-pciids (8),
+.BR pcilib (7)
+
+.SH AUTHOR
+The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.
diff --git a/upstream/fedora-40/man8/lsusb.8 b/upstream/fedora-40/man8/lsusb.8
new file mode 100644
index 00000000..ddb52581
--- /dev/null
+++ b/upstream/fedora-40/man8/lsusb.8
@@ -0,0 +1,66 @@
+.\"SPDX-License-Identifier: GPL-2.0-only
+.\"Copyright (c) 1999 Thomas Sailer <sailer@ife.ee.ethz.ch>
+.TH lsusb 8 "11 February 2019" "usbutils-017" "Linux USB Utilities"
+.IX lsusb
+.SH NAME
+lsusb \- list USB devices
+.SH SYNOPSIS
+.B lsusb
+[
+.I options
+]
+.SH DESCRIPTION
+.B lsusb
+is a utility for displaying information about USB buses in the system and
+the devices connected to them. It uses udev's hardware database to
+associate a full human-readable name to the vendor ID and the product ID.
+
+.SH OPTIONS
+.TP
+.BR \-v ", " \-\-verbose
+Tells
+.I lsusb
+to be verbose and display detailed information about the devices shown.
+This includes configuration descriptors for the device's current speed.
+Class descriptors will be shown, when available, for USB device classes
+including hub, audio, HID, communications, and chipcard. Can be used with the
+\fB-t\fP option.
+.TP
+\fB\-s\fP [[\fIbus\fP]\fB:\fP][\fIdevnum\fP]
+Show only devices in specified
+.I bus
+and/or
+.IR devnum .
+Both IDs are given in decimal and may be omitted.
+.TP
+\fB\-d\fP [\fIvendor\fP]\fB:\fP[\fIproduct\fP]
+Show only devices with the specified vendor and product ID.
+Both IDs are given in hexadecimal.
+.TP
+.B \-D \fIdevice\fP
+Do not scan the /dev/bus/usb directory,
+instead display only information
+about the device whose device file is given.
+The device file should be something like /dev/bus/usb/001/001.
+This option displays detailed information like the \fB-v\fP option;
+you must be root to do this.
+.TP
+.BR \-t ", " \-\-tree
+Tells
+.I lsusb
+to dump the physical USB device hierarchy as a tree. Verbosity can be increased twice with the
+\fB-v\fP option.
+.TP
+.BR \-V ", " \-\-version
+Print version information on standard output,
+then exit successfully.
+
+.SH RETURN VALUE
+If the specified device is not found, a non-zero exit code is returned.
+
+.SH SEE ALSO
+.BR lspci (8),
+.BR usbview (8).
+
+.SH AUTHOR
+Thomas Sailer, <sailer@ife.ee.ethz.ch>.
diff --git a/upstream/fedora-40/man8/mailstats.8 b/upstream/fedora-40/man8/mailstats.8
new file mode 100644
index 00000000..31066c9d
--- /dev/null
+++ b/upstream/fedora-40/man8/mailstats.8
@@ -0,0 +1,118 @@
+.\" Copyright (c) 1998-2002 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: mailstats.8,v 8.32 2013-11-22 20:51:51 ca Exp $
+.\"
+.TH MAILSTATS 8 "$Date: 2013-11-22 20:51:51 $"
+.SH NAME
+mailstats
+\- display mail statistics
+.SH SYNOPSIS
+.B mailstats
+.RB [ \-c "] [" \-o "] [" \-p "] [" \-P ]
+.RB [ \-C
+.IR cffile ]
+.RB [ \-f
+.IR stfile ]
+.SH DESCRIPTION
+The
+.B mailstats
+utility displays the current mail statistics.
+.PP
+First, the time at which statistics started being kept is displayed,
+in the format specified by
+ctime(3).
+Then,
+the statistics for each mailer are displayed on a single line,
+each with the following white space separated fields:
+.sp
+.RS
+.PD 0.2v
+.TP 1.2i
+.B M
+The mailer number.
+.TP
+.B msgsfr
+Number of messages from the mailer.
+.TP
+.B bytes_from
+Kbytes from the mailer.
+.TP
+.B msgsto
+Number of messages to the mailer.
+.TP
+.B bytes_to
+Kbytes to the mailer.
+.TP
+.B msgsrej
+Number of messages rejected.
+.TP
+.B msgsdis
+Number of messages discarded.
+.TP
+.B msgsqur
+Number of messages quarantined.
+.TP
+.B Mailer
+The name of the mailer.
+.PD
+.RE
+.PP
+After this display, a line totaling the values for all of the mailers
+is displayed (preceded with a ``T''),
+separated from the previous information by a line containing only equals
+(``='')
+characters.
+Another line preceded with a ``C'' lists the number of TCP connections.
+.PP
+The options are as follows:
+.TP
+.B \-C
+Read the specified file instead of the default
+.B sendmail
+configuration file.
+.TP
+.B \-c
+Try to use submit.cf instead of the default
+.B sendmail
+configuration file.
+.TP
+.B \-f
+Read the specified statistics file instead of the statistics file
+specified in the
+.B sendmail
+configuration file.
+.TP
+.B \-P
+Output information in program-readable mode without clearing statistics.
+.TP
+.B \-p
+Output information in program-readable mode and clear statistics.
+.TP
+.B \-o
+Don't display the name of the mailer in the output.
+.PP
+The
+.B mailstats
+utility exits 0 on success, and >0 if an error occurs.
+.SH FILES
+.PD 0.2v
+.TP 2.5i
+/etc/mail/sendmail.cf
+The default
+.B sendmail
+configuration file.
+.TP
+/var/log/mail/statistics
+The default
+.B sendmail
+statistics file.
+.PD
+.SH SEE ALSO
+mailq(1),
+sendmail(8)
diff --git a/upstream/fedora-40/man8/makedeltarpm.8 b/upstream/fedora-40/man8/makedeltarpm.8
new file mode 100644
index 00000000..233e4aa1
--- /dev/null
+++ b/upstream/fedora-40/man8/makedeltarpm.8
@@ -0,0 +1,101 @@
+.\" man page for makedeltarpm
+.\" Copyright (c) 2010 Michael Schroeder <mls@suse.de>
+.\" See LICENSE.BSD for license
+.TH MAKEDELTARPM 8 "Jul 2010"
+.SH NAME
+makedeltarpm \- create a deltarpm from two rpms
+
+.SH SYNOPSIS
+.B makedeltarpm
+.RB [ -v ]
+.RB [ -V
+.IR version ]
+.RB [ -z
+.IR compression ]
+.RB [ -m
+.IR mbytes ]
+.RB [ -s
+.IR seqfile ]
+.RB [ -r ]
+.RB [ -u ]
+.I oldrpm
+.I newrpm
+.I deltarpm
+.br
+.B makedeltarpm
+.RB [ -v ]
+.RB [ -V
+.IR version ]
+.RB [ -z
+.IR compression ]
+.RB [ -s
+.IR seqfile ]
+.RB [ -u ]
+.B -p
+.I oldrpmprint
+.IR oldpatchrpm
+.I oldrpm
+.I newrpm
+.I deltarpm
+
+.SH DESCRIPTION
+makedeltarpm creates a deltarpm from two rpms. The deltarpm can
+later be used to recreate the new rpm from either filesystem data
+or the old rpm. Use the
+.B -v
+option to make makedeltarpm more verbose about its work (use it
+twice to make it even more verbose).
+.PP
+If you want to create a
+smaller and faster to combine "rpm-only" deltarpm which does not
+work with filesystem data, specify the
+.B -r
+option.
+.PP
+makedeltarpm normally produces
+a V3 format deltarpm, use the
+.B -V
+option to specify a different version if desired. The
+.B -z
+option can be used to specify a different compression method, the
+default is to use the same compression method as used in the
+new rpm.
+.PP
+The
+.B -s
+option makes makedeltarpm write out the sequence id to the specified
+file
+.IR seqfile .
+
+If you also use patch rpms you should use the
+.B -p
+option to specify the rpm-print of
+.I oldrpm
+and the created
+patch rpm. This option tells makedeltarpm to exclude the files that
+were not included in the patch rpm but are not byteswise identical
+to the ones in oldrpm.
+.PP
+makedeltarpm can also create an "identity" deltarpm by adding the
+.B -u
+switch. In this case only one rpm has to be specified. An identity
+deltarpm can be useful to just replace the signature header of a
+rpm or to reconstruct a rpm from the filesystem.
+
+.SH MEMORY CONSIDERATIONS
+makedeltarpm normally needs about three to four times the size
+of the rpm's uncompressed payload. You can use the
+.B -m
+option to enable a sliding block algorithm that needs
+.IR mbytes
+megabytes of memory. This trades memory usage with the size of
+the created deltarpm. Furthermore, the uncompressed deltarpm
+payload is currently also stored in memory when this option is
+used, but it tends to be small in most cases.
+
+.SH SEE ALSO
+.BR applydeltarpm (8)
+.BR combinedeltarpm (8)
+
+.SH AUTHOR
+Michael Schroeder <mls@suse.de>
diff --git a/upstream/fedora-40/man8/makemap.sendmail.8 b/upstream/fedora-40/man8/makemap.sendmail.8
new file mode 100644
index 00000000..32cda2a8
--- /dev/null
+++ b/upstream/fedora-40/man8/makemap.sendmail.8
@@ -0,0 +1,188 @@
+.\" Copyright (c) 1998-2002 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\" Copyright (c) 1988, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: makemap.8,v 8.32 2013-11-22 20:51:52 ca Exp $
+.\"
+.TH MAKEMAP 8 "$Date: 2013-11-22 20:51:52 $"
+.SH NAME
+makemap
+\- create database maps for sendmail
+.SH SYNOPSIS
+.B makemap
+.RB [ \-C
+.IR file ]
+.RB [ \-N ]
+.RB [ \-c
+.IR cachesize ]
+.RB [ \-d ]
+.RB [ \-D
+.IR commentchar ]
+.RB [ \-e ]
+.RB [ \-f ]
+.RB [ \-i
+.IR type ]
+.RB [ \-l ]
+.RB [ \-o ]
+.RB [ \-r ]
+.RB [ \-s ]
+.RB [ \-t
+.IR delim ]
+.RB [ \-u ]
+.RB [ \-v ]
+.I
+maptype mapnam
+.SH DESCRIPTION
+.B Makemap
+creates the database maps used by the keyed map lookups in
+sendmail(8).
+It reads input from the standard input
+and outputs them to the indicated
+.I mapname.
+.PP
+Depending on how it is compiled,
+.B makemap
+handles different database formats,
+selected using the
+.I maptype
+parameter.
+They may be
+.TP
+btree
+B-Tree format maps.
+This requires the new Berkeley DB
+library.
+.TP
+hash
+Hash format maps.
+This also requires the Berkeley DB
+library.
+.TP
+cdb
+CDB (Constant DataBase) format maps.
+This requires the tinycdb library.
+.TP
+implicit
+The first available format in the following order:
+hash, dbm, and cdb.
+.PP
+In all cases,
+.B makemap
+reads lines from the standard input consisting of two
+words separated by white space.
+The first is the database key,
+the second is the value.
+The value may contain
+``%\fIn\fP''
+strings to indicate parameter substitution.
+Literal percents should be doubled
+(``%%'').
+Blank lines and lines beginning with ``#'' are ignored.
+.PP
+Notice: do
+.B not
+use
+.B makemap
+to create the aliases data base, but
+.B newaliases
+which puts a special token into the data base that is required by
+.B sendmail.
+.PP
+If the
+.I TrustedUser
+option is set in the sendmail configuration file and
+.B makemap
+is invoked as root, the generated files will be owned by
+the specified
+.IR TrustedUser.
+.SS Flags
+.TP
+.B \-C
+Use the specified
+.B sendmail
+configuration file for looking up the TrustedUser option.
+.TP
+.B \-N
+Include the null byte that terminates strings
+in the map.
+This must match the \-N flag in the sendmail.cf
+``K'' line.
+.TP
+.B \-c
+Use the specified hash and B-Tree cache size.
+.TP
+.B \-D
+Use to specify the character to use to indicate a comment (which is ignored)
+instead of the default of '#'.
+.TP
+.B \-d
+Allow duplicate keys in the map.
+This is only allowed on B-Tree format maps.
+If two identical keys are read,
+they will both be inserted into the map.
+.TP
+.B \-e
+Allow empty value (right hand side).
+.TP
+.B \-f
+Normally all upper case letters in the key
+are folded to lower case.
+This flag disables that behaviour.
+This is intended to mesh with the
+\-f flag in the
+.B K
+line in sendmail.cf.
+The value is never case folded.
+.TP
+.B \-i
+Use the specified type as fallback
+if the given
+.I maptype
+is not available.
+.TP
+.B \-l
+List supported map types.
+.TP
+.B \-o
+Append to an old file.
+This allows you to augment an existing file.
+Note: this might not be supported by all database types,
+e.g., cdb.
+.TP
+.B \-r
+Allow replacement of existing keys.
+Normally
+.B makemap
+complains if you repeat a key,
+and does not do the insert.
+.TP
+.B \-s
+Ignore safety checks on maps being created.
+This includes checking for hard or symbolic
+links in world writable directories.
+.TP
+.B \-t
+Use the specified delimiter instead of white space
+(also for dumping a map).
+.TP
+.B \-u
+dump (unmap) the content of the database to standard output.
+.TP
+.B \-v
+Verbosely print what it is doing.
+.P
+.SH Example
+makemap hash /etc/mail/access < /etc/mail/access
+.SH SEE ALSO
+sendmail(8), newaliases(1)
+.SH HISTORY
+The
+.B makemap
+command appeared in
+4.4BSD.
diff --git a/upstream/fedora-40/man8/makepkg.8 b/upstream/fedora-40/man8/makepkg.8
new file mode 100644
index 00000000..997369c2
--- /dev/null
+++ b/upstream/fedora-40/man8/makepkg.8
@@ -0,0 +1,611 @@
+'\" t
+.\" Title: makepkg
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 2024-01-25
+.\" Manual: Pacman Manual
+.\" Source: Pacman 6.0.2
+.\" Language: English
+.\"
+.TH "MAKEPKG" "8" "2024\-01\-25" "Pacman 6\&.0\&.2" "Pacman Manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+makepkg \- package build utility
+.SH "SYNOPSIS"
+.sp
+\fImakepkg\fR [options] [ENVVAR=value] [ENVVAR+=value] \&...
+.SH "DESCRIPTION"
+.sp
+\fImakepkg\fR is a script to automate the building of packages\&. The requirements for using the script are a build\-capable *nix platform and a custom build script for each package you wish to build (known as a PKGBUILD)\&. See \fBPKGBUILD\fR(5) for details on creating your own build scripts\&.
+.sp
+The advantage to a script\-based build is that the work is only done once\&. Once you have the build script for a package, \fImakepkg\fR will do the rest: download and validate source files, check dependencies, configure the build\-time settings, build the package, install the package into a temporary root, make customizations, generate meta\-info, and package the whole thing up for pacman to use\&.
+.if n \{\
+.sp
+.\}
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBNote\fR
+.ps -1
+.br
+.sp
+\fImakepkg\fR uses your current locale by default and does not unset it when building packages\&. If you wish to share your build output with others when seeking help or for other purposes, you may wish to run "LC_ALL=C makepkg" so your logs and output are not localized\&.
+.sp .5v
+.RE
+.SH "OPTIONS"
+.PP
+\fB\-A, \-\-ignorearch\fR
+.RS 4
+Ignore a missing or incomplete arch field in the build script\&. This is for rebuilding packages from source when the PKGBUILD may be slightly outdated and not updated with an
+arch=(\*(Aqyourarch\*(Aq)
+field\&.
+.RE
+.PP
+\fB\-c, \-\-clean\fR
+.RS 4
+Clean up leftover work files and directories after a successful build\&.
+.RE
+.PP
+\fB\-\-config\fR <file>
+.RS 4
+Use an alternate configuration file instead of the
+/etc/makepkg\&.conf
+default\&.
+.RE
+.PP
+\fB\-d, \-\-nodeps\fR
+.RS 4
+Do not perform any dependency checks\&. This will let you override and ignore any dependencies required\&. There is a good chance this option will break the build process if all of the dependencies are not installed\&.
+.RE
+.PP
+\fB\-e, \-\-noextract\fR
+.RS 4
+Do not extract source files or run the prepare() function (if present); use whatever source already exists in the $srcdir/ directory\&. This is handy if you want to go into $srcdir/ and manually patch or tweak code, then make a package out of the result\&. Keep in mind that creating a patch may be a better solution to allow others to use your PKGBUILD\&.
+.RE
+.PP
+\fB\-\-verifysource\fR
+.RS 4
+For each source file in the source array of PKGBUILD, download the file if required and perform the integrity checks\&. No extraction or build is performed\&. Dependencies specified in the PKGBUILD will not be handled unless
+\-\-syncdeps
+is used\&. Useful for performing subsequent offline builds\&.
+.RE
+.PP
+\fB\-f, \-\-force\fR
+.RS 4
+makepkg will not build a package if a built package already exists in the
+PKGDEST
+(set in
+\fBmakepkg.conf\fR(5)) directory, which may default to the current directory\&. This allows the built package to be overwritten\&.
+.RE
+.PP
+\fB\-g, \-\-geninteg\fR
+.RS 4
+For each source file in the source array of PKGBUILD, download the file if required and generate integrity checks\&. The integrity checks generated are determined by the checks present in the PKGBUILD, falling back to the value of the INTEGRITY_CHECK array in makepkg\&.conf(5) if these are absent This output can be redirected into your PKGBUILD for source validation using "makepkg \-g >> PKGBUILD"\&.
+.RE
+.PP
+\fB\-\-skipinteg\fR
+.RS 4
+Do not perform any integrity checks (checksum and PGP) on source files\&.
+.RE
+.PP
+\fB\-\-skipchecksums\fR
+.RS 4
+Do not verify checksums of source files\&.
+.RE
+.PP
+\fB\-\-skippgpcheck\fR
+.RS 4
+Do not verify PGP signatures of source files\&.
+.RE
+.PP
+\fB\-h, \-\-help\fR
+.RS 4
+Output syntax and command line options\&.
+.RE
+.PP
+\fB\-\-holdver\fR
+.RS 4
+When using VCS sources (\fBPKGBUILD\fR(5)) any currently checked out source will not be updated to the latest revision\&.
+.RE
+.PP
+\fB\-i, \-\-install\fR
+.RS 4
+Install or upgrade the package after a successful build using
+\fBpacman\fR(8)\&.
+.RE
+.PP
+\fB\-L, \-\-log\fR
+.RS 4
+Enable logging\&. This will use the
+\fBtee\fR
+program to send the output of each of the PKGBUILD functions to both the console and to a text file in the build directory named
+pkgbase\-pkgver\-pkgrel\-arch\-<function>\&.log\&. As mentioned above, the logs will be localized so you may want to set your locale accordingly if sharing the log output with others\&.
+.RE
+.PP
+\fB\-m, \-\-nocolor\fR
+.RS 4
+Disable color in output messages\&.
+.RE
+.PP
+\fB\-o, \-\-nobuild\fR
+.RS 4
+Download and extract files, run the prepare() function, but do not build them\&. Useful with the
+\fI\-\-noextract\fR
+option if you wish to tweak the files in $srcdir/ before building\&.
+.RE
+.PP
+\fB\-p\fR <buildscript>
+.RS 4
+Read the package script
+buildscript
+instead of the
+PKGBUILD
+default; see
+\fBPKGBUILD\fR(5)\&. The
+buildscript
+must be located in the directory makepkg is called from\&.
+.RE
+.PP
+\fB\-r, \-\-rmdeps\fR
+.RS 4
+Upon successful build, remove any dependencies installed by makepkg during dependency auto\-resolution and installation when using
+\-s\&.
+.RE
+.PP
+\fB\-R, \-\-repackage\fR
+.RS 4
+Repackage contents of the package without rebuilding the package\&. This is useful if you forgot, for example, a dependency or install file in your PKGBUILD and the build itself will not change\&.
+.RE
+.PP
+\fB\-s, \-\-syncdeps\fR
+.RS 4
+Install missing dependencies using pacman\&. When build\-time or run\-time dependencies are not found, pacman will try to resolve them\&. If successful, the missing packages will be downloaded and installed\&.
+.RE
+.PP
+\fB\-S, \-\-source\fR
+.RS 4
+Do not actually build the package, but build a source\-only tarball that does not include sources that can be fetched via a download URL\&. This is useful for passing a single tarball to another program such as a chroot, remote builder, or a tarball upload\&. Because integrity checks are verified, all source files of the package need to be present or downloadable\&.
+.RE
+.PP
+\fB\-V, \-\-version\fR
+.RS 4
+Display version information\&.
+.RE
+.PP
+\fB\-C, \-\-cleanbuild\fR
+.RS 4
+Remove the $srcdir before building the package\&.
+.RE
+.PP
+\fB\-\-allsource\fR
+.RS 4
+Do not actually build the package, but build a source\-only tarball that includes all sources, including those that are normally downloaded via makepkg\&. This is useful for passing a single tarball to another program such as a chroot or remote builder\&. It will also satisfy requirements of the GPL when distributing binary packages\&.
+.RE
+.PP
+\fB\-\-check\fR
+.RS 4
+Run the check() function in the PKGBUILD, overriding the setting in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fB\-\-noarchive\fR
+.RS 4
+Do not create the archive at the end of the build process\&. This can be useful to test the package() function or if your target distribution does not use pacman\&.
+.RE
+.PP
+\fB\-\-nocheck\fR
+.RS 4
+Do not run the check() function in the PKGBUILD or handle the checkdepends\&.
+.RE
+.PP
+\fB\-\-noprepare\fR
+.RS 4
+Do not run the prepare() function in the PKGBUILD\&.
+.RE
+.PP
+\fB\-\-sign\fR
+.RS 4
+Sign the resulting package with gpg, overriding the setting in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fB\-\-nosign\fR
+.RS 4
+Do not create a signature for the built package\&.
+.RE
+.PP
+\fB\-\-key\fR <key>
+.RS 4
+Specify a key to use when signing packages, overriding the GPGKEY setting in
+\fBmakepkg.conf\fR(5)\&. If not specified in either location, the default key from the keyring will be used\&.
+.RE
+.PP
+\fB\-\-noconfirm\fR
+.RS 4
+(Passed to pacman) Prevent pacman from waiting for user input before proceeding with operations\&.
+.RE
+.PP
+\fB\-\-needed\fR
+.RS 4
+(Passed to pacman) Tell pacman not to reinstall a target if it is already up\-to\-date\&. (used with
+\fI\-i\fR
+/
+\fI\-\-install\fR)\&.
+.RE
+.PP
+\fB\-\-asdeps\fR
+.RS 4
+(Passed to pacman) Install packages as non\-explicitly installed (used with
+\fI\-i\fR
+/
+\fI\-\-install\fR)\&.
+.RE
+.PP
+\fB\-\-noprogressbar\fR
+.RS 4
+(Passed to pacman) Prevent pacman from displaying a progress bar; useful if you are redirecting makepkg output to file\&.
+.RE
+.PP
+\fB\-\-packagelist\fR
+.RS 4
+List the package filenames that would be produced without building\&. Listed package filenames include PKGDEST and PKGEXT\&.
+.RE
+.PP
+\fB\-\-printsrcinfo\fR
+.RS 4
+Generate and print the SRCINFO file to stdout\&.
+.RE
+.SH "ADDITIONAL FEATURES"
+.sp
+makepkg supports building development versions of packages without having to manually update the pkgver in the PKGBUILD\&. This was formerly done using the separate utility \fIversionpkg\fR\&. See \fBPKGBUILD\fR(5) for details on how to set up a development PKGBUILD\&.
+.SH "REPRODUCIBILITY"
+.sp
+makepkg is designed to be compatible with Reproducible Builds\&. If the \fBSOURCE_DATE_EPOCH\fR environment variable is set, it will be exported to subprocesses, and source and package file modification times and package metadata will be unified based on the timestamp specified\&.
+.sp
+If the \fBSOURCE_DATE_EPOCH\fR environment variable is not set, makepkg will use its own start date for internal use, but will not unify source file timestamps before building\&.
+.SH "ENVIRONMENT VARIABLES"
+.PP
+\fBPACMAN\fR
+.RS 4
+The command that will be used to check for missing dependencies and to install and remove packages\&. Pacman\(cqs
+\fI\-Qq\fR,
+\fI\-Rns\fR,
+\fI\-S\fR,
+\fI\-T\fR, and
+\fI\-U\fR
+operations must be supported by this command\&. If the variable is not set or empty, makepkg will fall back to \(oqpacman\(cq\&.
+.RE
+.PP
+\fBMAKEPKG_CONF=\fR"/path/to/file"
+.RS 4
+Use an alternate config file instead of the
+/etc/makepkg\&.conf
+default\&.
+.RE
+.PP
+\fBPKGDEST=\fR"/path/to/directory"
+.RS 4
+Directory where the resulting packages will be stored\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBSRCDEST=\fR"/path/to/directory"
+.RS 4
+Directory where the downloaded sources will be stored\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBSRCPKGDEST=\fR"/path/to/directory"
+.RS 4
+Directory where source package files will be stored\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBLOGDEST=\fR"/path/to/directory"
+.RS 4
+Directory where generated log files will be stored\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBPACKAGER=\fR"John Doe <john@doe\&.com>"
+.RS 4
+String to identify the creator of the resulting package\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBBUILDDIR=\fR"/path/to/directory"
+.RS 4
+Directory where the package will be built\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBCARCH=\fR"(i686|x86_64)"
+.RS 4
+Force build for a specific architecture\&. Useful for cross\-compiling\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBPKGEXT=\fR"\&.pkg\&.tar\&.gz", \fBSRCEXT=\fR"\&.src\&.tar\&.gz"
+.RS 4
+Sets the compression used when making compiled or source packages\&. Overrides the corresponding value defined in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBGNUPGHOME=\fR"/path/to/directory"
+.RS 4
+Directory where the gpg keyring for signing the built package is stored\&.
+.RE
+.PP
+\fBGPGKEY=\fR"keyid"
+.RS 4
+Specify a key to use when signing packages, overriding the GPGKEY setting in
+\fBmakepkg.conf\fR(5)\&.
+.RE
+.PP
+\fBSOURCE_DATE_EPOCH=\fR"<date>"
+.RS 4
+Used for
+Reproducible Builds\&.
+.RE
+.PP
+\fBBUILDTOOL=\fR"<name>"
+.RS 4
+The name of a tool ecosystem used to set up the build environment\&. Used for defining a spec for reproducible builds, e\&.g\&. the
+\fBmakepkg.conf\fR(5)
+used\&.
+.RE
+.PP
+\fBBUILDTOOLVER=\fR"<version>"
+.RS 4
+The version of the
+\fI$BUILDTOOL\fR
+used\&.
+.RE
+.SH "CONFIGURATION"
+.sp
+See \fBmakepkg.conf\fR(5) for more details on configuring makepkg using the \fImakepkg\&.conf\fR file\&.
+.SH "ERRORS"
+.sp
+On exit, makepkg will return one of the following error codes\&.
+.PP
+0
+.RS 4
+Normal exit condition\&.
+.RE
+.PP
+1
+.RS 4
+Unknown cause of failure\&.
+.RE
+.PP
+2
+.RS 4
+Error in configuration file\&.
+.RE
+.PP
+3
+.RS 4
+User specified an invalid option\&.
+.RE
+.PP
+4
+.RS 4
+Error in user\-supplied function in PKGBUILD\&.
+.RE
+.PP
+5
+.RS 4
+Failed to create a viable package\&.
+.RE
+.PP
+6
+.RS 4
+A source or auxiliary file specified in the PKGBUILD is missing\&.
+.RE
+.PP
+7
+.RS 4
+The PKGDIR is missing\&.
+.RE
+.PP
+8
+.RS 4
+Failed to install dependencies\&.
+.RE
+.PP
+9
+.RS 4
+Failed to remove dependencies\&.
+.RE
+.PP
+10
+.RS 4
+User attempted to run makepkg as root\&.
+.RE
+.PP
+11
+.RS 4
+User lacks permissions to build or install to a given location\&.
+.RE
+.PP
+12
+.RS 4
+Error parsing PKGBUILD\&.
+.RE
+.PP
+13
+.RS 4
+A package has already been built\&.
+.RE
+.PP
+14
+.RS 4
+The package failed to install\&.
+.RE
+.PP
+15
+.RS 4
+Programs necessary to run makepkg are missing\&.
+.RE
+.PP
+16
+.RS 4
+Specified GPG key does not exist or failed to sign package\&.
+.RE
+.SH "SEE ALSO"
+.sp
+\fBmakepkg.conf\fR(5), \fBPKGBUILD\fR(5), \fBpacman\fR(8)
+.sp
+See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
+.SH "BUGS"
+.sp
+Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
+.SH "AUTHORS"
+.sp
+Current maintainers:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Allan McRae <allan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eli Schwartz <eschwartz@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Morgan Adamiec <morganamilo@archlinux\&.org>
+.RE
+.sp
+Past major contributors:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Judd Vinet <jvinet@zeroflux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aurelien Foret <aurelien@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aaron Griffin <aaron@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dan McGee <dan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Xavier Chantry <shiningxc@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dave Reisner <dreisner@archlinux\&.org>
+.RE
+.sp
+For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
diff --git a/upstream/fedora-40/man8/mapscrn.8 b/upstream/fedora-40/man8/mapscrn.8
new file mode 100644
index 00000000..4032569a
--- /dev/null
+++ b/upstream/fedora-40/man8/mapscrn.8
@@ -0,0 +1,118 @@
+.\" @(#)man/man8/mapscrn.8 1.0 3/19/93 17:04:00
+.TH MAPSCRN 8 "20 March 1993" "kbd"
+.SH NAME
+mapscrn \- load screen output mapping table
+.SH SYNOPSIS
+.BR mapscrn " [" -V "] [" -v "] [" -o
+.IR map.orig ]
+.I mapfile
+.SH DESCRIPTION
+The
+.B mapscrn
+command is obsolete - its function is now built-in into setfont.
+However, for backwards compatibility it is still available
+as a separate command.
+.LP
+The
+.I mapscrn
+command loads a user defined output character mapping table into the
+console driver. The console driver may be later put into
+.B use user-defined mapping table
+mode by outputting a special escape sequence to the console device.
+This sequence is
+.I <esc>(K
+for the
+.B G0
+character set and
+.I <esc>)K
+for the
+.B G1
+character set.
+When the
+.I -o
+option is given, the old map is saved in
+.I map.orig.
+.SH USE
+There are two kinds of mapping tables: direct-to-font tables,
+that give a font position for each user byte value, and user-to-unicode
+tables that give a unicode value for each user byte. The corresponding
+glyph is now found using the unicode index of the font.
+The command
+.RS
+mapscrn trivial
+.RE
+sets up a one-to-one direct-to-font table where user bytes
+directly address the font. This is useful for fonts that are
+in the same order as the character set one uses.
+A command like
+.RS
+mapscrn 8859-2
+.RE
+sets up a user-to-unicode table that assumes that the user
+uses ISO 8859-2.
+.SH "INPUT FORMAT"
+The
+.I mapscrn
+command can read the map in either of two formats:
+.br
+1. 256 or 512 bytes binary data
+.br
+2. two-column text file
+.br
+Format (1) is a direct image of the translation
+.I table. The 256-bytes tables are direct-to-font,
+the 512-bytes tables are user-to-unicode tables.
+Format (2) is used to fill the
+.I table
+as follows: cell with offset mentioned in the first column is filled
+with the value mentioned in the second column.
+When values larger than 255 occur, or values are written using
+the U+xxxx notation, the table is assumed to be a user-to-unicode
+table, otherwise it is a direct-to-font table.
+.PP
+Values in the file may be specified in one of several
+.B formats:
+.br
+.B 1. Decimal:
+String of decimal digits not starting with '0'
+.br
+.B 2. Octal:
+String of octal digits beginning with '0'.
+.br
+.B 3. Hexadecimal:
+String of hexadecimal digits preceded by "0x".
+.br
+.B 4. Unicode:
+String of four hexadecimal digits preceded by "U+".
+.br
+.B 5. Character:
+Single character enclosed in single quotes. (And the binary value is used.)
+Note that blank, comma, tab character and '#' cannot be specified
+with this format.
+.br
+.B 6. UTF-8 Character:
+Single (possibly multi-byte) UTF-8 character, enclosed in single quotes.
+.PP
+Note that control characters (with codes < 32) cannot be re-mapped with
+.I mapscrn
+because they have special meaning for the driver.
+.SH OTHER OPTIONS
+.TP
+.B \-V
+Prints version number and exits.
+.TP
+.B \-v
+Be verbose.
+.SH FILES
+.TP
+.I /usr/lib/kbd/consoletrans
+The default directory for screen mappings.
+.LP
+.SH "SEE ALSO"
+.IR setfont (8)
+.SH AUTHOR
+Copyright (C) 1993 Eugene G. Crosser
+.br
+<crosser@pccross.msk.su>
+.br
+This software and documentation may be distributed freely.
diff --git a/upstream/fedora-40/man8/mii-diag.8 b/upstream/fedora-40/man8/mii-diag.8
new file mode 100644
index 00000000..52f35d19
--- /dev/null
+++ b/upstream/fedora-40/man8/mii-diag.8
@@ -0,0 +1,160 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" $Revision: 1.1 $ $Date: 2003/09/06 17:20:17 $
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH MII-DIAG 8 "September 9, 2003" "Scyld Beowulf\[tm]"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+mii-diag \- Network adapter control and monitoring
+.SH SYNOPSIS
+.B mii-diag
+.RI [ options ] <interface>
+.SH DESCRIPTION
+This manual page documents briefly the
+.B mii-diag
+network adapter control and monitoring command.
+Addition documentation is available from http://scyld.com/diag/index.html.
+
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invoke bold face and italics,
+.\" respectively.
+.PP
+This \fBmii-diag\fP command configures, controls and monitors the
+transceiver management registers for network interfaces, and configures
+driver operational parameters. For transceiver control \fBmii-diag\fP
+uses the Media Independent Interface (MII) standard (thus the command name).
+It also has additional Linux-specific controls to communicate parameters
+such as message enable settings and buffer sizes to the underlying device
+driver.
+.PP
+The MII standard defines registers that control and report network
+transceiver capabilities, link settings and errors. Examples are link
+speed, duplex, capabilities advertised to the link partner, status LED
+indications and link error counters.
+
+.SH OPTIONS
+The \fBmii-diag\fP command supports both single character and long
+option names. Short options use a single dash (´-´) in front of the option
+character. For options without parameters, multiple options may be
+concatenated after a single dash. Long options are prefixed by two
+dashes (´--´), and may be abbreviated with a unique prefix.
+A long option may take a parameter of the form --arg=param or --arg param.
+
+.PP
+A summary of options is as follows.
+
+.TP
+.B \-A, --advertise <speed|setting>
+.BR
+.B \-F, --fixed-speed <speed|setting>
+
+Speed is one of: 100baseT4, 100baseTx, 100baseTx-FD, 100baseTx-HD, 10baseT,
+10baseT-FD, 10baseT-HD. For more precise control an explicit numeric
+register setting is also allowed.
+
+
+.TP
+.B \-a, \--all-interfaces
+Show the status of all interfaces. This option is not recommended with
+any other option, especially ones that change settings.
+
+.TP
+.B \-s,\--status
+Return exit status 2 if there is no link beat.
+
+.TP
+.B \-D
+Increase the debugging level. This may be used to understand the
+actions the command is taking.
+
+.TP
+.B \-g, \--read-parameters
+Show driver-specific parameters.
+
+.TP
+.B \-G, \--set-parameters value[,value...]
+Set driver-specific parameters.
+Set a adapter-specific parameters.
+Parameters are comma separated, with missing elements retaining the
+existing value.
+
+.TP
+.B \-v
+Increase the verbosity level. Additional "-v" options increase the
+level further.
+
+.TP
+.B \-V
+Show the program version information.
+
+.TP
+.B \-w, \--watch
+Continuously monitor the transceiver and report changes.
+
+.TP
+.B \-?
+Emit usage information.
+
+.SH DESCRIPTION
+
+.PP
+Calling the command with just the interface name
+produces extensive output describing the transceiver
+capabilities, configuration and current status.
+
+.PP
+The '--monitor' option allows scripting link beat changes.
+.PP
+This option is similar to --watch, but with lower overhead and simplified
+output. It polls the interface only once a second and the output format
+is a single line per link change with three fixed words
+ <unknown|down||negotiating|up> <STATUS> <PARTNER-CAP>
+.PP
+Example output: mii-diag --monitor eth0
+ down 0x7809 0x0000
+ negotiating 0x7829 0x45e1
+ up 0x782d 0x45e1
+ down 0x7809 0x0000
+
+.PP
+This may be used as
+ mii-diag --monitor eth0 |
+ while read linkstatus bmsr linkpar; do
+ case $linkstatus in
+ up) ifup eth0 ;;
+ down) ifdown eth0 ;;
+ esac
+ done
+
+.PP
+It may be useful to shorten the DHCP client daemon timeout if it does
+not receive an address by adding the following setting to
+/etc/sysconfig/network:
+DHCPCDARGS="-t 3"
+
+.SH SEE ALSO
+.BR ether-wake (8), net-diag (8), mii-tool (8).
+.br
+Addition documentation is available from http://scyld.com/diag/index.html.
+
+.SH KNOWN BUGS
+The --all-interfaces option is quirky. There are very few settings that
+are usefully applied to all interfaces.
+
+.SH AUTHOR
+The manual pages, diagnostic commands, and many of the underlying Linux
+network drivers were written by Donald Becker for the Scyld
+Beowulf(\*(Tm) cluster system.
+
diff --git a/upstream/fedora-40/man8/mii-tool.8 b/upstream/fedora-40/man8/mii-tool.8
new file mode 100644
index 00000000..0dfab03d
--- /dev/null
+++ b/upstream/fedora-40/man8/mii-tool.8
@@ -0,0 +1,111 @@
+.\" Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
+.\"
+.TH MII\-TOOL 8 "2013\-02\-15" "net\-tools" "Linux System Administrator's Manual"
+
+.SH NAME
+mii\-tool \- view, manipulate media-independent interface status
+
+.SH SYNOPSIS
+.B mii\-tool
+[\fB\-v\fR, \fB\-\-verbose\fR]
+[\fB\-V\fR, \fB\-\-version\fR]
+[\fB\-R\fR, \fB\-\-reset\fR]
+[\fB\-r\fR, \fB\-\-restart\fR]
+[\fB\-w\fR, \fB\-\-watch\fR]
+[\fB\-l\fR, \fB\-\-log\fR]
+[\fB\-A\fR, \fB\-\-advertise=\fImedia,...\fR]
+[\fB\-F\fR, \fB\-\-force=\fImedia\fR]
+[\fB\-p\fR, \fB\-\-phy=\fIaddr\fR]
+.RI "interface\ ..."
+
+.SH NOTE
+.P
+This program is obsolete. For replacement check \fBethtool\fB.
+
+.SH DESCRIPTION
+This utility checks or sets the status of a network interface's Media
+Independent Interface (MII) unit. Most fast ethernet adapters use an
+MII to autonegotiate link speed and duplex setting.
+.PP
+Most intelligent network devices use an autonegotiation protocol to
+communicate what media technologies they support, and then select the
+fastest mutually supported media technology. The \fB\-A\fR or
+\fB\-\-advertise\fR options can be used to tell the MII to only
+advertise a subset of its capabilities. Some passive devices, such as
+single-speed hubs, are unable to autonegotiate. To handle such
+devices, the MII protocol also allows for establishing a link by
+simply detecting either a 10baseT or 100baseT link beat. The \fB\-F\fR
+or \fB\-\-force\fR options can be used to force the MII to operate in
+one mode, instead of autonegotiating. The \fB\-A\fR and \fB\-F\fR
+options are mutually exclusive.
+.PP
+The default short output reports the negotiated link speed and link
+status for each interface.
+.SH OPTIONS
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Display more detailed MII status information. If used twice, also
+display raw MII register contents.
+.br
+\fBAlert:\fR If used three times, will force reading all MII
+registers, including non standard ones. It's not guaranteed any
+valid answer from PHY while PHY communication can even hang.
+With driver e1000e will fail while reading register 0x07.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display program version information.
+.TP
+\fB\-R\fR, \fB\-\-reset\fR
+Reset the MII to its default configuration.
+.TP
+\fB\-r\fR, \fB\-\-restart\fR
+Restart autonegotiation.
+.TP
+\fB\-w\fR, \fB\-\-watch\fR
+Watch interface(s) and report changes in link status. The MII
+interfaces are polled at one second intervals.
+.TP
+\fB\-l\fR, \fB\-\-log\fR
+Used with \fB\-w\fR, records link status changes in the system log
+instead of printing on standard output.
+.TP
+\fB\-F\fI media\fR, \fB\-\-force=\fImedia\fR
+Disable autonegotiation, and force the MII to either \fB100baseTx-FD\fR,
+\fB100baseTx-HD\fR, \fB10baseT-FD\fR, or \fB10baseT-HD\fR operation.
+.TP
+\fB\-A\fI media,...\fR, \fB\-\-advertise=\fImedia,...\fR
+Enable and restart autonegotiation, and advertise only the specified
+media technologies. Multiple technologies should be separated by
+commas. Valid media are \fB100baseT4\fR, \fB100baseTx-FD\fR,
+\fB100baseTx-HD\fR, \fB10baseT-FD\fR, and \fB10baseT-HD\fR.
+.TP
+\fB\-p\fI addr\fR, \fB\-\-phy=\fIaddr\fR
+Override the MII address provided by kernel with value \fBaddr\fR.
+
+.SH DIAGNOSTICS
+.TP
+SIOCGMIIPHY on 'eth?' failed: Invalid argument
+If the interface is not running (up), kernel will refuse to report its link state.
+.TP
+SIOCGMIIPHY on 'eth?' failed: Operation not permitted
+Most kernels restrict access to root.
+.TP
+SIOCGMIIPHY on 'eth?' failed: No such device
+This error is shown, if the kernel does not know about the named device.
+.TP
+SIOCGMIIPHY on 'eth?' failed: Operation not supported
+The interface in question does not support MII queries. Most likely, it does not have
+MII transceivers, at all.
+
+.SH SEE ALSO
+ethtool(8)
+
+.SH AUTHORS
+David Hinds \- dhinds@pcmcia.sourceforge.org
+.br
+Donald Becker \- becker@scyld.com
+.br
+Bernd Eckenfels \- net-tools@lina.inka.de
+
+.SH SEE ALSO
+http://net-tools.sourceforge.net \- Homepage of the net-tools project
diff --git a/upstream/fedora-40/man8/mingetty.8 b/upstream/fedora-40/man8/mingetty.8
new file mode 100644
index 00000000..a7b88867
--- /dev/null
+++ b/upstream/fedora-40/man8/mingetty.8
@@ -0,0 +1,118 @@
+.TH MINGETTY 8 "6 Apr 1996" "Debian-Local" "Linux Programmer's Manual"
+.SH NAME
+mingetty \- minimal getty for consoles
+.SH SYNOPSIS
+.B mingetty
+[\-\-noclear] [\-\-nonewline] [\-\-noissue] [\-\-nohangup] [\-\-nohostname]
+[\-\-long\-hostname] [\-\-loginprog=/bin/login] [\-\-nice=10] [\-\-delay=5]
+[\-\-chdir=/home] [\-\-chroot=/chroot] [\-\-autologin username]
+[\-\-loginpause]
+.I tty
+.PP
+.SH DESCRIPTION
+.B mingetty
+is a minimal getty for use on virtual consoles.
+Unlike
+.BR agetty (8),
+.B mingetty
+is not suitable for serial lines.
+I recommend using
+.BR mgetty (8)
+for this purpose.
+.PP
+.SH OPTIONS
+.TP
+.B \-\-noclear
+Do not clear the screen before prompting for the login name (the screen
+is normally cleared).
+.TP
+.B \-\-nonewline
+Do not print a newline before writing out /etc/issue.
+.TP
+.B \-\-noissue
+Do not output /etc/issue.
+.TP
+.B \-\-nohangup
+Do not call vhangup() to disable writing to this tty by
+other applications.
+.TP
+.B \-\-nohostname
+Do not print the hostname before the login prompt.
+.TP
+.B \-\-long\-hostname
+By default the hostname is only printed until the first dot.
+With this option enabled, the full text from gethostname() is shown.
+.TP
+.B \-\-loginprog /bin/login
+Change the login app.
+.TP
+.B \-\-nice 10
+Change the priority by calling nice().
+.TP
+.B \-\-delay 5
+Sleep this many seconds after startup of mingetty.
+.TP
+.B \-\-chdir /home
+Change into this directory before calling the login prog.
+.TP
+.B \-\-chroot /chroot
+Call chroot() with this directory name.
+.TP
+.B \-\-autologin username
+Log the specified user automatically in without asking for
+a login name and password. Check the \-f option from
+.B /bin/login
+for this.
+.TP
+.B \-\-loginpause
+Wait for any key before dropping to the login prompt.
+Can be combined with \fB\-\-autologin\fR to save memory by lazily spawning
+shells.
+.PP
+.SH "ISSUE ESCAPES"
+.B mingetty
+recognizes the following escapes sequences which might be embedded in the
+.I /etc/issue
+file:
+.IP \fB\ed\fP
+insert current day (localtime),
+.IP \fB\el\fP
+insert line on which
+.B mingetty
+is running,
+.IP \fB\em\fP
+inserts machine architecture (uname -m),
+.IP \fB\en\fP
+inserts machine's network node hostname (uname -n),
+.IP \fB\eo\fP
+inserts domain name,
+.IP \fB\er\fP
+inserts operating system release (uname -r),
+.IP \fB\et\fP
+insert current time (localtime),
+.IP \fB\es\fP
+inserts operating system name,
+.IP \fB\eu\fP
+resp. \fB\eU\fP
+the current number of users which are currently logged in.
+\\U inserts "\fIn\fP users", where as \\u only inserts "\fIn\fP".
+.IP \fB\ev\fP
+inserts operating system version (uname -v).
+.PP
+.SH EXAMPLE
+"\fBLinux\ eos\ i386\ #1\ Tue\ Mar\ 19\ 21:54:09\ MET\ 1996\fP" was produced
+by putting "\fB\\s\ \\n\ \\m\ \\v\fP" into
+.IR /etc/issue .
+.PP
+.SH FILES
+.IR /etc/issue ,
+.IR /var/run/utmp .
+.PP
+.SH "SEE ALSO"
+.BR mgetty (8),
+.BR agetty (8).
+.PP
+.SH AUTHOR
+Copyright \(co 1996 Florian La Roche <laroche@redhat.com>.
+Man-page written by David Frey <David.Frey@eos.lugs.ch> and
+Florian La Roche.
diff --git a/upstream/fedora-40/man8/mke2fs.8 b/upstream/fedora-40/man8/mke2fs.8
new file mode 100644
index 00000000..d39c024b
--- /dev/null
+++ b/upstream/fedora-40/man8/mke2fs.8
@@ -0,0 +1,891 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH MKE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+mke2fs \- create an ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B mke2fs
+[
+.B \-c
+|
+.B \-l
+.I filename
+]
+[
+.B \-b
+.I block-size
+]
+[
+.B \-C
+.I cluster-size
+]
+[
+.B \-d
+.I root-directory
+]
+[
+.B \-D
+]
+[
+.B \-g
+.I blocks-per-group
+]
+[
+.B \-G
+.I number-of-groups
+]
+[
+.B \-i
+.I bytes-per-inode
+]
+[
+.B \-I
+.I inode-size
+]
+[
+.B \-j
+]
+[
+.B \-J
+.I journal-options
+]
+[
+.B \-N
+.I number-of-inodes
+]
+[
+.B \-n
+]
+[
+.B \-m
+.I reserved-blocks-percentage
+]
+[
+.B \-o
+.I creator-os
+]
+[
+.B \-O
+[^]\fIfeature\fR[,...]
+]
+[
+.B \-q
+]
+[
+.B \-r
+.I fs-revision-level
+]
+[
+.B \-E
+.I extended-options
+]
+[
+.B \-v
+]
+[
+.B \-F
+]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-M
+.I last-mounted-directory
+]
+[
+.B \-S
+]
+[
+.B \-t
+.I fs-type
+]
+[
+.B \-T
+.I usage-type
+]
+[
+.B \-U
+.I UUID
+]
+[
+.B \-V
+]
+[
+.B \-e
+.I errors-behavior
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+[
+.I fs-size
+]
+.sp
+.B "mke2fs \-O journal_dev"
+[
+.B \-b
+.I block-size
+]
+.\" No external-journal specific journal options yet (size is ignored)
+.\" [
+.\" .B \-J
+.\" .I journal-options
+.\" ]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-n
+]
+[
+.B \-q
+]
+[
+.B \-v
+]
+.I external-journal
+[
+.I fs-size
+]
+.SH DESCRIPTION
+.B mke2fs
+is used to create an ext2, ext3, or ext4 file system, usually in a disk
+partition (or file) named by
+.IR device .
+.PP
+The file system size is specified by
+.IR fs-size .
+If
+.I fs-size
+does not have a suffix, it is interpreted as power-of-two kilobytes,
+unless the
+.B \-b
+.I blocksize
+option is specified, in which case
+.I fs-size
+is interpreted as the number of
+.I blocksize
+blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't'
+(either upper-case or lower-case), then it is interpreted in
+power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
+If
+.I fs-size
+is omitted,
+.B mke2fs
+will create the file system based on the device size.
+.PP
+If
+.B mke2fs
+is run as
+.B mkfs.XXX
+(i.e.,
+.BR mkfs.ext2 ,
+.BR mkfs.ext3 ,
+or
+.BR mkfs.ext4 )
+the option
+.B \-t
+.I XXX
+is implied; so
+.B mkfs.ext3
+will create a file system for use with ext3,
+.B mkfs.ext4
+will create a file system for use with ext4, and so on.
+.PP
+The defaults of the parameters for the newly created file system, if not
+overridden by the options listed below, are controlled by the
+.B /etc/mke2fs.conf
+configuration file. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+.SH OPTIONS
+.TP
+.BI \-b " block-size"
+Specify the size of blocks in bytes. Valid block-size values are powers of two
+from 1024 up to 65536 (however note that the kernel is able to mount only
+file systems with block-size smaller or equal to the system page size - 4k on
+x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
+If omitted, block-size is heuristically determined by the file system size and
+the expected usage of the file system (see the
+.B \-T
+option). In most common cases, the default block size is 4k. If
+.I block-size
+is preceded by a negative sign ('-'), then
+.B mke2fs
+will use heuristics to determine the
+appropriate block size, with the constraint that the block size will be
+at least
+.I block-size
+bytes. This is useful for certain hardware devices which require that
+the blocksize be a multiple of 2k.
+.TP
+.B \-c
+Check the device for bad blocks before creating the file system. If
+this option is specified twice, then a slower read-write
+test is used instead of a fast read-only test.
+.TP
+.B \-C " cluster-size"
+Specify the size of cluster in bytes for file systems using the bigalloc
+feature. Valid cluster-size values are from 2048 to 256M bytes per
+cluster. This can only be specified if the bigalloc feature is
+enabled. (See the
+.B ext4 (5)
+man page for more details about bigalloc.) The default cluster size if
+bigalloc is enabled is 16 times the block size.
+.TP
+.BI \-d " root-directory"
+Copy the contents of the given directory into the root directory of the
+file system.
+.TP
+.B \-D
+Use direct I/O when writing to the disk. This avoids mke2fs dirtying a
+lot of buffer cache memory, which may impact other applications running
+on a busy server. This option will cause mke2fs to run much more
+slowly, however, so there is a tradeoff to using direct I/O.
+.TP
+.BI \-e " error-behavior"
+Change the behavior of the kernel code when errors are detected.
+In all cases, a file system error will cause
+.BR e2fsck (8)
+to check the file system on the next boot.
+.I error-behavior
+can be one of the following:
+.RS 1.2i
+.TP 1.2i
+.B continue
+Continue normal execution.
+.TP
+.B remount-ro
+Remount file system read-only.
+.TP
+.B panic
+Cause a kernel panic.
+.RE
+.TP
+.BI \-E " extended-options"
+Set extended options for the file system. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+.B \-E
+option used to be
+.B \-R
+in earlier versions of
+.BR mke2fs .
+The
+.B \-R
+option is still accepted for backwards compatibility, but is deprecated.
+The following extended options are supported:
+.RS 1.2i
+.TP
+.BI encoding= encoding-name
+Enable the
+.I casefold
+feature in the super block and set
+.I encoding-name
+as the encoding to be used. If
+.I encoding-name
+is not specified, the encoding defined in
+.BR mke2fs.conf (5)
+is used.
+.TP
+.BI encoding_flags= encoding-flags
+Define parameters for file name character encoding operations. If a
+flag is not changed using this parameter, its default value is used.
+.I encoding-flags
+should be a comma-separated lists of flags to be enabled. To disable a
+flag, add it to the list with the prefix "no".
+
+The only flag that can be set right now is
+.I strict
+which means that invalid strings should be rejected by the file system.
+In the default configuration, the
+.I strict
+flag is disabled.
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds. Specifying an
+.I interval
+of 0 means to use the default interval. The specified interval must
+be less than 300 seconds. Requires that the
+.B mmp
+feature be enabled.
+.TP
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to the next disk, which is sometimes referred to as the
+.I chunk size.
+This mostly affects placement of file system metadata like bitmaps at
+.B mke2fs
+time to avoid placing them on a single disk, which can hurt performance.
+It may also be used by the block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically stride-size * N, where
+N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
+parity disk, so N will be the number of disks in the array minus 1).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
+.TP
+.BI offset= offset
+Create the file system at an offset from the beginning of the device or
+file. This can be useful when creating disk images for virtual machines.
+.TP
+.BI resize= max-online-resize
+Reserve enough space so that the block group descriptor table can grow
+to support a file system that has
+.I max-online-resize
+blocks.
+.TP
+.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled and the uninit_bg feature is enabled, the inode table will
+not be fully initialized by
+.BR mke2fs .
+This speeds up file system
+initialization noticeably, but it requires the kernel to finish
+initializing the file system in the background when the file system is
+first mounted. If the option value is omitted, it defaults to 1 to
+enable lazy inode table zeroing.
+.TP
+.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled, the journal inode will not be fully zeroed out by
+.BR mke2fs .
+This speeds up file system initialization noticeably, but carries some
+small risk if the system crashes before the journal has been overwritten
+entirely one time. If the option value is omitted, it defaults to 1 to
+enable lazy journal inode zeroing.
+.TP
+.B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled,
+.BR mke2fs
+assumes that the storage device has been prezeroed, skips zeroing the journal
+and inode tables, and annotates the block group flags to signal that the inode
+table has been zeroed.
+.TP
+.B no_copy_xattrs
+Normally
+.B mke2fs
+will copy the extended attributes of the files in the directory
+hierarchy specified via the (optional)
+.B \-d
+option. This will disable the copy and leaves the files in the newly
+created file system without any extended attributes.
+.TP
+.BI num_backup_sb= <0|1|2>
+If the
+.B sparse_super2
+file system feature is enabled this option controls whether there will
+be 0, 1, or 2 backup superblocks created in the file system.
+.TP
+.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+Place the allocation bitmaps and the inode table at the beginning of the
+disk. This option requires that the flex_bg file system feature to be
+enabled in order for it to have effect, and will also create the journal
+at the beginning of the file system. This option is useful for flash
+devices that use SLC flash at the beginning of the disk.
+It also maximizes the range of contiguous data blocks, which
+can be useful for certain specialized use cases, such as supported
+Shingled Drives.
+.TP
+.BI root_owner [=uid:gid]
+Specify the numeric user and group ID of the root directory. If no UID:GID
+is specified, use the user and group ID of the user running \fBmke2fs\fR.
+In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
+set by default to the UID and GID of the user running the mke2fs command.
+The \fBroot_owner=\fR option allows explicitly specifying these values,
+and avoid side-effects for users that do not expect the contents of the
+file system to change based on the user running \fBmke2fs\fR.
+.TP
+.B test_fs
+Set a flag in the file system superblock indicating that it may be
+mounted using experimental kernel code, such as the ext4dev file system.
+.TP
+.BI orphan_file_size= size
+Set size of the file for tracking unlinked but still open inodes and inodes
+with truncate in progress. Larger file allows for better scalability, reserving
+a few blocks per cpu is ideal.
+.TP
+.B discard
+Attempt to discard blocks at mkfs time (discarding blocks initially is useful
+on solid state devices and sparse / thin-provisioned storage). When the device
+advertises that discard also zeroes data (any subsequent read after the discard
+and before write returns zero), then mark all not-yet-zeroed inode tables as
+zeroed. This significantly speeds up file system initialization. This is set
+as default.
+.TP
+.B nodiscard
+Do not attempt to discard blocks at mkfs time.
+.TP
+.B quotatype
+Specify the which quota types (usrquota, grpquota, prjquota) which
+should be enabled in the created file system. The argument of this
+extended option should be a colon separated list. This option has
+effect only if the
+.B quota
+feature is set. The default quota types to be initialized if this
+option is not specified is both user and group quotas. If the project
+feature is enabled that project quotas will be initialized as well.
+.RE
+.TP
+.B \-F
+Force
+.B mke2fs
+to create a file system, even if the specified device is not a partition
+on a block special device, or if other parameters do not make sense.
+In order to force
+.B mke2fs
+to create a file system even if the file system appears to be in use
+or is mounted (a truly dangerous thing to do), this option must be
+specified twice.
+.TP
+.BI \-g " blocks-per-group"
+Specify the number of blocks in a block group. There is generally no
+reason for the user to ever set this parameter, as the default is optimal
+for the file system. (For administrators who are creating
+file systems on RAID arrays, it is preferable to use the
+.I stride
+RAID parameter as part of the
+.B \-E
+option rather than manipulating the number of blocks per group.)
+This option is generally used by developers who
+are developing test cases.
+.IP
+If the bigalloc feature is enabled, the
+.B \-g
+option will specify the number of clusters in a block group.
+.TP
+.BI \-G " number-of-groups"
+Specify the number of block groups that will be packed together to
+create a larger virtual block group (or "flex_bg group") in an
+ext4 file system. This improves meta-data locality and performance
+on meta-data heavy workloads. The number of groups must be a power
+of 2 and may only be specified if the
+.B flex_bg
+file system feature is enabled.
+.TP
+.BI \-i " bytes-per-inode"
+Specify the bytes/inode ratio.
+.B mke2fs
+creates an inode for every
+.I bytes-per-inode
+bytes of space on the disk. The larger the
+.I bytes-per-inode
+ratio, the fewer inodes will be created. This value generally shouldn't
+be smaller than the blocksize of the file system, since in that case more
+inodes would be made than can ever be used. Be warned that it is not
+possible to change this ratio on a file system after it is created, so be
+careful deciding the correct value for this parameter. Note that resizing
+a file system changes the number of inodes to maintain this ratio.
+.TP
+.BI \-I " inode-size"
+Specify the size of each inode in bytes.
+The
+.I inode-size
+value must be a power of 2 larger or equal to 128. The larger the
+.I inode-size
+the more space the inode table will consume, and this reduces the usable
+space in the file system and can also negatively impact performance.
+It is not
+possible to change this value after the file system is created.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
+.IP
+The default inode size is controlled by the
+.BR mke2fs.conf (5)
+file. In the
+.B mke2fs.conf
+file shipped with e2fsprogs, the default inode size is 256 bytes for
+most file systems, except for small file systems where the inode size
+will be 128 bytes.
+.TP
+.B \-j
+Create the file system with an ext3 journal. If the
+.B \-J
+option is not specified, the default journal parameters will be used to
+create an appropriately sized journal (given the size of the file system)
+stored within the file system. Note that you must be using a kernel
+which has ext3 support in order to actually make use of the journal.
+.TP
+.BI \-J " journal-options"
+Create the ext3 journal using options specified on the command-line.
+Journal options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following journal options are supported:
+.RS 1.2i
+.TP
+.BI size= journal-size
+Create an internal journal (i.e., stored inside the file system) of size
+.I journal-size
+megabytes.
+The size of the journal must be at least 1024 file system blocks
+(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks or half the total
+file system size (whichever is smaller)
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal. The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
+.TP
+.BI device= external-journal
+Attach the file system to the journal block device located on
+.IR external-journal .
+The external
+journal must already have been created using the command
+.IP
+.B mke2fs -O journal_dev
+.I external-journal
+.IP
+Note that
+.I external-journal
+must have been created with the
+same block size as the new file system.
+In addition, while there is support for attaching
+multiple file systems to a single external journal,
+the Linux kernel and
+.BR e2fsck (8)
+do not currently support shared external journals yet.
+.IP
+Instead of specifying a device name directly,
+.I external-journal
+can also be specified by either
+.BI LABEL= label
+or
+.BI UUID= UUID
+to locate the external journal by either the volume label or UUID
+stored in the ext2 superblock at the start of the journal. Use
+.BR dumpe2fs (8)
+to display a journal device's volume label and UUID. See also the
+.B -L
+option of
+.BR tune2fs (8).
+.RE
+.IP
+Only one of the
+.BR size " or " device
+options can be given for a file system.
+.TP
+.BI \-l " filename"
+Read the bad blocks list from
+.IR filename .
+Note that the block numbers in the bad block list must be generated
+using the same block size as used by
+.BR mke2fs .
+As a result, the
+.B \-c
+option to
+.B mke2fs
+is a much simpler and less error-prone method of checking a disk for bad
+blocks before formatting it, as
+.B mke2fs
+will automatically pass the correct parameters to the
+.B badblocks
+program.
+.TP
+.BI \-L " new-volume-label"
+Set the volume label for the file system to
+.IR new-volume-label .
+The maximum length of the
+volume label is 16 bytes.
+.TP
+.BI \-m " reserved-blocks-percentage"
+Specify the percentage of the file system blocks reserved for
+the super-user. This avoids fragmentation, and allows root-owned
+daemons, such as
+.BR syslogd (8),
+to continue to function correctly after non-privileged processes are
+prevented from writing to the file system. The default percentage
+is 5%.
+.TP
+.BI \-M " last-mounted-directory"
+Set the last mounted directory for the file system. This might be useful
+for the sake of utilities that key off of the last mounted directory to
+determine where the file system should be mounted.
+.TP
+.B \-n
+Causes
+.B mke2fs
+to not actually create a file system, but display what it
+would do if it were to create a file system. This can be used to
+determine the location of the backup superblocks for a particular
+file system, so long as the
+.B mke2fs
+parameters that were passed when the
+file system was originally created are used again. (With the
+.B \-n
+option added, of course!)
+.TP
+.BI \-N " number-of-inodes"
+Overrides the default calculation of the number of inodes that should be
+reserved for the file system (which is based on the number of blocks and
+the
+.I bytes-per-inode
+ratio). This allows the user to specify the number
+of desired inodes directly.
+.TP
+.BI \-o " creator-os"
+Overrides the default value of the "creator operating system" field of the
+file system. The creator field is set by default to the name of the OS the
+.B mke2fs
+executable was compiled for.
+.TP
+.B "\-O \fR[^]\fIfeature\fR[,...]"
+Create a file system with the given features (file system options),
+overriding the default file system options. The features that are
+enabled by default are specified by the
+.I base_features
+relation, either in the
+.I [defaults]
+section in the
+.B /etc/mke2fs.conf
+configuration file,
+or in the
+.I [fs_types]
+subsections for the usage types as specified by the
+.B \-T
+option, further modified by the
+.I features
+relation found in the
+.I [fs_types]
+subsections for the file system and usage types. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+The file system type-specific configuration setting found in the
+.I [fs_types]
+section will override the global default found in
+.IR [defaults] .
+.sp
+The file system feature set will be further edited
+using either the feature set specified by this option,
+or if this option is not given, by the
+.I default_features
+relation for the file system type being created, or in the
+.I [defaults]
+section of the configuration file.
+.sp
+The file system feature set is comprised of a list of features, separated
+by commas, that are to be enabled. To disable a feature, simply
+prefix the feature name with a caret ('^') character.
+Features with dependencies will not be removed successfully.
+The pseudo-file system feature "none" will clear all file system features.
+.TP
+For more information about the features which can be set, please see
+the manual page
+.BR ext4 (5).
+.TP
+.B \-q
+Quiet execution. Useful if
+.B mke2fs
+is run in a script.
+.TP
+.BI \-r " revision"
+Set the file system revision for the new file system. Note that 1.2
+kernels only support revision 0 file systems. The default is to
+create revision 1 file systems.
+.TP
+.B \-S
+Write superblock and group descriptors only. This is an extreme
+measure to be taken only in the very unlikely case that all of
+the superblock and backup superblocks are corrupted, and a last-ditch
+recovery method is desired by experienced users. It causes
+.B mke2fs
+to reinitialize the superblock and group descriptors, while not
+touching the inode table and the block and inode bitmaps. The
+.B e2fsck
+program should be run immediately after this option is used, and there
+is no guarantee that any data will be salvageable. Due to the wide
+variety of possible options to
+.B mke2fs
+that affect the on-disk layout, it is critical to specify exactly
+the same format options, such as blocksize, fs-type, feature flags, and
+other tunables when using this option, or the file system will be further
+corrupted. In some cases, such as file systems that have been resized,
+or have had features enabled after format time, it is impossible to
+overwrite all of the superblocks correctly, and at least some file system
+corruption will occur. It is best to run this on a full copy of the
+file system so other options can be tried if this doesn't work.
+.\" .TP
+.\" .BI \-t " test"
+.\" Check the device for bad blocks before creating the file system
+.\" using the specified test.
+.TP
+.BI \-t " fs-type"
+Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is
+to be created.
+If this option is not specified,
+.B mke2fs
+will pick a default either via how
+the command was run (for example, using a name of the form mkfs.ext2,
+mkfs.ext3, etc.) or via a default as defined by the
+.B /etc/mke2fs.conf
+file. This option controls which file system options are used by
+default, based on the
+.B fstypes
+configuration stanza in
+.BR /etc/mke2fs.conf .
+.sp
+If the
+.B \-O
+option is used to explicitly add or remove file system options that
+should be set in the newly created file system, the
+resulting file system may not be supported by the requested
+.IR fs-type .
+(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
+file system that is not supported by the ext3 implementation as found in
+the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
+will create a file system that does not have a journal and hence will not
+be supported by the ext3 file system code in the Linux kernel.)
+.TP
+.BI \-T " usage-type[,...]"
+Specify how the file system is going to be used, so that
+.B mke2fs
+can choose optimal file system parameters for that use. The usage
+types that are supported are defined in the configuration file
+.BR /etc/mke2fs.conf .
+The user may specify one or more usage types
+using a comma separated list.
+.sp
+If this option is is not specified,
+.B mke2fs
+will pick a single default usage type based on the size of the file system to
+be created. If the file system size is less than 3 megabytes,
+.B mke2fs
+will use the file system type
+.IR floppy .
+If the file system size is greater than or equal to 3 but less than
+512 megabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR small .
+If the file system size is greater than or equal to 4 terabytes but less than
+16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR big .
+If the file system size is greater than or equal to 16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR huge .
+Otherwise,
+.BR mke2fs (8)
+will use the default file system type
+.IR default .
+.TP
+.BI \-U " UUID"
+Set the universally unique identifier (UUID) of the file system to
+.IR UUID .
+The format of the UUID is a series of hex digits separated by hyphens,
+like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
+.I UUID
+parameter may also be one of the following:
+.RS 1.2i
+.TP
+.I clear
+clear the file system UUID
+.TP
+.I random
+generate a new randomly-generated UUID
+.TP
+.I time
+generate a new time-based UUID
+.RE
+.TP
+.B \-v
+Verbose execution.
+.TP
+.B \-V
+Print the version number of
+.B mke2fs
+and exit.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+mke2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive
+in the configuration file.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH ENVIRONMENT
+.TP
+.B MKE2FS_SYNC
+If set to non-zero integer value, its value is used to determine how often
+.BR sync (2)
+is called during inode table initialization.
+.TP
+.B MKE2FS_CONFIG
+Determines the location of the configuration file (see
+.BR mke2fs.conf (5)).
+.TP
+.B MKE2FS_FIRST_META_BG
+If set to non-zero integer value, its value is used to determine first meta
+block group. This is mostly for debugging purposes.
+.TP
+.B MKE2FS_DEVICE_SECTSIZE
+If set to non-zero integer value, its value is used to determine logical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_DEVICE_PHYS_SECTSIZE
+If set to non-zero integer value, its value is used to determine physical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_SKIP_CHECK_MSG
+If set, do not show the message of file system automatic check caused by
+mount count or check interval.
+.SH AUTHOR
+This version of
+.B mke2fs
+has been written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+.B mke2fs
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR mke2fs.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR tune2fs (8),
+.BR ext4 (5)
diff --git a/upstream/fedora-40/man8/mkfs.btrfs.8 b/upstream/fedora-40/man8/mkfs.btrfs.8
new file mode 100644
index 00000000..d3a88275
--- /dev/null
+++ b/upstream/fedora-40/man8/mkfs.btrfs.8
@@ -0,0 +1,1014 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "MKFS.BTRFS" "8" "Feb 14, 2024" "6.7.1" "BTRFS"
+.SH NAME
+mkfs.btrfs \- create a btrfs filesystem
+.SH SYNOPSIS
+.sp
+\fBmkfs.btrfs\fP [options] <device> [<device>...]
+.SH DESCRIPTION
+.sp
+\fBmkfs.btrfs\fP is used to create the btrfs filesystem on a single or multiple
+devices. The \fIdevice\fP is typically a block device but can be a file\-backed image
+as well. Multiple devices are grouped by UUID of the filesystem.
+.sp
+Before mounting such filesystem, the kernel module must know all the devices
+either via preceding execution of \fBbtrfs device scan\fP or using the \fIdevice\fP
+mount option. See section \fI\%MULTIPLE DEVICES\fP
+for more details.
+.sp
+The default block group profiles for data and metadata depend on number of
+devices and possibly other factors. It\(aqs recommended to use specific profiles
+but the defaults should be OK and allowing future conversions to other profiles.
+Please see options \fI\-d\fP and \fI\-m\fP for further details and \fI\%btrfs\-balance(8)\fP for
+the profile conversion post mkfs.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-b|\-\-byte\-count <size>
+Specify the size of each device as seen by the filesystem. If not set,
+the entire device size is used. The total filesystem size will be sum
+of all device sizes, for a single device filesystem the option
+effectively specifies the size of the filesystem.
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-\-csum \ <type>\fR,\fB \ \-\-checksum \ <type>
+Specify the checksum algorithm. Default is \fIcrc32c\fP\&. Valid values are \fIcrc32c\fP,
+\fIxxhash\fP, \fIsha256\fP or \fIblake2\fP\&. To mount such filesystem kernel must support the
+checksums as well. See section \fI\%CHECKSUM ALGORITHMS\fP
+in \fI\%btrfs(5)\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-d|\-\-data <profile>
+Specify the profile for the data block groups. Valid values are \fIraid0\fP,
+\fIraid1\fP, \fIraid1c3\fP, \fIraid1c4\fP, \fIraid5\fP, \fIraid6\fP, \fIraid10\fP or \fIsingle\fP or \fIdup\fP
+(case does not matter).
+.sp
+See section \fI\%DUP PROFILES ON A SINGLE DEVICE\fP
+for more details.
+.sp
+On multiple devices, the default was \fIraid0\fP until version 5.7, while it is
+\fIsingle\fP since version 5.8. You can still select \fIraid0\fP manually, but it was not
+suitable as default.
+.TP
+.B \-m|\-\-metadata <profile>
+Specify the profile for the metadata block groups.
+Valid values are \fIraid0\fP, \fIraid1\fP, \fIraid1c3\fP, \fIraid1c4\fP, \fIraid5\fP, \fIraid6\fP,
+\fIraid10\fP, \fIsingle\fP or \fIdup\fP (case does not matter).
+.sp
+Default on a single device filesystem is \fIDUP\fP and is recommended for metadata
+in general. The duplication might not be necessary in some use cases and it\(aqs
+up to the user to changed that at mkfs time or later. This depends on hardware
+that could potentially deduplicate the blocks again but this cannot be detected
+at mkfs time.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Up to version 5.14 there was a detection of a SSD device (more precisely
+if it\(aqs a rotational device, determined by the contents of file
+\fB/sys/block/DEV/queue/rotational\fP) that used to select \fIsingle\fP\&. This has
+changed in version 5.15 to be always \fIdup\fP\&.
+.sp
+Note that the rotational status can be arbitrarily set by the underlying block
+device driver and may not reflect the true status (network block device, memory\-backed
+SCSI devices, real block device behind some additional device mapper layer,
+etc). It\(aqs recommended to always set the options \fI\-\-data/\-\-metadata\fP to avoid
+confusion and unexpected results.
+.sp
+See section \fI\%DUP PROFILES ON A SINGLE DEVICE\fP
+for more details.
+.UNINDENT
+.UNINDENT
+.sp
+On multiple devices the default is \fIraid1\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-M|\-\-mixed
+Normally the data and metadata block groups are isolated. The \fImixed\fP mode
+will remove the isolation and store both types in the same block group type.
+This helps to utilize the free space regardless of the purpose and is suitable
+for small devices. The separate allocation of block groups leads to a situation
+where the space is reserved for the other block group type, is not available for
+allocation and can lead to ENOSPC state.
+.sp
+The recommended size for the mixed mode is for filesystems less than 1GiB. The
+soft recommendation is to use it for filesystems smaller than 5GiB. The mixed
+mode may lead to degraded performance on larger filesystems, but is otherwise
+usable, even on multiple devices.
+.sp
+The \fInodesize\fP and \fIsectorsize\fP must be equal, and the block group types must
+match.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Versions up to 4.2.x forced the mixed mode for devices smaller than 1GiB.
+This has been removed in 4.3+ as it caused some usability issues.
+.sp
+Mixed profile cannot be used together with other profiles. It can only
+be set at creation time. Conversion to or from mixed profile is not
+implemented.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-n|\-\-nodesize <size>
+Specify the nodesize, the tree block size in which btrfs stores metadata. The
+default value is 16KiB (16384) or the page size, whichever is bigger. Must be a
+multiple of the sectorsize and a power of 2, but not larger than 64KiB (65536).
+Leafsize always equals nodesize and the options are aliases.
+.sp
+Smaller node size increases fragmentation but leads to taller b\-trees which in
+turn leads to lower locking contention. Higher node sizes give better packing
+and less fragmentation at the cost of more expensive memory operations while
+updating the metadata blocks.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Versions up to 3.11 set the nodesize to 4KiB.
+.UNINDENT
+.UNINDENT
+.TP
+.B \-s|\-\-sectorsize <size>
+Specify the sectorsize, the minimum data block allocation unit.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Versions prior to 6.7 set the sectorsize matching the host CPU
+page size, starting in 6.7 this is 4KiB for cross\-architecture
+compatibility. Please read more about the \fI\%subpage block size support\fP
+and \fI\%its status\fP\&.
+.UNINDENT
+.UNINDENT
+.sp
+By default, the value is 4KiB, but it can be manually set to match the
+system page size (e.g. using command \fBgetconf PAGE_SIZE\fP).
+However, if the sector size is different from the page
+size, the resulting filesystem may not be mountable by the current
+kernel, apart from the default 4KiB. Hence, using this option is not
+advised unless you intend to mount it on a system with the suitable
+page size.
+.TP
+.B \-L|\-\-label <string>
+Specify a label for the filesystem. The \fIstring\fP should be less than 256
+bytes and must not contain newline characters.
+.TP
+.B \-K|\-\-nodiscard
+Do not perform whole device TRIM operation on devices that are capable of that.
+This does not affect discard/trim operation when the filesystem is mounted.
+Please see the mount option \fIdiscard\fP for that in \fI\%btrfs(5)\fP\&.
+.TP
+.B \-r|\-\-rootdir <rootdir>
+Populate the toplevel subvolume with files from \fIrootdir\fP\&. This does not
+require root permissions to write the new files or to mount the filesystem.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+This option may enlarge the image or file to ensure it\(aqs big enough to
+contain the files from \fIrootdir\fP\&. Since version 4.14.1 the filesystem size is
+not minimized. Please see option \fI\-\-shrink\fP if you need that functionality.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-shrink
+Shrink the filesystem to its minimal size, only works with \fI\-\-rootdir\fP option.
+.sp
+If the destination block device is a regular file, this option will also
+truncate the file to the minimal size. Otherwise it will reduce the filesystem
+available space. Extra space will not be usable unless the filesystem is
+mounted and resized using \fBbtrfs filesystem resize\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Prior to version 4.14.1, the shrinking was done automatically.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-O|\-\-features <feature1>[,<feature2>...]
+A list of filesystem features turned on at mkfs time. Not all features are
+supported by old kernels. To disable a feature, prefix it with \fI^\fP\&.
+.sp
+See section \fI\%FILESYSTEM FEATURES\fP
+for more details. To see all available features that
+\fBmkfs.btrfs\fP supports run:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ mkfs.btrfs \-O list\-all
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.TP
+.B \-f|\-\-force
+Forcibly overwrite the block devices when an existing filesystem is detected.
+By default, \fBmkfs.btrfs\fP will utilize \fIlibblkid\fP to check for any known
+filesystem on the devices. Alternatively you can use the \fBwipefs\fP utility
+to clear the devices.
+.TP
+.B \-q|\-\-quiet
+Print only error or warning messages. Options \fI\-\-features\fP or \fI\-\-help\fP are unaffected.
+Resets any previous effects of \fI\-\-verbose\fP\&.
+.TP
+.B \-U|\-\-uuid <UUID>
+Create the filesystem with the given \fIUUID\fP\&. For a single\-device filesystem,
+you can duplicate the UUID. However, for a multi\-device filesystem, the UUID
+must not already exist on any currently present filesystem.
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-\-device\-uuid \ <UUID>
+Create the filesystem with the given device\-uuid \fIUUID\fP (also known as
+UUID_SUB in \fBblkid\fP). For a single device filesystem, you can
+duplicate the device\-uuid. However, used for a multi\-device filesystem
+this option will not work at the moment.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-v|\-\-verbose
+Increase verbosity level, default is 1.
+.TP
+.B \-V|\-\-version
+Print the \fBmkfs.btrfs\fP version and exit.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-help
+Print help.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-l|\-\-leafsize <size>
+Removed in 6.0, used to be alias for \fI\-\-nodesize\fP\&.
+.TP
+.B \-R|\-\-runtime\-features <feature1>[,<feature2>...]
+Removed in 6.3, was used to specify features not affecting on\-disk format.
+Now all such features are merged into \fI\-O|\-\-features\fP option. The option
+\-R will stay for backward compatibility.
+.UNINDENT
+.SH SIZE UNITS
+.sp
+The default unit is \fIbyte\fP\&. All size parameters accept suffixes in the 1024
+base. The recognized suffixes are: \fIk\fP, \fIm\fP, \fIg\fP, \fIt\fP, \fIp\fP, \fIe\fP, both uppercase
+and lowercase.
+.SH MULTIPLE DEVICES
+.sp
+Before mounting a multiple device filesystem, the kernel module must know the
+association of the block devices that are attached to the filesystem UUID.
+.sp
+There is typically no action needed from the user. On a system that utilizes a
+udev\-like daemon, any new block device is automatically registered. The rules
+call \fBbtrfs device scan\fP\&.
+.sp
+The same command can be used to trigger the device scanning if the btrfs kernel
+module is reloaded (naturally all previous information about the device
+registration is lost).
+.sp
+Another possibility is to use the mount options \fIdevice\fP to specify the list of
+devices to scan at the time of mount.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# mount \-o device=/dev/sdb,device=/dev/sdc /dev/sda /mnt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This means only scanning, if the devices do not exist in the system,
+mount will fail anyway. This can happen on systems without initramfs/initrd and
+root partition created with RAID1/10/5/6 profiles. The mount action can happen
+before all block devices are discovered. The waiting is usually done on the
+initramfs/initrd systems.
+.UNINDENT
+.UNINDENT
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+RAID5/6 has known problems and should not be used in production.
+.UNINDENT
+.UNINDENT
+.SH FILESYSTEM FEATURES
+.sp
+Features that can be enabled during creation time. See also \fI\%btrfs(5)\fP section
+\fI\%FILESYSTEM FEATURES\fP\&.
+.INDENT 0.0
+.TP
+.B mixed\-bg
+(kernel support since 2.6.37)
+.sp
+mixed data and metadata block groups, also set by option \fI\-\-mixed\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B extref
+(default since btrfs\-progs 3.12, kernel support since 3.7)
+.sp
+increased hardlink limit per file in a directory to 65536, older kernels
+supported a varying number of hardlinks depending on the sum of all file name
+sizes that can be stored into one metadata block
+.TP
+.B raid56
+(kernel support since 3.9)
+.sp
+extended format for RAID5/6, also enabled if RAID5 or RAID6 block groups
+are selected
+.UNINDENT
+.INDENT 0.0
+.TP
+.B skinny\-metadata
+(default since btrfs\-progs 3.18, kernel support since 3.10)
+.sp
+reduced\-size metadata for extent references, saves a few percent of metadata
+.UNINDENT
+.INDENT 0.0
+.TP
+.B no\-holes
+(default since btrfs\-progs 5.15, kernel support since 3.14)
+.sp
+improved representation of file extents where holes are not explicitly
+stored as an extent, saves a few percent of metadata if sparse files are used
+.TP
+.B zoned
+(kernel support since 5.12)
+.sp
+zoned mode, data allocation and write friendly to zoned/SMR/ZBC/ZNS devices,
+see \fI\%ZONED MODE\fP in
+\fI\%btrfs(5)\fP, the mode is automatically selected when a
+zoned device is detected
+.TP
+.B quota
+(kernel support since 3.4)
+.sp
+Enable quota support (qgroups). The qgroup accounting will be consistent,
+can be used together with \fI\-\-rootdir\fP\&. See also \fI\%btrfs\-quota(8)\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B free\-space\-tree
+(default since btrfs\-progs 5.15, kernel support since 4.5)
+.sp
+Enable the free space tree (mount option \fIspace_cache=v2\fP) for persisting the
+free space cache in a b\-tree. This is built on top of the COW mechanism
+and has better performance than v1.
+.sp
+Offline conversion from filesystems that don\(aqt have this feature
+enabled at \fImkfs\fP time is possible, see \fI\%btrfstune(8)\fP\&.
+.sp
+Online conversion can be done by mounting with \fBspace_cache=v2\fP, this
+is sufficient to be done one time.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B block\-group\-tree
+(kernel support since 6.1)
+.sp
+Enable a dedicated b\-tree for block group items, this greatly reduces
+mount time for large filesystems due to better data locality that
+avoids seeking. On rotational devices the \fIlarge\fP size is considered
+starting from the 2\-4TiB. Can be used on other types of devices (SSD,
+NVMe, ...) as well.
+.sp
+Offline conversion from filesystems that don\(aqt have this feature
+enabled at \fImkfs\fP time is possible, see \fI\%btrfstune(8)\fP\&. Online
+conversion is not possible.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B raid\-stripe\-tree
+(kernel support since 6.7)
+.sp
+New tree for logical file extent mapping where the physical mapping
+may not match on multiple devices. this is now used in zoned mode to
+implement RAID0/RAID1* profiles, but can be used in non\-zoned mode as
+well. The support for RAID56 is in development and will eventually
+fix the problems with the current implementation. This is a backward
+incompatible feature and has to be enabled at mkfs time.
+.TP
+.B squota
+(kernel support since 6.7)
+.sp
+Enable simple quota accounting (squotas). This is an alternative to
+qgroups with a smaller performance impact but no notion of shared vs.
+exclusive usage.
+.UNINDENT
+.SH BLOCK GROUPS, CHUNKS, RAID
+.sp
+The highlevel organizational units of a filesystem are block groups of three types:
+data, metadata and system.
+.INDENT 0.0
+.TP
+.B DATA
+store data blocks and nothing else
+.TP
+.B METADATA
+store internal metadata in b\-trees, can store file data if they fit into the
+inline limit
+.TP
+.B SYSTEM
+store structures that describe the mapping between the physical devices and the
+linear logical space representing the filesystem
+.UNINDENT
+.sp
+Other terms commonly used:
+.INDENT 0.0
+.TP
+.B block group, chunk
+a logical range of space of a given profile, stores data, metadata or both;
+sometimes the terms are used interchangeably
+.sp
+A typical size of metadata block group is 256MiB (filesystem smaller than
+50GiB) and 1GiB (larger than 50GiB), for data it\(aqs 1GiB. The system block group
+size is a few megabytes.
+.TP
+.B RAID
+a block group profile type that utilizes RAID\-like features on multiple
+devices: striping, mirroring, parity
+.TP
+.B profile
+when used in connection with block groups refers to the allocation strategy
+and constraints, see the section \fI\%PROFILES\fP for more details
+.UNINDENT
+.SH PROFILES
+.sp
+There are the following block group types available:
+.TS
+center;
+|l|l|l|l|l|l|.
+_
+T{
+Profiles
+T} T{
+Redundancy
+.sp
+Copies
+T} T{
+Redundancy
+.sp
+Parity
+T} T{
+Redundancy
+.sp
+Striping
+T} T{
+Space utilization
+T} T{
+Min/max devices
+T}
+_
+T{
+single
+T} T{
+1
+T} T{
+T} T{
+T} T{
+100%
+T} T{
+1/any
+T}
+_
+T{
+DUP
+T} T{
+2 / 1 device
+T} T{
+T} T{
+T} T{
+50%
+T} T{
+1/any (see note 1)
+T}
+_
+T{
+RAID0
+T} T{
+1
+T} T{
+T} T{
+1 to N
+T} T{
+100%
+T} T{
+1/any (see note 5)
+T}
+_
+T{
+RAID1
+T} T{
+2
+T} T{
+T} T{
+T} T{
+50%
+T} T{
+2/any
+T}
+_
+T{
+RAID1C3
+T} T{
+3
+T} T{
+T} T{
+T} T{
+33%
+T} T{
+3/any
+T}
+_
+T{
+RAID1C4
+T} T{
+4
+T} T{
+T} T{
+T} T{
+25%
+T} T{
+4/any
+T}
+_
+T{
+RAID10
+T} T{
+2
+T} T{
+T} T{
+1 to N
+T} T{
+50%
+T} T{
+2/any (see note 5)
+T}
+_
+T{
+RAID5
+T} T{
+1
+T} T{
+1
+T} T{
+2 to N\-1
+T} T{
+(N\-1)/N
+T} T{
+2/any (see note 2)
+T}
+_
+T{
+RAID6
+T} T{
+1
+T} T{
+2
+T} T{
+3 to N\-2
+T} T{
+(N\-2)/N
+T} T{
+3/any (see note 3)
+T}
+_
+.TE
+.sp
+\fBWARNING:\fP
+.INDENT 0.0
+.INDENT 3.5
+It\(aqs not recommended to create filesystems with RAID0/1/10/5/6
+profiles on partitions from the same device. Neither redundancy nor
+performance will be improved.
+.UNINDENT
+.UNINDENT
+.sp
+\fINote 1:\fP DUP may exist on more than 1 device if it starts on a single device and
+another one is added. Since version 4.5.1, \fBmkfs.btrfs\fP will let you create DUP
+on multiple devices without restrictions.
+.sp
+\fINote 2:\fP It\(aqs not recommended to use 2 devices with RAID5. In that case,
+parity stripe will contain the same data as the data stripe, making RAID5
+degraded to RAID1 with more overhead.
+.sp
+\fINote 3:\fP It\(aqs also not recommended to use 3 devices with RAID6, unless you
+want to get effectively 3 copies in a RAID1\-like manner (but not exactly that).
+.sp
+\fINote 4:\fP Since kernel 5.5 it\(aqs possible to use RAID1C3 as replacement for
+RAID6, higher space cost but reliable.
+.sp
+\fINote 5:\fP Since kernel 5.15 it\(aqs possible to use (mount, convert profiles)
+RAID0 on one device and RAID10 on two devices.
+.SS PROFILE LAYOUT
+.sp
+For the following examples, assume devices numbered by 1, 2, 3 and 4, data or
+metadata blocks A, B, C, D, with possible stripes e.g. A1, A2 that would be
+logically A, etc. For parity profiles PA and QA are parity and syndrome,
+associated with the given stripe. The simple layouts single or DUP are left
+out. Actual physical block placement on devices depends on current state of
+the free/allocated space and may appear random. All devices are assumed to be
+present at the time of the blocks would have been written.
+.SS RAID1
+.TS
+center;
+|l|l|l|l|.
+_
+T{
+device 1
+T} T{
+device 2
+T} T{
+device 3
+T} T{
+device 4
+T}
+_
+T{
+A
+T} T{
+D
+T} T{
+T} T{
+T}
+_
+T{
+B
+T} T{
+T} T{
+T} T{
+C
+T}
+_
+T{
+C
+T} T{
+T} T{
+T} T{
+T}
+_
+T{
+D
+T} T{
+A
+T} T{
+B
+T} T{
+T}
+_
+.TE
+.SS RAID1C3
+.TS
+center;
+|l|l|l|l|.
+_
+T{
+device 1
+T} T{
+device 2
+T} T{
+device 3
+T} T{
+device 4
+T}
+_
+T{
+A
+T} T{
+A
+T} T{
+D
+T} T{
+T}
+_
+T{
+B
+T} T{
+T} T{
+B
+T} T{
+T}
+_
+T{
+C
+T} T{
+T} T{
+A
+T} T{
+C
+T}
+_
+T{
+D
+T} T{
+D
+T} T{
+C
+T} T{
+B
+T}
+_
+.TE
+.SS RAID0
+.TS
+center;
+|l|l|l|l|.
+_
+T{
+device 1
+T} T{
+device 2
+T} T{
+device 3
+T} T{
+device 4
+T}
+_
+T{
+A2
+T} T{
+C3
+T} T{
+A3
+T} T{
+C2
+T}
+_
+T{
+B1
+T} T{
+A1
+T} T{
+D2
+T} T{
+B3
+T}
+_
+T{
+C1
+T} T{
+D3
+T} T{
+B4
+T} T{
+D1
+T}
+_
+T{
+D4
+T} T{
+B2
+T} T{
+C4
+T} T{
+A4
+T}
+_
+.TE
+.SS RAID5
+.TS
+center;
+|l|l|l|l|.
+_
+T{
+device 1
+T} T{
+device 2
+T} T{
+device 3
+T} T{
+device 4
+T}
+_
+T{
+A2
+T} T{
+C3
+T} T{
+A3
+T} T{
+C2
+T}
+_
+T{
+B1
+T} T{
+A1
+T} T{
+D2
+T} T{
+B3
+T}
+_
+T{
+C1
+T} T{
+D3
+T} T{
+PB
+T} T{
+D1
+T}
+_
+T{
+PD
+T} T{
+B2
+T} T{
+PC
+T} T{
+PA
+T}
+_
+.TE
+.SS RAID6
+.TS
+center;
+|l|l|l|l|.
+_
+T{
+device 1
+T} T{
+device 2
+T} T{
+device 3
+T} T{
+device 4
+T}
+_
+T{
+A2
+T} T{
+QC
+T} T{
+QA
+T} T{
+C2
+T}
+_
+T{
+B1
+T} T{
+A1
+T} T{
+D2
+T} T{
+QB
+T}
+_
+T{
+C1
+T} T{
+QD
+T} T{
+PB
+T} T{
+D1
+T}
+_
+T{
+PD
+T} T{
+B2
+T} T{
+PC
+T} T{
+PA
+T}
+_
+.TE
+.SH DUP PROFILES ON A SINGLE DEVICE
+.sp
+The mkfs utility will let the user create a filesystem with profiles that write
+the logical blocks to 2 physical locations. Whether there are really 2
+physical copies highly depends on the underlying device type.
+.sp
+For example, a SSD drive can remap the blocks internally to a single copy\-\-thus
+deduplicating them. This negates the purpose of increased redundancy and just
+wastes filesystem space without providing the expected level of redundancy.
+.sp
+The duplicated data/metadata may still be useful to statistically improve the
+chances on a device that might perform some internal optimizations. The actual
+details are not usually disclosed by vendors. For example we could expect that
+not all blocks get deduplicated. This will provide a non\-zero probability of
+recovery compared to a zero chance if the single profile is used. The user
+should make the tradeoff decision. The deduplication in SSDs is thought to be
+widely available so the reason behind the mkfs default is to not give a false
+sense of redundancy.
+.sp
+As another example, the widely used USB flash or SD cards use a translation
+layer between the logical and physical view of the device. The data lifetime
+may be affected by frequent plugging. The memory cells could get damaged,
+hopefully not destroying both copies of particular data in case of DUP.
+.sp
+The wear levelling techniques can also lead to reduced redundancy, even if the
+device does not do any deduplication. The controllers may put data written in
+a short timespan into the same physical storage unit (cell, block etc). In case
+this unit dies, both copies are lost. BTRFS does not add any artificial delay
+between metadata writes.
+.sp
+The traditional rotational hard drives usually fail at the sector level.
+.sp
+In any case, a device that starts to misbehave and repairs from the DUP copy
+should be replaced! \fBDUP is not backup\fP\&.
+.SH KNOWN ISSUES
+.sp
+\fBSMALL FILESYSTEMS AND LARGE NODESIZE\fP
+.sp
+The combination of small filesystem size and large nodesize is not recommended
+in general and can lead to various ENOSPC\-related issues during mount time or runtime.
+.sp
+Since mixed block group creation is optional, we allow small
+filesystem instances with differing values for \fIsectorsize\fP and \fInodesize\fP
+to be created and could end up in the following situation:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# mkfs.btrfs \-f \-n 65536 /dev/loop0
+btrfs\-progs v3.19\-rc2\-405\-g976307c
+See https://btrfs.readthedocs.io for more information.
+
+Performing full device TRIM (512.00MiB) ...
+Label: (null)
+UUID: 49fab72e\-0c8b\-466b\-a3ca\-d1bfe56475f0
+Node size: 65536
+Sector size: 4096
+Filesystem size: 512.00MiB
+Block group profiles:
+ Data: single 8.00MiB
+ Metadata: DUP 40.00MiB
+ System: DUP 12.00MiB
+SSD detected: no
+Incompat features: extref, skinny\-metadata
+Number of devices: 1
+Devices:
+ ID SIZE PATH
+ 1 512.00MiB /dev/loop0
+
+# mount /dev/loop0 /mnt/
+mount: mount /dev/loop0 on /mnt failed: No space left on device
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The ENOSPC occurs during the creation of the UUID tree. This is caused
+by large metadata blocks and space reservation strategy that allocates more
+than can fit into the filesystem.
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%btrfs(5)\fP,
+\fI\%btrfs(8)\fP,
+\fI\%btrfs\-balance(8)\fP,
+\fBwipefs(8)\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/mkfs.ext2.8 b/upstream/fedora-40/man8/mkfs.ext2.8
new file mode 100644
index 00000000..d39c024b
--- /dev/null
+++ b/upstream/fedora-40/man8/mkfs.ext2.8
@@ -0,0 +1,891 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH MKE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+mke2fs \- create an ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B mke2fs
+[
+.B \-c
+|
+.B \-l
+.I filename
+]
+[
+.B \-b
+.I block-size
+]
+[
+.B \-C
+.I cluster-size
+]
+[
+.B \-d
+.I root-directory
+]
+[
+.B \-D
+]
+[
+.B \-g
+.I blocks-per-group
+]
+[
+.B \-G
+.I number-of-groups
+]
+[
+.B \-i
+.I bytes-per-inode
+]
+[
+.B \-I
+.I inode-size
+]
+[
+.B \-j
+]
+[
+.B \-J
+.I journal-options
+]
+[
+.B \-N
+.I number-of-inodes
+]
+[
+.B \-n
+]
+[
+.B \-m
+.I reserved-blocks-percentage
+]
+[
+.B \-o
+.I creator-os
+]
+[
+.B \-O
+[^]\fIfeature\fR[,...]
+]
+[
+.B \-q
+]
+[
+.B \-r
+.I fs-revision-level
+]
+[
+.B \-E
+.I extended-options
+]
+[
+.B \-v
+]
+[
+.B \-F
+]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-M
+.I last-mounted-directory
+]
+[
+.B \-S
+]
+[
+.B \-t
+.I fs-type
+]
+[
+.B \-T
+.I usage-type
+]
+[
+.B \-U
+.I UUID
+]
+[
+.B \-V
+]
+[
+.B \-e
+.I errors-behavior
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+[
+.I fs-size
+]
+.sp
+.B "mke2fs \-O journal_dev"
+[
+.B \-b
+.I block-size
+]
+.\" No external-journal specific journal options yet (size is ignored)
+.\" [
+.\" .B \-J
+.\" .I journal-options
+.\" ]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-n
+]
+[
+.B \-q
+]
+[
+.B \-v
+]
+.I external-journal
+[
+.I fs-size
+]
+.SH DESCRIPTION
+.B mke2fs
+is used to create an ext2, ext3, or ext4 file system, usually in a disk
+partition (or file) named by
+.IR device .
+.PP
+The file system size is specified by
+.IR fs-size .
+If
+.I fs-size
+does not have a suffix, it is interpreted as power-of-two kilobytes,
+unless the
+.B \-b
+.I blocksize
+option is specified, in which case
+.I fs-size
+is interpreted as the number of
+.I blocksize
+blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't'
+(either upper-case or lower-case), then it is interpreted in
+power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
+If
+.I fs-size
+is omitted,
+.B mke2fs
+will create the file system based on the device size.
+.PP
+If
+.B mke2fs
+is run as
+.B mkfs.XXX
+(i.e.,
+.BR mkfs.ext2 ,
+.BR mkfs.ext3 ,
+or
+.BR mkfs.ext4 )
+the option
+.B \-t
+.I XXX
+is implied; so
+.B mkfs.ext3
+will create a file system for use with ext3,
+.B mkfs.ext4
+will create a file system for use with ext4, and so on.
+.PP
+The defaults of the parameters for the newly created file system, if not
+overridden by the options listed below, are controlled by the
+.B /etc/mke2fs.conf
+configuration file. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+.SH OPTIONS
+.TP
+.BI \-b " block-size"
+Specify the size of blocks in bytes. Valid block-size values are powers of two
+from 1024 up to 65536 (however note that the kernel is able to mount only
+file systems with block-size smaller or equal to the system page size - 4k on
+x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
+If omitted, block-size is heuristically determined by the file system size and
+the expected usage of the file system (see the
+.B \-T
+option). In most common cases, the default block size is 4k. If
+.I block-size
+is preceded by a negative sign ('-'), then
+.B mke2fs
+will use heuristics to determine the
+appropriate block size, with the constraint that the block size will be
+at least
+.I block-size
+bytes. This is useful for certain hardware devices which require that
+the blocksize be a multiple of 2k.
+.TP
+.B \-c
+Check the device for bad blocks before creating the file system. If
+this option is specified twice, then a slower read-write
+test is used instead of a fast read-only test.
+.TP
+.B \-C " cluster-size"
+Specify the size of cluster in bytes for file systems using the bigalloc
+feature. Valid cluster-size values are from 2048 to 256M bytes per
+cluster. This can only be specified if the bigalloc feature is
+enabled. (See the
+.B ext4 (5)
+man page for more details about bigalloc.) The default cluster size if
+bigalloc is enabled is 16 times the block size.
+.TP
+.BI \-d " root-directory"
+Copy the contents of the given directory into the root directory of the
+file system.
+.TP
+.B \-D
+Use direct I/O when writing to the disk. This avoids mke2fs dirtying a
+lot of buffer cache memory, which may impact other applications running
+on a busy server. This option will cause mke2fs to run much more
+slowly, however, so there is a tradeoff to using direct I/O.
+.TP
+.BI \-e " error-behavior"
+Change the behavior of the kernel code when errors are detected.
+In all cases, a file system error will cause
+.BR e2fsck (8)
+to check the file system on the next boot.
+.I error-behavior
+can be one of the following:
+.RS 1.2i
+.TP 1.2i
+.B continue
+Continue normal execution.
+.TP
+.B remount-ro
+Remount file system read-only.
+.TP
+.B panic
+Cause a kernel panic.
+.RE
+.TP
+.BI \-E " extended-options"
+Set extended options for the file system. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+.B \-E
+option used to be
+.B \-R
+in earlier versions of
+.BR mke2fs .
+The
+.B \-R
+option is still accepted for backwards compatibility, but is deprecated.
+The following extended options are supported:
+.RS 1.2i
+.TP
+.BI encoding= encoding-name
+Enable the
+.I casefold
+feature in the super block and set
+.I encoding-name
+as the encoding to be used. If
+.I encoding-name
+is not specified, the encoding defined in
+.BR mke2fs.conf (5)
+is used.
+.TP
+.BI encoding_flags= encoding-flags
+Define parameters for file name character encoding operations. If a
+flag is not changed using this parameter, its default value is used.
+.I encoding-flags
+should be a comma-separated lists of flags to be enabled. To disable a
+flag, add it to the list with the prefix "no".
+
+The only flag that can be set right now is
+.I strict
+which means that invalid strings should be rejected by the file system.
+In the default configuration, the
+.I strict
+flag is disabled.
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds. Specifying an
+.I interval
+of 0 means to use the default interval. The specified interval must
+be less than 300 seconds. Requires that the
+.B mmp
+feature be enabled.
+.TP
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to the next disk, which is sometimes referred to as the
+.I chunk size.
+This mostly affects placement of file system metadata like bitmaps at
+.B mke2fs
+time to avoid placing them on a single disk, which can hurt performance.
+It may also be used by the block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically stride-size * N, where
+N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
+parity disk, so N will be the number of disks in the array minus 1).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
+.TP
+.BI offset= offset
+Create the file system at an offset from the beginning of the device or
+file. This can be useful when creating disk images for virtual machines.
+.TP
+.BI resize= max-online-resize
+Reserve enough space so that the block group descriptor table can grow
+to support a file system that has
+.I max-online-resize
+blocks.
+.TP
+.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled and the uninit_bg feature is enabled, the inode table will
+not be fully initialized by
+.BR mke2fs .
+This speeds up file system
+initialization noticeably, but it requires the kernel to finish
+initializing the file system in the background when the file system is
+first mounted. If the option value is omitted, it defaults to 1 to
+enable lazy inode table zeroing.
+.TP
+.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled, the journal inode will not be fully zeroed out by
+.BR mke2fs .
+This speeds up file system initialization noticeably, but carries some
+small risk if the system crashes before the journal has been overwritten
+entirely one time. If the option value is omitted, it defaults to 1 to
+enable lazy journal inode zeroing.
+.TP
+.B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled,
+.BR mke2fs
+assumes that the storage device has been prezeroed, skips zeroing the journal
+and inode tables, and annotates the block group flags to signal that the inode
+table has been zeroed.
+.TP
+.B no_copy_xattrs
+Normally
+.B mke2fs
+will copy the extended attributes of the files in the directory
+hierarchy specified via the (optional)
+.B \-d
+option. This will disable the copy and leaves the files in the newly
+created file system without any extended attributes.
+.TP
+.BI num_backup_sb= <0|1|2>
+If the
+.B sparse_super2
+file system feature is enabled this option controls whether there will
+be 0, 1, or 2 backup superblocks created in the file system.
+.TP
+.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+Place the allocation bitmaps and the inode table at the beginning of the
+disk. This option requires that the flex_bg file system feature to be
+enabled in order for it to have effect, and will also create the journal
+at the beginning of the file system. This option is useful for flash
+devices that use SLC flash at the beginning of the disk.
+It also maximizes the range of contiguous data blocks, which
+can be useful for certain specialized use cases, such as supported
+Shingled Drives.
+.TP
+.BI root_owner [=uid:gid]
+Specify the numeric user and group ID of the root directory. If no UID:GID
+is specified, use the user and group ID of the user running \fBmke2fs\fR.
+In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
+set by default to the UID and GID of the user running the mke2fs command.
+The \fBroot_owner=\fR option allows explicitly specifying these values,
+and avoid side-effects for users that do not expect the contents of the
+file system to change based on the user running \fBmke2fs\fR.
+.TP
+.B test_fs
+Set a flag in the file system superblock indicating that it may be
+mounted using experimental kernel code, such as the ext4dev file system.
+.TP
+.BI orphan_file_size= size
+Set size of the file for tracking unlinked but still open inodes and inodes
+with truncate in progress. Larger file allows for better scalability, reserving
+a few blocks per cpu is ideal.
+.TP
+.B discard
+Attempt to discard blocks at mkfs time (discarding blocks initially is useful
+on solid state devices and sparse / thin-provisioned storage). When the device
+advertises that discard also zeroes data (any subsequent read after the discard
+and before write returns zero), then mark all not-yet-zeroed inode tables as
+zeroed. This significantly speeds up file system initialization. This is set
+as default.
+.TP
+.B nodiscard
+Do not attempt to discard blocks at mkfs time.
+.TP
+.B quotatype
+Specify the which quota types (usrquota, grpquota, prjquota) which
+should be enabled in the created file system. The argument of this
+extended option should be a colon separated list. This option has
+effect only if the
+.B quota
+feature is set. The default quota types to be initialized if this
+option is not specified is both user and group quotas. If the project
+feature is enabled that project quotas will be initialized as well.
+.RE
+.TP
+.B \-F
+Force
+.B mke2fs
+to create a file system, even if the specified device is not a partition
+on a block special device, or if other parameters do not make sense.
+In order to force
+.B mke2fs
+to create a file system even if the file system appears to be in use
+or is mounted (a truly dangerous thing to do), this option must be
+specified twice.
+.TP
+.BI \-g " blocks-per-group"
+Specify the number of blocks in a block group. There is generally no
+reason for the user to ever set this parameter, as the default is optimal
+for the file system. (For administrators who are creating
+file systems on RAID arrays, it is preferable to use the
+.I stride
+RAID parameter as part of the
+.B \-E
+option rather than manipulating the number of blocks per group.)
+This option is generally used by developers who
+are developing test cases.
+.IP
+If the bigalloc feature is enabled, the
+.B \-g
+option will specify the number of clusters in a block group.
+.TP
+.BI \-G " number-of-groups"
+Specify the number of block groups that will be packed together to
+create a larger virtual block group (or "flex_bg group") in an
+ext4 file system. This improves meta-data locality and performance
+on meta-data heavy workloads. The number of groups must be a power
+of 2 and may only be specified if the
+.B flex_bg
+file system feature is enabled.
+.TP
+.BI \-i " bytes-per-inode"
+Specify the bytes/inode ratio.
+.B mke2fs
+creates an inode for every
+.I bytes-per-inode
+bytes of space on the disk. The larger the
+.I bytes-per-inode
+ratio, the fewer inodes will be created. This value generally shouldn't
+be smaller than the blocksize of the file system, since in that case more
+inodes would be made than can ever be used. Be warned that it is not
+possible to change this ratio on a file system after it is created, so be
+careful deciding the correct value for this parameter. Note that resizing
+a file system changes the number of inodes to maintain this ratio.
+.TP
+.BI \-I " inode-size"
+Specify the size of each inode in bytes.
+The
+.I inode-size
+value must be a power of 2 larger or equal to 128. The larger the
+.I inode-size
+the more space the inode table will consume, and this reduces the usable
+space in the file system and can also negatively impact performance.
+It is not
+possible to change this value after the file system is created.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
+.IP
+The default inode size is controlled by the
+.BR mke2fs.conf (5)
+file. In the
+.B mke2fs.conf
+file shipped with e2fsprogs, the default inode size is 256 bytes for
+most file systems, except for small file systems where the inode size
+will be 128 bytes.
+.TP
+.B \-j
+Create the file system with an ext3 journal. If the
+.B \-J
+option is not specified, the default journal parameters will be used to
+create an appropriately sized journal (given the size of the file system)
+stored within the file system. Note that you must be using a kernel
+which has ext3 support in order to actually make use of the journal.
+.TP
+.BI \-J " journal-options"
+Create the ext3 journal using options specified on the command-line.
+Journal options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following journal options are supported:
+.RS 1.2i
+.TP
+.BI size= journal-size
+Create an internal journal (i.e., stored inside the file system) of size
+.I journal-size
+megabytes.
+The size of the journal must be at least 1024 file system blocks
+(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks or half the total
+file system size (whichever is smaller)
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal. The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
+.TP
+.BI device= external-journal
+Attach the file system to the journal block device located on
+.IR external-journal .
+The external
+journal must already have been created using the command
+.IP
+.B mke2fs -O journal_dev
+.I external-journal
+.IP
+Note that
+.I external-journal
+must have been created with the
+same block size as the new file system.
+In addition, while there is support for attaching
+multiple file systems to a single external journal,
+the Linux kernel and
+.BR e2fsck (8)
+do not currently support shared external journals yet.
+.IP
+Instead of specifying a device name directly,
+.I external-journal
+can also be specified by either
+.BI LABEL= label
+or
+.BI UUID= UUID
+to locate the external journal by either the volume label or UUID
+stored in the ext2 superblock at the start of the journal. Use
+.BR dumpe2fs (8)
+to display a journal device's volume label and UUID. See also the
+.B -L
+option of
+.BR tune2fs (8).
+.RE
+.IP
+Only one of the
+.BR size " or " device
+options can be given for a file system.
+.TP
+.BI \-l " filename"
+Read the bad blocks list from
+.IR filename .
+Note that the block numbers in the bad block list must be generated
+using the same block size as used by
+.BR mke2fs .
+As a result, the
+.B \-c
+option to
+.B mke2fs
+is a much simpler and less error-prone method of checking a disk for bad
+blocks before formatting it, as
+.B mke2fs
+will automatically pass the correct parameters to the
+.B badblocks
+program.
+.TP
+.BI \-L " new-volume-label"
+Set the volume label for the file system to
+.IR new-volume-label .
+The maximum length of the
+volume label is 16 bytes.
+.TP
+.BI \-m " reserved-blocks-percentage"
+Specify the percentage of the file system blocks reserved for
+the super-user. This avoids fragmentation, and allows root-owned
+daemons, such as
+.BR syslogd (8),
+to continue to function correctly after non-privileged processes are
+prevented from writing to the file system. The default percentage
+is 5%.
+.TP
+.BI \-M " last-mounted-directory"
+Set the last mounted directory for the file system. This might be useful
+for the sake of utilities that key off of the last mounted directory to
+determine where the file system should be mounted.
+.TP
+.B \-n
+Causes
+.B mke2fs
+to not actually create a file system, but display what it
+would do if it were to create a file system. This can be used to
+determine the location of the backup superblocks for a particular
+file system, so long as the
+.B mke2fs
+parameters that were passed when the
+file system was originally created are used again. (With the
+.B \-n
+option added, of course!)
+.TP
+.BI \-N " number-of-inodes"
+Overrides the default calculation of the number of inodes that should be
+reserved for the file system (which is based on the number of blocks and
+the
+.I bytes-per-inode
+ratio). This allows the user to specify the number
+of desired inodes directly.
+.TP
+.BI \-o " creator-os"
+Overrides the default value of the "creator operating system" field of the
+file system. The creator field is set by default to the name of the OS the
+.B mke2fs
+executable was compiled for.
+.TP
+.B "\-O \fR[^]\fIfeature\fR[,...]"
+Create a file system with the given features (file system options),
+overriding the default file system options. The features that are
+enabled by default are specified by the
+.I base_features
+relation, either in the
+.I [defaults]
+section in the
+.B /etc/mke2fs.conf
+configuration file,
+or in the
+.I [fs_types]
+subsections for the usage types as specified by the
+.B \-T
+option, further modified by the
+.I features
+relation found in the
+.I [fs_types]
+subsections for the file system and usage types. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+The file system type-specific configuration setting found in the
+.I [fs_types]
+section will override the global default found in
+.IR [defaults] .
+.sp
+The file system feature set will be further edited
+using either the feature set specified by this option,
+or if this option is not given, by the
+.I default_features
+relation for the file system type being created, or in the
+.I [defaults]
+section of the configuration file.
+.sp
+The file system feature set is comprised of a list of features, separated
+by commas, that are to be enabled. To disable a feature, simply
+prefix the feature name with a caret ('^') character.
+Features with dependencies will not be removed successfully.
+The pseudo-file system feature "none" will clear all file system features.
+.TP
+For more information about the features which can be set, please see
+the manual page
+.BR ext4 (5).
+.TP
+.B \-q
+Quiet execution. Useful if
+.B mke2fs
+is run in a script.
+.TP
+.BI \-r " revision"
+Set the file system revision for the new file system. Note that 1.2
+kernels only support revision 0 file systems. The default is to
+create revision 1 file systems.
+.TP
+.B \-S
+Write superblock and group descriptors only. This is an extreme
+measure to be taken only in the very unlikely case that all of
+the superblock and backup superblocks are corrupted, and a last-ditch
+recovery method is desired by experienced users. It causes
+.B mke2fs
+to reinitialize the superblock and group descriptors, while not
+touching the inode table and the block and inode bitmaps. The
+.B e2fsck
+program should be run immediately after this option is used, and there
+is no guarantee that any data will be salvageable. Due to the wide
+variety of possible options to
+.B mke2fs
+that affect the on-disk layout, it is critical to specify exactly
+the same format options, such as blocksize, fs-type, feature flags, and
+other tunables when using this option, or the file system will be further
+corrupted. In some cases, such as file systems that have been resized,
+or have had features enabled after format time, it is impossible to
+overwrite all of the superblocks correctly, and at least some file system
+corruption will occur. It is best to run this on a full copy of the
+file system so other options can be tried if this doesn't work.
+.\" .TP
+.\" .BI \-t " test"
+.\" Check the device for bad blocks before creating the file system
+.\" using the specified test.
+.TP
+.BI \-t " fs-type"
+Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is
+to be created.
+If this option is not specified,
+.B mke2fs
+will pick a default either via how
+the command was run (for example, using a name of the form mkfs.ext2,
+mkfs.ext3, etc.) or via a default as defined by the
+.B /etc/mke2fs.conf
+file. This option controls which file system options are used by
+default, based on the
+.B fstypes
+configuration stanza in
+.BR /etc/mke2fs.conf .
+.sp
+If the
+.B \-O
+option is used to explicitly add or remove file system options that
+should be set in the newly created file system, the
+resulting file system may not be supported by the requested
+.IR fs-type .
+(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
+file system that is not supported by the ext3 implementation as found in
+the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
+will create a file system that does not have a journal and hence will not
+be supported by the ext3 file system code in the Linux kernel.)
+.TP
+.BI \-T " usage-type[,...]"
+Specify how the file system is going to be used, so that
+.B mke2fs
+can choose optimal file system parameters for that use. The usage
+types that are supported are defined in the configuration file
+.BR /etc/mke2fs.conf .
+The user may specify one or more usage types
+using a comma separated list.
+.sp
+If this option is is not specified,
+.B mke2fs
+will pick a single default usage type based on the size of the file system to
+be created. If the file system size is less than 3 megabytes,
+.B mke2fs
+will use the file system type
+.IR floppy .
+If the file system size is greater than or equal to 3 but less than
+512 megabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR small .
+If the file system size is greater than or equal to 4 terabytes but less than
+16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR big .
+If the file system size is greater than or equal to 16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR huge .
+Otherwise,
+.BR mke2fs (8)
+will use the default file system type
+.IR default .
+.TP
+.BI \-U " UUID"
+Set the universally unique identifier (UUID) of the file system to
+.IR UUID .
+The format of the UUID is a series of hex digits separated by hyphens,
+like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
+.I UUID
+parameter may also be one of the following:
+.RS 1.2i
+.TP
+.I clear
+clear the file system UUID
+.TP
+.I random
+generate a new randomly-generated UUID
+.TP
+.I time
+generate a new time-based UUID
+.RE
+.TP
+.B \-v
+Verbose execution.
+.TP
+.B \-V
+Print the version number of
+.B mke2fs
+and exit.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+mke2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive
+in the configuration file.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH ENVIRONMENT
+.TP
+.B MKE2FS_SYNC
+If set to non-zero integer value, its value is used to determine how often
+.BR sync (2)
+is called during inode table initialization.
+.TP
+.B MKE2FS_CONFIG
+Determines the location of the configuration file (see
+.BR mke2fs.conf (5)).
+.TP
+.B MKE2FS_FIRST_META_BG
+If set to non-zero integer value, its value is used to determine first meta
+block group. This is mostly for debugging purposes.
+.TP
+.B MKE2FS_DEVICE_SECTSIZE
+If set to non-zero integer value, its value is used to determine logical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_DEVICE_PHYS_SECTSIZE
+If set to non-zero integer value, its value is used to determine physical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_SKIP_CHECK_MSG
+If set, do not show the message of file system automatic check caused by
+mount count or check interval.
+.SH AUTHOR
+This version of
+.B mke2fs
+has been written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+.B mke2fs
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR mke2fs.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR tune2fs (8),
+.BR ext4 (5)
diff --git a/upstream/fedora-40/man8/mkfs.ext3.8 b/upstream/fedora-40/man8/mkfs.ext3.8
new file mode 100644
index 00000000..d39c024b
--- /dev/null
+++ b/upstream/fedora-40/man8/mkfs.ext3.8
@@ -0,0 +1,891 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH MKE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+mke2fs \- create an ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B mke2fs
+[
+.B \-c
+|
+.B \-l
+.I filename
+]
+[
+.B \-b
+.I block-size
+]
+[
+.B \-C
+.I cluster-size
+]
+[
+.B \-d
+.I root-directory
+]
+[
+.B \-D
+]
+[
+.B \-g
+.I blocks-per-group
+]
+[
+.B \-G
+.I number-of-groups
+]
+[
+.B \-i
+.I bytes-per-inode
+]
+[
+.B \-I
+.I inode-size
+]
+[
+.B \-j
+]
+[
+.B \-J
+.I journal-options
+]
+[
+.B \-N
+.I number-of-inodes
+]
+[
+.B \-n
+]
+[
+.B \-m
+.I reserved-blocks-percentage
+]
+[
+.B \-o
+.I creator-os
+]
+[
+.B \-O
+[^]\fIfeature\fR[,...]
+]
+[
+.B \-q
+]
+[
+.B \-r
+.I fs-revision-level
+]
+[
+.B \-E
+.I extended-options
+]
+[
+.B \-v
+]
+[
+.B \-F
+]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-M
+.I last-mounted-directory
+]
+[
+.B \-S
+]
+[
+.B \-t
+.I fs-type
+]
+[
+.B \-T
+.I usage-type
+]
+[
+.B \-U
+.I UUID
+]
+[
+.B \-V
+]
+[
+.B \-e
+.I errors-behavior
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+[
+.I fs-size
+]
+.sp
+.B "mke2fs \-O journal_dev"
+[
+.B \-b
+.I block-size
+]
+.\" No external-journal specific journal options yet (size is ignored)
+.\" [
+.\" .B \-J
+.\" .I journal-options
+.\" ]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-n
+]
+[
+.B \-q
+]
+[
+.B \-v
+]
+.I external-journal
+[
+.I fs-size
+]
+.SH DESCRIPTION
+.B mke2fs
+is used to create an ext2, ext3, or ext4 file system, usually in a disk
+partition (or file) named by
+.IR device .
+.PP
+The file system size is specified by
+.IR fs-size .
+If
+.I fs-size
+does not have a suffix, it is interpreted as power-of-two kilobytes,
+unless the
+.B \-b
+.I blocksize
+option is specified, in which case
+.I fs-size
+is interpreted as the number of
+.I blocksize
+blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't'
+(either upper-case or lower-case), then it is interpreted in
+power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
+If
+.I fs-size
+is omitted,
+.B mke2fs
+will create the file system based on the device size.
+.PP
+If
+.B mke2fs
+is run as
+.B mkfs.XXX
+(i.e.,
+.BR mkfs.ext2 ,
+.BR mkfs.ext3 ,
+or
+.BR mkfs.ext4 )
+the option
+.B \-t
+.I XXX
+is implied; so
+.B mkfs.ext3
+will create a file system for use with ext3,
+.B mkfs.ext4
+will create a file system for use with ext4, and so on.
+.PP
+The defaults of the parameters for the newly created file system, if not
+overridden by the options listed below, are controlled by the
+.B /etc/mke2fs.conf
+configuration file. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+.SH OPTIONS
+.TP
+.BI \-b " block-size"
+Specify the size of blocks in bytes. Valid block-size values are powers of two
+from 1024 up to 65536 (however note that the kernel is able to mount only
+file systems with block-size smaller or equal to the system page size - 4k on
+x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
+If omitted, block-size is heuristically determined by the file system size and
+the expected usage of the file system (see the
+.B \-T
+option). In most common cases, the default block size is 4k. If
+.I block-size
+is preceded by a negative sign ('-'), then
+.B mke2fs
+will use heuristics to determine the
+appropriate block size, with the constraint that the block size will be
+at least
+.I block-size
+bytes. This is useful for certain hardware devices which require that
+the blocksize be a multiple of 2k.
+.TP
+.B \-c
+Check the device for bad blocks before creating the file system. If
+this option is specified twice, then a slower read-write
+test is used instead of a fast read-only test.
+.TP
+.B \-C " cluster-size"
+Specify the size of cluster in bytes for file systems using the bigalloc
+feature. Valid cluster-size values are from 2048 to 256M bytes per
+cluster. This can only be specified if the bigalloc feature is
+enabled. (See the
+.B ext4 (5)
+man page for more details about bigalloc.) The default cluster size if
+bigalloc is enabled is 16 times the block size.
+.TP
+.BI \-d " root-directory"
+Copy the contents of the given directory into the root directory of the
+file system.
+.TP
+.B \-D
+Use direct I/O when writing to the disk. This avoids mke2fs dirtying a
+lot of buffer cache memory, which may impact other applications running
+on a busy server. This option will cause mke2fs to run much more
+slowly, however, so there is a tradeoff to using direct I/O.
+.TP
+.BI \-e " error-behavior"
+Change the behavior of the kernel code when errors are detected.
+In all cases, a file system error will cause
+.BR e2fsck (8)
+to check the file system on the next boot.
+.I error-behavior
+can be one of the following:
+.RS 1.2i
+.TP 1.2i
+.B continue
+Continue normal execution.
+.TP
+.B remount-ro
+Remount file system read-only.
+.TP
+.B panic
+Cause a kernel panic.
+.RE
+.TP
+.BI \-E " extended-options"
+Set extended options for the file system. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+.B \-E
+option used to be
+.B \-R
+in earlier versions of
+.BR mke2fs .
+The
+.B \-R
+option is still accepted for backwards compatibility, but is deprecated.
+The following extended options are supported:
+.RS 1.2i
+.TP
+.BI encoding= encoding-name
+Enable the
+.I casefold
+feature in the super block and set
+.I encoding-name
+as the encoding to be used. If
+.I encoding-name
+is not specified, the encoding defined in
+.BR mke2fs.conf (5)
+is used.
+.TP
+.BI encoding_flags= encoding-flags
+Define parameters for file name character encoding operations. If a
+flag is not changed using this parameter, its default value is used.
+.I encoding-flags
+should be a comma-separated lists of flags to be enabled. To disable a
+flag, add it to the list with the prefix "no".
+
+The only flag that can be set right now is
+.I strict
+which means that invalid strings should be rejected by the file system.
+In the default configuration, the
+.I strict
+flag is disabled.
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds. Specifying an
+.I interval
+of 0 means to use the default interval. The specified interval must
+be less than 300 seconds. Requires that the
+.B mmp
+feature be enabled.
+.TP
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to the next disk, which is sometimes referred to as the
+.I chunk size.
+This mostly affects placement of file system metadata like bitmaps at
+.B mke2fs
+time to avoid placing them on a single disk, which can hurt performance.
+It may also be used by the block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically stride-size * N, where
+N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
+parity disk, so N will be the number of disks in the array minus 1).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
+.TP
+.BI offset= offset
+Create the file system at an offset from the beginning of the device or
+file. This can be useful when creating disk images for virtual machines.
+.TP
+.BI resize= max-online-resize
+Reserve enough space so that the block group descriptor table can grow
+to support a file system that has
+.I max-online-resize
+blocks.
+.TP
+.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled and the uninit_bg feature is enabled, the inode table will
+not be fully initialized by
+.BR mke2fs .
+This speeds up file system
+initialization noticeably, but it requires the kernel to finish
+initializing the file system in the background when the file system is
+first mounted. If the option value is omitted, it defaults to 1 to
+enable lazy inode table zeroing.
+.TP
+.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled, the journal inode will not be fully zeroed out by
+.BR mke2fs .
+This speeds up file system initialization noticeably, but carries some
+small risk if the system crashes before the journal has been overwritten
+entirely one time. If the option value is omitted, it defaults to 1 to
+enable lazy journal inode zeroing.
+.TP
+.B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled,
+.BR mke2fs
+assumes that the storage device has been prezeroed, skips zeroing the journal
+and inode tables, and annotates the block group flags to signal that the inode
+table has been zeroed.
+.TP
+.B no_copy_xattrs
+Normally
+.B mke2fs
+will copy the extended attributes of the files in the directory
+hierarchy specified via the (optional)
+.B \-d
+option. This will disable the copy and leaves the files in the newly
+created file system without any extended attributes.
+.TP
+.BI num_backup_sb= <0|1|2>
+If the
+.B sparse_super2
+file system feature is enabled this option controls whether there will
+be 0, 1, or 2 backup superblocks created in the file system.
+.TP
+.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+Place the allocation bitmaps and the inode table at the beginning of the
+disk. This option requires that the flex_bg file system feature to be
+enabled in order for it to have effect, and will also create the journal
+at the beginning of the file system. This option is useful for flash
+devices that use SLC flash at the beginning of the disk.
+It also maximizes the range of contiguous data blocks, which
+can be useful for certain specialized use cases, such as supported
+Shingled Drives.
+.TP
+.BI root_owner [=uid:gid]
+Specify the numeric user and group ID of the root directory. If no UID:GID
+is specified, use the user and group ID of the user running \fBmke2fs\fR.
+In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
+set by default to the UID and GID of the user running the mke2fs command.
+The \fBroot_owner=\fR option allows explicitly specifying these values,
+and avoid side-effects for users that do not expect the contents of the
+file system to change based on the user running \fBmke2fs\fR.
+.TP
+.B test_fs
+Set a flag in the file system superblock indicating that it may be
+mounted using experimental kernel code, such as the ext4dev file system.
+.TP
+.BI orphan_file_size= size
+Set size of the file for tracking unlinked but still open inodes and inodes
+with truncate in progress. Larger file allows for better scalability, reserving
+a few blocks per cpu is ideal.
+.TP
+.B discard
+Attempt to discard blocks at mkfs time (discarding blocks initially is useful
+on solid state devices and sparse / thin-provisioned storage). When the device
+advertises that discard also zeroes data (any subsequent read after the discard
+and before write returns zero), then mark all not-yet-zeroed inode tables as
+zeroed. This significantly speeds up file system initialization. This is set
+as default.
+.TP
+.B nodiscard
+Do not attempt to discard blocks at mkfs time.
+.TP
+.B quotatype
+Specify the which quota types (usrquota, grpquota, prjquota) which
+should be enabled in the created file system. The argument of this
+extended option should be a colon separated list. This option has
+effect only if the
+.B quota
+feature is set. The default quota types to be initialized if this
+option is not specified is both user and group quotas. If the project
+feature is enabled that project quotas will be initialized as well.
+.RE
+.TP
+.B \-F
+Force
+.B mke2fs
+to create a file system, even if the specified device is not a partition
+on a block special device, or if other parameters do not make sense.
+In order to force
+.B mke2fs
+to create a file system even if the file system appears to be in use
+or is mounted (a truly dangerous thing to do), this option must be
+specified twice.
+.TP
+.BI \-g " blocks-per-group"
+Specify the number of blocks in a block group. There is generally no
+reason for the user to ever set this parameter, as the default is optimal
+for the file system. (For administrators who are creating
+file systems on RAID arrays, it is preferable to use the
+.I stride
+RAID parameter as part of the
+.B \-E
+option rather than manipulating the number of blocks per group.)
+This option is generally used by developers who
+are developing test cases.
+.IP
+If the bigalloc feature is enabled, the
+.B \-g
+option will specify the number of clusters in a block group.
+.TP
+.BI \-G " number-of-groups"
+Specify the number of block groups that will be packed together to
+create a larger virtual block group (or "flex_bg group") in an
+ext4 file system. This improves meta-data locality and performance
+on meta-data heavy workloads. The number of groups must be a power
+of 2 and may only be specified if the
+.B flex_bg
+file system feature is enabled.
+.TP
+.BI \-i " bytes-per-inode"
+Specify the bytes/inode ratio.
+.B mke2fs
+creates an inode for every
+.I bytes-per-inode
+bytes of space on the disk. The larger the
+.I bytes-per-inode
+ratio, the fewer inodes will be created. This value generally shouldn't
+be smaller than the blocksize of the file system, since in that case more
+inodes would be made than can ever be used. Be warned that it is not
+possible to change this ratio on a file system after it is created, so be
+careful deciding the correct value for this parameter. Note that resizing
+a file system changes the number of inodes to maintain this ratio.
+.TP
+.BI \-I " inode-size"
+Specify the size of each inode in bytes.
+The
+.I inode-size
+value must be a power of 2 larger or equal to 128. The larger the
+.I inode-size
+the more space the inode table will consume, and this reduces the usable
+space in the file system and can also negatively impact performance.
+It is not
+possible to change this value after the file system is created.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
+.IP
+The default inode size is controlled by the
+.BR mke2fs.conf (5)
+file. In the
+.B mke2fs.conf
+file shipped with e2fsprogs, the default inode size is 256 bytes for
+most file systems, except for small file systems where the inode size
+will be 128 bytes.
+.TP
+.B \-j
+Create the file system with an ext3 journal. If the
+.B \-J
+option is not specified, the default journal parameters will be used to
+create an appropriately sized journal (given the size of the file system)
+stored within the file system. Note that you must be using a kernel
+which has ext3 support in order to actually make use of the journal.
+.TP
+.BI \-J " journal-options"
+Create the ext3 journal using options specified on the command-line.
+Journal options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following journal options are supported:
+.RS 1.2i
+.TP
+.BI size= journal-size
+Create an internal journal (i.e., stored inside the file system) of size
+.I journal-size
+megabytes.
+The size of the journal must be at least 1024 file system blocks
+(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks or half the total
+file system size (whichever is smaller)
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal. The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
+.TP
+.BI device= external-journal
+Attach the file system to the journal block device located on
+.IR external-journal .
+The external
+journal must already have been created using the command
+.IP
+.B mke2fs -O journal_dev
+.I external-journal
+.IP
+Note that
+.I external-journal
+must have been created with the
+same block size as the new file system.
+In addition, while there is support for attaching
+multiple file systems to a single external journal,
+the Linux kernel and
+.BR e2fsck (8)
+do not currently support shared external journals yet.
+.IP
+Instead of specifying a device name directly,
+.I external-journal
+can also be specified by either
+.BI LABEL= label
+or
+.BI UUID= UUID
+to locate the external journal by either the volume label or UUID
+stored in the ext2 superblock at the start of the journal. Use
+.BR dumpe2fs (8)
+to display a journal device's volume label and UUID. See also the
+.B -L
+option of
+.BR tune2fs (8).
+.RE
+.IP
+Only one of the
+.BR size " or " device
+options can be given for a file system.
+.TP
+.BI \-l " filename"
+Read the bad blocks list from
+.IR filename .
+Note that the block numbers in the bad block list must be generated
+using the same block size as used by
+.BR mke2fs .
+As a result, the
+.B \-c
+option to
+.B mke2fs
+is a much simpler and less error-prone method of checking a disk for bad
+blocks before formatting it, as
+.B mke2fs
+will automatically pass the correct parameters to the
+.B badblocks
+program.
+.TP
+.BI \-L " new-volume-label"
+Set the volume label for the file system to
+.IR new-volume-label .
+The maximum length of the
+volume label is 16 bytes.
+.TP
+.BI \-m " reserved-blocks-percentage"
+Specify the percentage of the file system blocks reserved for
+the super-user. This avoids fragmentation, and allows root-owned
+daemons, such as
+.BR syslogd (8),
+to continue to function correctly after non-privileged processes are
+prevented from writing to the file system. The default percentage
+is 5%.
+.TP
+.BI \-M " last-mounted-directory"
+Set the last mounted directory for the file system. This might be useful
+for the sake of utilities that key off of the last mounted directory to
+determine where the file system should be mounted.
+.TP
+.B \-n
+Causes
+.B mke2fs
+to not actually create a file system, but display what it
+would do if it were to create a file system. This can be used to
+determine the location of the backup superblocks for a particular
+file system, so long as the
+.B mke2fs
+parameters that were passed when the
+file system was originally created are used again. (With the
+.B \-n
+option added, of course!)
+.TP
+.BI \-N " number-of-inodes"
+Overrides the default calculation of the number of inodes that should be
+reserved for the file system (which is based on the number of blocks and
+the
+.I bytes-per-inode
+ratio). This allows the user to specify the number
+of desired inodes directly.
+.TP
+.BI \-o " creator-os"
+Overrides the default value of the "creator operating system" field of the
+file system. The creator field is set by default to the name of the OS the
+.B mke2fs
+executable was compiled for.
+.TP
+.B "\-O \fR[^]\fIfeature\fR[,...]"
+Create a file system with the given features (file system options),
+overriding the default file system options. The features that are
+enabled by default are specified by the
+.I base_features
+relation, either in the
+.I [defaults]
+section in the
+.B /etc/mke2fs.conf
+configuration file,
+or in the
+.I [fs_types]
+subsections for the usage types as specified by the
+.B \-T
+option, further modified by the
+.I features
+relation found in the
+.I [fs_types]
+subsections for the file system and usage types. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+The file system type-specific configuration setting found in the
+.I [fs_types]
+section will override the global default found in
+.IR [defaults] .
+.sp
+The file system feature set will be further edited
+using either the feature set specified by this option,
+or if this option is not given, by the
+.I default_features
+relation for the file system type being created, or in the
+.I [defaults]
+section of the configuration file.
+.sp
+The file system feature set is comprised of a list of features, separated
+by commas, that are to be enabled. To disable a feature, simply
+prefix the feature name with a caret ('^') character.
+Features with dependencies will not be removed successfully.
+The pseudo-file system feature "none" will clear all file system features.
+.TP
+For more information about the features which can be set, please see
+the manual page
+.BR ext4 (5).
+.TP
+.B \-q
+Quiet execution. Useful if
+.B mke2fs
+is run in a script.
+.TP
+.BI \-r " revision"
+Set the file system revision for the new file system. Note that 1.2
+kernels only support revision 0 file systems. The default is to
+create revision 1 file systems.
+.TP
+.B \-S
+Write superblock and group descriptors only. This is an extreme
+measure to be taken only in the very unlikely case that all of
+the superblock and backup superblocks are corrupted, and a last-ditch
+recovery method is desired by experienced users. It causes
+.B mke2fs
+to reinitialize the superblock and group descriptors, while not
+touching the inode table and the block and inode bitmaps. The
+.B e2fsck
+program should be run immediately after this option is used, and there
+is no guarantee that any data will be salvageable. Due to the wide
+variety of possible options to
+.B mke2fs
+that affect the on-disk layout, it is critical to specify exactly
+the same format options, such as blocksize, fs-type, feature flags, and
+other tunables when using this option, or the file system will be further
+corrupted. In some cases, such as file systems that have been resized,
+or have had features enabled after format time, it is impossible to
+overwrite all of the superblocks correctly, and at least some file system
+corruption will occur. It is best to run this on a full copy of the
+file system so other options can be tried if this doesn't work.
+.\" .TP
+.\" .BI \-t " test"
+.\" Check the device for bad blocks before creating the file system
+.\" using the specified test.
+.TP
+.BI \-t " fs-type"
+Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is
+to be created.
+If this option is not specified,
+.B mke2fs
+will pick a default either via how
+the command was run (for example, using a name of the form mkfs.ext2,
+mkfs.ext3, etc.) or via a default as defined by the
+.B /etc/mke2fs.conf
+file. This option controls which file system options are used by
+default, based on the
+.B fstypes
+configuration stanza in
+.BR /etc/mke2fs.conf .
+.sp
+If the
+.B \-O
+option is used to explicitly add or remove file system options that
+should be set in the newly created file system, the
+resulting file system may not be supported by the requested
+.IR fs-type .
+(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
+file system that is not supported by the ext3 implementation as found in
+the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
+will create a file system that does not have a journal and hence will not
+be supported by the ext3 file system code in the Linux kernel.)
+.TP
+.BI \-T " usage-type[,...]"
+Specify how the file system is going to be used, so that
+.B mke2fs
+can choose optimal file system parameters for that use. The usage
+types that are supported are defined in the configuration file
+.BR /etc/mke2fs.conf .
+The user may specify one or more usage types
+using a comma separated list.
+.sp
+If this option is is not specified,
+.B mke2fs
+will pick a single default usage type based on the size of the file system to
+be created. If the file system size is less than 3 megabytes,
+.B mke2fs
+will use the file system type
+.IR floppy .
+If the file system size is greater than or equal to 3 but less than
+512 megabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR small .
+If the file system size is greater than or equal to 4 terabytes but less than
+16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR big .
+If the file system size is greater than or equal to 16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR huge .
+Otherwise,
+.BR mke2fs (8)
+will use the default file system type
+.IR default .
+.TP
+.BI \-U " UUID"
+Set the universally unique identifier (UUID) of the file system to
+.IR UUID .
+The format of the UUID is a series of hex digits separated by hyphens,
+like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
+.I UUID
+parameter may also be one of the following:
+.RS 1.2i
+.TP
+.I clear
+clear the file system UUID
+.TP
+.I random
+generate a new randomly-generated UUID
+.TP
+.I time
+generate a new time-based UUID
+.RE
+.TP
+.B \-v
+Verbose execution.
+.TP
+.B \-V
+Print the version number of
+.B mke2fs
+and exit.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+mke2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive
+in the configuration file.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH ENVIRONMENT
+.TP
+.B MKE2FS_SYNC
+If set to non-zero integer value, its value is used to determine how often
+.BR sync (2)
+is called during inode table initialization.
+.TP
+.B MKE2FS_CONFIG
+Determines the location of the configuration file (see
+.BR mke2fs.conf (5)).
+.TP
+.B MKE2FS_FIRST_META_BG
+If set to non-zero integer value, its value is used to determine first meta
+block group. This is mostly for debugging purposes.
+.TP
+.B MKE2FS_DEVICE_SECTSIZE
+If set to non-zero integer value, its value is used to determine logical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_DEVICE_PHYS_SECTSIZE
+If set to non-zero integer value, its value is used to determine physical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_SKIP_CHECK_MSG
+If set, do not show the message of file system automatic check caused by
+mount count or check interval.
+.SH AUTHOR
+This version of
+.B mke2fs
+has been written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+.B mke2fs
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR mke2fs.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR tune2fs (8),
+.BR ext4 (5)
diff --git a/upstream/fedora-40/man8/mkfs.ext4.8 b/upstream/fedora-40/man8/mkfs.ext4.8
new file mode 100644
index 00000000..d39c024b
--- /dev/null
+++ b/upstream/fedora-40/man8/mkfs.ext4.8
@@ -0,0 +1,891 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH MKE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+mke2fs \- create an ext2/ext3/ext4 file system
+.SH SYNOPSIS
+.B mke2fs
+[
+.B \-c
+|
+.B \-l
+.I filename
+]
+[
+.B \-b
+.I block-size
+]
+[
+.B \-C
+.I cluster-size
+]
+[
+.B \-d
+.I root-directory
+]
+[
+.B \-D
+]
+[
+.B \-g
+.I blocks-per-group
+]
+[
+.B \-G
+.I number-of-groups
+]
+[
+.B \-i
+.I bytes-per-inode
+]
+[
+.B \-I
+.I inode-size
+]
+[
+.B \-j
+]
+[
+.B \-J
+.I journal-options
+]
+[
+.B \-N
+.I number-of-inodes
+]
+[
+.B \-n
+]
+[
+.B \-m
+.I reserved-blocks-percentage
+]
+[
+.B \-o
+.I creator-os
+]
+[
+.B \-O
+[^]\fIfeature\fR[,...]
+]
+[
+.B \-q
+]
+[
+.B \-r
+.I fs-revision-level
+]
+[
+.B \-E
+.I extended-options
+]
+[
+.B \-v
+]
+[
+.B \-F
+]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-M
+.I last-mounted-directory
+]
+[
+.B \-S
+]
+[
+.B \-t
+.I fs-type
+]
+[
+.B \-T
+.I usage-type
+]
+[
+.B \-U
+.I UUID
+]
+[
+.B \-V
+]
+[
+.B \-e
+.I errors-behavior
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+[
+.I fs-size
+]
+.sp
+.B "mke2fs \-O journal_dev"
+[
+.B \-b
+.I block-size
+]
+.\" No external-journal specific journal options yet (size is ignored)
+.\" [
+.\" .B \-J
+.\" .I journal-options
+.\" ]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-n
+]
+[
+.B \-q
+]
+[
+.B \-v
+]
+.I external-journal
+[
+.I fs-size
+]
+.SH DESCRIPTION
+.B mke2fs
+is used to create an ext2, ext3, or ext4 file system, usually in a disk
+partition (or file) named by
+.IR device .
+.PP
+The file system size is specified by
+.IR fs-size .
+If
+.I fs-size
+does not have a suffix, it is interpreted as power-of-two kilobytes,
+unless the
+.B \-b
+.I blocksize
+option is specified, in which case
+.I fs-size
+is interpreted as the number of
+.I blocksize
+blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't'
+(either upper-case or lower-case), then it is interpreted in
+power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
+If
+.I fs-size
+is omitted,
+.B mke2fs
+will create the file system based on the device size.
+.PP
+If
+.B mke2fs
+is run as
+.B mkfs.XXX
+(i.e.,
+.BR mkfs.ext2 ,
+.BR mkfs.ext3 ,
+or
+.BR mkfs.ext4 )
+the option
+.B \-t
+.I XXX
+is implied; so
+.B mkfs.ext3
+will create a file system for use with ext3,
+.B mkfs.ext4
+will create a file system for use with ext4, and so on.
+.PP
+The defaults of the parameters for the newly created file system, if not
+overridden by the options listed below, are controlled by the
+.B /etc/mke2fs.conf
+configuration file. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+.SH OPTIONS
+.TP
+.BI \-b " block-size"
+Specify the size of blocks in bytes. Valid block-size values are powers of two
+from 1024 up to 65536 (however note that the kernel is able to mount only
+file systems with block-size smaller or equal to the system page size - 4k on
+x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
+If omitted, block-size is heuristically determined by the file system size and
+the expected usage of the file system (see the
+.B \-T
+option). In most common cases, the default block size is 4k. If
+.I block-size
+is preceded by a negative sign ('-'), then
+.B mke2fs
+will use heuristics to determine the
+appropriate block size, with the constraint that the block size will be
+at least
+.I block-size
+bytes. This is useful for certain hardware devices which require that
+the blocksize be a multiple of 2k.
+.TP
+.B \-c
+Check the device for bad blocks before creating the file system. If
+this option is specified twice, then a slower read-write
+test is used instead of a fast read-only test.
+.TP
+.B \-C " cluster-size"
+Specify the size of cluster in bytes for file systems using the bigalloc
+feature. Valid cluster-size values are from 2048 to 256M bytes per
+cluster. This can only be specified if the bigalloc feature is
+enabled. (See the
+.B ext4 (5)
+man page for more details about bigalloc.) The default cluster size if
+bigalloc is enabled is 16 times the block size.
+.TP
+.BI \-d " root-directory"
+Copy the contents of the given directory into the root directory of the
+file system.
+.TP
+.B \-D
+Use direct I/O when writing to the disk. This avoids mke2fs dirtying a
+lot of buffer cache memory, which may impact other applications running
+on a busy server. This option will cause mke2fs to run much more
+slowly, however, so there is a tradeoff to using direct I/O.
+.TP
+.BI \-e " error-behavior"
+Change the behavior of the kernel code when errors are detected.
+In all cases, a file system error will cause
+.BR e2fsck (8)
+to check the file system on the next boot.
+.I error-behavior
+can be one of the following:
+.RS 1.2i
+.TP 1.2i
+.B continue
+Continue normal execution.
+.TP
+.B remount-ro
+Remount file system read-only.
+.TP
+.B panic
+Cause a kernel panic.
+.RE
+.TP
+.BI \-E " extended-options"
+Set extended options for the file system. Extended options are comma
+separated, and may take an argument using the equals ('=') sign. The
+.B \-E
+option used to be
+.B \-R
+in earlier versions of
+.BR mke2fs .
+The
+.B \-R
+option is still accepted for backwards compatibility, but is deprecated.
+The following extended options are supported:
+.RS 1.2i
+.TP
+.BI encoding= encoding-name
+Enable the
+.I casefold
+feature in the super block and set
+.I encoding-name
+as the encoding to be used. If
+.I encoding-name
+is not specified, the encoding defined in
+.BR mke2fs.conf (5)
+is used.
+.TP
+.BI encoding_flags= encoding-flags
+Define parameters for file name character encoding operations. If a
+flag is not changed using this parameter, its default value is used.
+.I encoding-flags
+should be a comma-separated lists of flags to be enabled. To disable a
+flag, add it to the list with the prefix "no".
+
+The only flag that can be set right now is
+.I strict
+which means that invalid strings should be rejected by the file system.
+In the default configuration, the
+.I strict
+flag is disabled.
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds. Specifying an
+.I interval
+of 0 means to use the default interval. The specified interval must
+be less than 300 seconds. Requires that the
+.B mmp
+feature be enabled.
+.TP
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to the next disk, which is sometimes referred to as the
+.I chunk size.
+This mostly affects placement of file system metadata like bitmaps at
+.B mke2fs
+time to avoid placing them on a single disk, which can hurt performance.
+It may also be used by the block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically stride-size * N, where
+N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
+parity disk, so N will be the number of disks in the array minus 1).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
+.TP
+.BI offset= offset
+Create the file system at an offset from the beginning of the device or
+file. This can be useful when creating disk images for virtual machines.
+.TP
+.BI resize= max-online-resize
+Reserve enough space so that the block group descriptor table can grow
+to support a file system that has
+.I max-online-resize
+blocks.
+.TP
+.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled and the uninit_bg feature is enabled, the inode table will
+not be fully initialized by
+.BR mke2fs .
+This speeds up file system
+initialization noticeably, but it requires the kernel to finish
+initializing the file system in the background when the file system is
+first mounted. If the option value is omitted, it defaults to 1 to
+enable lazy inode table zeroing.
+.TP
+.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled, the journal inode will not be fully zeroed out by
+.BR mke2fs .
+This speeds up file system initialization noticeably, but carries some
+small risk if the system crashes before the journal has been overwritten
+entirely one time. If the option value is omitted, it defaults to 1 to
+enable lazy journal inode zeroing.
+.TP
+.B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled,
+.BR mke2fs
+assumes that the storage device has been prezeroed, skips zeroing the journal
+and inode tables, and annotates the block group flags to signal that the inode
+table has been zeroed.
+.TP
+.B no_copy_xattrs
+Normally
+.B mke2fs
+will copy the extended attributes of the files in the directory
+hierarchy specified via the (optional)
+.B \-d
+option. This will disable the copy and leaves the files in the newly
+created file system without any extended attributes.
+.TP
+.BI num_backup_sb= <0|1|2>
+If the
+.B sparse_super2
+file system feature is enabled this option controls whether there will
+be 0, 1, or 2 backup superblocks created in the file system.
+.TP
+.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+Place the allocation bitmaps and the inode table at the beginning of the
+disk. This option requires that the flex_bg file system feature to be
+enabled in order for it to have effect, and will also create the journal
+at the beginning of the file system. This option is useful for flash
+devices that use SLC flash at the beginning of the disk.
+It also maximizes the range of contiguous data blocks, which
+can be useful for certain specialized use cases, such as supported
+Shingled Drives.
+.TP
+.BI root_owner [=uid:gid]
+Specify the numeric user and group ID of the root directory. If no UID:GID
+is specified, use the user and group ID of the user running \fBmke2fs\fR.
+In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
+set by default to the UID and GID of the user running the mke2fs command.
+The \fBroot_owner=\fR option allows explicitly specifying these values,
+and avoid side-effects for users that do not expect the contents of the
+file system to change based on the user running \fBmke2fs\fR.
+.TP
+.B test_fs
+Set a flag in the file system superblock indicating that it may be
+mounted using experimental kernel code, such as the ext4dev file system.
+.TP
+.BI orphan_file_size= size
+Set size of the file for tracking unlinked but still open inodes and inodes
+with truncate in progress. Larger file allows for better scalability, reserving
+a few blocks per cpu is ideal.
+.TP
+.B discard
+Attempt to discard blocks at mkfs time (discarding blocks initially is useful
+on solid state devices and sparse / thin-provisioned storage). When the device
+advertises that discard also zeroes data (any subsequent read after the discard
+and before write returns zero), then mark all not-yet-zeroed inode tables as
+zeroed. This significantly speeds up file system initialization. This is set
+as default.
+.TP
+.B nodiscard
+Do not attempt to discard blocks at mkfs time.
+.TP
+.B quotatype
+Specify the which quota types (usrquota, grpquota, prjquota) which
+should be enabled in the created file system. The argument of this
+extended option should be a colon separated list. This option has
+effect only if the
+.B quota
+feature is set. The default quota types to be initialized if this
+option is not specified is both user and group quotas. If the project
+feature is enabled that project quotas will be initialized as well.
+.RE
+.TP
+.B \-F
+Force
+.B mke2fs
+to create a file system, even if the specified device is not a partition
+on a block special device, or if other parameters do not make sense.
+In order to force
+.B mke2fs
+to create a file system even if the file system appears to be in use
+or is mounted (a truly dangerous thing to do), this option must be
+specified twice.
+.TP
+.BI \-g " blocks-per-group"
+Specify the number of blocks in a block group. There is generally no
+reason for the user to ever set this parameter, as the default is optimal
+for the file system. (For administrators who are creating
+file systems on RAID arrays, it is preferable to use the
+.I stride
+RAID parameter as part of the
+.B \-E
+option rather than manipulating the number of blocks per group.)
+This option is generally used by developers who
+are developing test cases.
+.IP
+If the bigalloc feature is enabled, the
+.B \-g
+option will specify the number of clusters in a block group.
+.TP
+.BI \-G " number-of-groups"
+Specify the number of block groups that will be packed together to
+create a larger virtual block group (or "flex_bg group") in an
+ext4 file system. This improves meta-data locality and performance
+on meta-data heavy workloads. The number of groups must be a power
+of 2 and may only be specified if the
+.B flex_bg
+file system feature is enabled.
+.TP
+.BI \-i " bytes-per-inode"
+Specify the bytes/inode ratio.
+.B mke2fs
+creates an inode for every
+.I bytes-per-inode
+bytes of space on the disk. The larger the
+.I bytes-per-inode
+ratio, the fewer inodes will be created. This value generally shouldn't
+be smaller than the blocksize of the file system, since in that case more
+inodes would be made than can ever be used. Be warned that it is not
+possible to change this ratio on a file system after it is created, so be
+careful deciding the correct value for this parameter. Note that resizing
+a file system changes the number of inodes to maintain this ratio.
+.TP
+.BI \-I " inode-size"
+Specify the size of each inode in bytes.
+The
+.I inode-size
+value must be a power of 2 larger or equal to 128. The larger the
+.I inode-size
+the more space the inode table will consume, and this reduces the usable
+space in the file system and can also negatively impact performance.
+It is not
+possible to change this value after the file system is created.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
+.IP
+The default inode size is controlled by the
+.BR mke2fs.conf (5)
+file. In the
+.B mke2fs.conf
+file shipped with e2fsprogs, the default inode size is 256 bytes for
+most file systems, except for small file systems where the inode size
+will be 128 bytes.
+.TP
+.B \-j
+Create the file system with an ext3 journal. If the
+.B \-J
+option is not specified, the default journal parameters will be used to
+create an appropriately sized journal (given the size of the file system)
+stored within the file system. Note that you must be using a kernel
+which has ext3 support in order to actually make use of the journal.
+.TP
+.BI \-J " journal-options"
+Create the ext3 journal using options specified on the command-line.
+Journal options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following journal options are supported:
+.RS 1.2i
+.TP
+.BI size= journal-size
+Create an internal journal (i.e., stored inside the file system) of size
+.I journal-size
+megabytes.
+The size of the journal must be at least 1024 file system blocks
+(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks or half the total
+file system size (whichever is smaller)
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal. The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
+.TP
+.BI device= external-journal
+Attach the file system to the journal block device located on
+.IR external-journal .
+The external
+journal must already have been created using the command
+.IP
+.B mke2fs -O journal_dev
+.I external-journal
+.IP
+Note that
+.I external-journal
+must have been created with the
+same block size as the new file system.
+In addition, while there is support for attaching
+multiple file systems to a single external journal,
+the Linux kernel and
+.BR e2fsck (8)
+do not currently support shared external journals yet.
+.IP
+Instead of specifying a device name directly,
+.I external-journal
+can also be specified by either
+.BI LABEL= label
+or
+.BI UUID= UUID
+to locate the external journal by either the volume label or UUID
+stored in the ext2 superblock at the start of the journal. Use
+.BR dumpe2fs (8)
+to display a journal device's volume label and UUID. See also the
+.B -L
+option of
+.BR tune2fs (8).
+.RE
+.IP
+Only one of the
+.BR size " or " device
+options can be given for a file system.
+.TP
+.BI \-l " filename"
+Read the bad blocks list from
+.IR filename .
+Note that the block numbers in the bad block list must be generated
+using the same block size as used by
+.BR mke2fs .
+As a result, the
+.B \-c
+option to
+.B mke2fs
+is a much simpler and less error-prone method of checking a disk for bad
+blocks before formatting it, as
+.B mke2fs
+will automatically pass the correct parameters to the
+.B badblocks
+program.
+.TP
+.BI \-L " new-volume-label"
+Set the volume label for the file system to
+.IR new-volume-label .
+The maximum length of the
+volume label is 16 bytes.
+.TP
+.BI \-m " reserved-blocks-percentage"
+Specify the percentage of the file system blocks reserved for
+the super-user. This avoids fragmentation, and allows root-owned
+daemons, such as
+.BR syslogd (8),
+to continue to function correctly after non-privileged processes are
+prevented from writing to the file system. The default percentage
+is 5%.
+.TP
+.BI \-M " last-mounted-directory"
+Set the last mounted directory for the file system. This might be useful
+for the sake of utilities that key off of the last mounted directory to
+determine where the file system should be mounted.
+.TP
+.B \-n
+Causes
+.B mke2fs
+to not actually create a file system, but display what it
+would do if it were to create a file system. This can be used to
+determine the location of the backup superblocks for a particular
+file system, so long as the
+.B mke2fs
+parameters that were passed when the
+file system was originally created are used again. (With the
+.B \-n
+option added, of course!)
+.TP
+.BI \-N " number-of-inodes"
+Overrides the default calculation of the number of inodes that should be
+reserved for the file system (which is based on the number of blocks and
+the
+.I bytes-per-inode
+ratio). This allows the user to specify the number
+of desired inodes directly.
+.TP
+.BI \-o " creator-os"
+Overrides the default value of the "creator operating system" field of the
+file system. The creator field is set by default to the name of the OS the
+.B mke2fs
+executable was compiled for.
+.TP
+.B "\-O \fR[^]\fIfeature\fR[,...]"
+Create a file system with the given features (file system options),
+overriding the default file system options. The features that are
+enabled by default are specified by the
+.I base_features
+relation, either in the
+.I [defaults]
+section in the
+.B /etc/mke2fs.conf
+configuration file,
+or in the
+.I [fs_types]
+subsections for the usage types as specified by the
+.B \-T
+option, further modified by the
+.I features
+relation found in the
+.I [fs_types]
+subsections for the file system and usage types. See the
+.BR mke2fs.conf (5)
+manual page for more details.
+The file system type-specific configuration setting found in the
+.I [fs_types]
+section will override the global default found in
+.IR [defaults] .
+.sp
+The file system feature set will be further edited
+using either the feature set specified by this option,
+or if this option is not given, by the
+.I default_features
+relation for the file system type being created, or in the
+.I [defaults]
+section of the configuration file.
+.sp
+The file system feature set is comprised of a list of features, separated
+by commas, that are to be enabled. To disable a feature, simply
+prefix the feature name with a caret ('^') character.
+Features with dependencies will not be removed successfully.
+The pseudo-file system feature "none" will clear all file system features.
+.TP
+For more information about the features which can be set, please see
+the manual page
+.BR ext4 (5).
+.TP
+.B \-q
+Quiet execution. Useful if
+.B mke2fs
+is run in a script.
+.TP
+.BI \-r " revision"
+Set the file system revision for the new file system. Note that 1.2
+kernels only support revision 0 file systems. The default is to
+create revision 1 file systems.
+.TP
+.B \-S
+Write superblock and group descriptors only. This is an extreme
+measure to be taken only in the very unlikely case that all of
+the superblock and backup superblocks are corrupted, and a last-ditch
+recovery method is desired by experienced users. It causes
+.B mke2fs
+to reinitialize the superblock and group descriptors, while not
+touching the inode table and the block and inode bitmaps. The
+.B e2fsck
+program should be run immediately after this option is used, and there
+is no guarantee that any data will be salvageable. Due to the wide
+variety of possible options to
+.B mke2fs
+that affect the on-disk layout, it is critical to specify exactly
+the same format options, such as blocksize, fs-type, feature flags, and
+other tunables when using this option, or the file system will be further
+corrupted. In some cases, such as file systems that have been resized,
+or have had features enabled after format time, it is impossible to
+overwrite all of the superblocks correctly, and at least some file system
+corruption will occur. It is best to run this on a full copy of the
+file system so other options can be tried if this doesn't work.
+.\" .TP
+.\" .BI \-t " test"
+.\" Check the device for bad blocks before creating the file system
+.\" using the specified test.
+.TP
+.BI \-t " fs-type"
+Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is
+to be created.
+If this option is not specified,
+.B mke2fs
+will pick a default either via how
+the command was run (for example, using a name of the form mkfs.ext2,
+mkfs.ext3, etc.) or via a default as defined by the
+.B /etc/mke2fs.conf
+file. This option controls which file system options are used by
+default, based on the
+.B fstypes
+configuration stanza in
+.BR /etc/mke2fs.conf .
+.sp
+If the
+.B \-O
+option is used to explicitly add or remove file system options that
+should be set in the newly created file system, the
+resulting file system may not be supported by the requested
+.IR fs-type .
+(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
+file system that is not supported by the ext3 implementation as found in
+the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
+will create a file system that does not have a journal and hence will not
+be supported by the ext3 file system code in the Linux kernel.)
+.TP
+.BI \-T " usage-type[,...]"
+Specify how the file system is going to be used, so that
+.B mke2fs
+can choose optimal file system parameters for that use. The usage
+types that are supported are defined in the configuration file
+.BR /etc/mke2fs.conf .
+The user may specify one or more usage types
+using a comma separated list.
+.sp
+If this option is is not specified,
+.B mke2fs
+will pick a single default usage type based on the size of the file system to
+be created. If the file system size is less than 3 megabytes,
+.B mke2fs
+will use the file system type
+.IR floppy .
+If the file system size is greater than or equal to 3 but less than
+512 megabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR small .
+If the file system size is greater than or equal to 4 terabytes but less than
+16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR big .
+If the file system size is greater than or equal to 16 terabytes,
+.BR mke2fs (8)
+will use the file system type
+.IR huge .
+Otherwise,
+.BR mke2fs (8)
+will use the default file system type
+.IR default .
+.TP
+.BI \-U " UUID"
+Set the universally unique identifier (UUID) of the file system to
+.IR UUID .
+The format of the UUID is a series of hex digits separated by hyphens,
+like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
+.I UUID
+parameter may also be one of the following:
+.RS 1.2i
+.TP
+.I clear
+clear the file system UUID
+.TP
+.I random
+generate a new randomly-generated UUID
+.TP
+.I time
+generate a new time-based UUID
+.RE
+.TP
+.B \-v
+Verbose execution.
+.TP
+.B \-V
+Print the version number of
+.B mke2fs
+and exit.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+mke2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive
+in the configuration file.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH ENVIRONMENT
+.TP
+.B MKE2FS_SYNC
+If set to non-zero integer value, its value is used to determine how often
+.BR sync (2)
+is called during inode table initialization.
+.TP
+.B MKE2FS_CONFIG
+Determines the location of the configuration file (see
+.BR mke2fs.conf (5)).
+.TP
+.B MKE2FS_FIRST_META_BG
+If set to non-zero integer value, its value is used to determine first meta
+block group. This is mostly for debugging purposes.
+.TP
+.B MKE2FS_DEVICE_SECTSIZE
+If set to non-zero integer value, its value is used to determine logical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_DEVICE_PHYS_SECTSIZE
+If set to non-zero integer value, its value is used to determine physical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_SKIP_CHECK_MSG
+If set, do not show the message of file system automatic check caused by
+mount count or check interval.
+.SH AUTHOR
+This version of
+.B mke2fs
+has been written by Theodore Ts'o <tytso@mit.edu>.
+.SH AVAILABILITY
+.B mke2fs
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR mke2fs.conf (5),
+.BR badblocks (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR tune2fs (8),
+.BR ext4 (5)
diff --git a/upstream/fedora-40/man8/mkfs.fat.8 b/upstream/fedora-40/man8/mkfs.fat.8
new file mode 100644
index 00000000..f681bb8c
--- /dev/null
+++ b/upstream/fedora-40/man8/mkfs.fat.8
@@ -0,0 +1,254 @@
+.\" mkfs.fat.8 - manpage for fs.fatck
+.\"
+.\" Copyright (C) 2006-2014 Daniel Baumann <daniel@debian.org>
+.\" Copyright (C) 2016 Andreas Bombe <aeb@debian.org>
+.\" Copyright (C) 2018-2021 Pali Rohár <pali.rohar@gmail.com>
+.\"
+.\" This program is free software: you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation, either version 3 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
+.\"
+.\" The complete text of the GNU General Public License
+.\" can be found in /usr/share/common-licenses/GPL-3 file.
+.\"
+.\"
+.TH MKFS.FAT 8 2021-01-31 "dosfstools 4.2"
+.SH NAME
+mkfs.fat \- create an MS-DOS FAT filesystem
+.\" ----------------------------------------------------------------------------
+.SH SYNOPSIS
+\fBmkfs.fat\fP [\fIOPTIONS\fP] \fIDEVICE\fP [\fIBLOCK-COUNT\fP]
+.\" ----------------------------------------------------------------------------
+.SH DESCRIPTION
+\fBmkfs.fat\fP is used to create a FAT filesystem on a device or in an image
+file.
+\fIDEVICE\fP is the special file corresponding to the device (e.g. /dev/sdXX) or
+the image file (which does not need to exist when the option \fB-C\fP is given).
+\fIBLOCK-COUNT\fP is the number of blocks on the device and size of one block is
+always 1024 bytes, independently of the sector size or the cluster size.
+Therefore \fIBLOCK-COUNT\fP specifies size of filesystem in KiB unit and not in
+the number of sectors (like for all other \fBmkfs.fat\fP options).
+If omitted, \fBmkfs.fat\fP automatically chooses a filesystem size to fill the
+available space.
+.PP
+Two different variants of the FAT filesystem are supported.
+Standard is the FAT12, FAT16 and FAT32 filesystems as defined by Microsoft and
+widely used on hard disks and removable media like USB sticks and SD cards.
+The other is the legacy Atari variant used on Atari ST.
+.PP
+In Atari mode, if not directed otherwise by the user, \fBmkfs.fat\fP will
+always use 2 sectors per cluster, since GEMDOS doesn't like other values very
+much.
+It will also obey the maximum number of sectors GEMDOS can handle.
+Larger filesystems are managed by raising the logical sector size.
+An Atari-compatible serial number for the filesystem is generated, and a 12 bit
+FAT is used only for filesystems that have one of the usual floppy sizes (720k,
+1.2M, 1.44M, 2.88M), a 16 bit FAT otherwise.
+This can be overridden with the \fB\-F\fP option.
+Some PC-specific boot sector fields aren't written, and a boot message (option
+\fB\-m\fP) is ignored.
+.\" ----------------------------------------------------------------------------
+.SH OPTIONS
+.IP "\fB\-a\fP" 4
+Normally, for any filesystem except very small ones, \fBmkfs.fat\fP will align
+all the data structures to cluster size, to make sure that as long as the
+partition is properly aligned, so will all the data structures in the
+filesystem.
+This option disables alignment; this may provide a handful of additional
+clusters of storage at the expense of a significant performance degradation on
+RAIDs, flash media or large-sector hard disks.
+.IP "\fB\-A\fP" 4
+Select using the Atari variation of the FAT filesystem if that isn't active
+already, otherwise select standard FAT filesystem.
+This is selected by default if \fBmkfs.fat\fP is run on 68k Atari Linux.
+.IP "\fB\-b\fP \fISECTOR-OF-BACKUP\fP" 4
+Selects the location of the backup boot sector for FAT32.
+Default depends on number of reserved sectors, but usually is sector 6.
+If there is a free space available after the backup boot sector then backup of
+the FAT32 info sector is put after the backup boot sector, usually at sector 7.
+The backup must be within the range of reserved sectors.
+Value 0 completely disables creating of backup boot and info FAT32 sectors.
+.IP "\fB\-c" 4
+Check the device for bad blocks before creating the filesystem.
+.IP "\fB\-C\fP" 4
+Create the file given as \fIDEVICE\fP on the command line, and write the
+to-be-created filesystem to it.
+This can be used to create the new filesystem in a file instead of on a real
+device, and to avoid using \fBdd\fP in advance to create a file of appropriate
+size.
+With this option, the \fIBLOCK-COUNT\fP must be given, because otherwise the
+intended size of the filesystem wouldn't be known.
+The file created is a sparse file, which actually only contains the meta-data
+areas (boot sector, FATs, and root directory).
+The data portions won't be stored on the disk, but the file nevertheless will
+have the correct size.
+The resulting file can be copied later to a floppy disk or other device, or
+mounted through a loop device.
+.IP "\fB\-D\fP \fIDRIVE-NUMBER\fP" 4
+Specify the BIOS drive number to be stored in the FAT boot sector.
+For hard disks and removable medias it is usually 0x80\(en0xFF (0x80 is first
+hard disk C:, 0x81 is second hard disk D:, ...), for floppy devices or
+partitions to be used for floppy emulation it is 0x00\(en0x7F (0x00 is first
+floppy A:, 0x01 is second floppy B:).
+.IP "\fB\-f\fP \fINUMBER-OF-FATS\fP" 4
+Specify the number of file allocation tables in the filesystem.
+The default is 2.
+.IP "\fB\-F\fP \fIFAT-SIZE\fP" 4
+Specifies the type of file allocation tables used (12, 16 or 32 bit).
+If nothing is specified, \fBmkfs.fat\fP will automatically select between 12, 16
+and 32 bit, whatever fits better for the filesystem size.
+.IP "\fB\-g\fP \fIHEADS\fP/\fISECTORS-PER-TRACK\fP" 4
+Specify \fIHEADS\fP and \fISECTORS-PER-TRACK\fP numbers which represents
+disk geometry of \fIDEVICE\fP.
+Both numbers are stored into the FAT boot sector.
+Number \fISECTORS-PER-TRACK\fP is used also for aligning the total count of FAT
+sectors.
+By default disk geometry is read from \fIDEVICE\fP itself.
+If it is not available then \fILBA-Assist Translation\fP and translation table
+from the \fISD Card Part 2 File System Specification\fP based on total number
+of disk sectors is used.
+.IP "\fB\-h\fP \fINUMBER-OF-HIDDEN-SECTORS\fP" 4
+Specify the number of so-called \fIhidden sectors\fP, as stored in the FAT boot
+sector: this number represents the beginning sector of the partition containing
+the file system.
+Normally this is an offset (in sectors) relative to the start of the disk,
+although for MBR logical volumes contained in an extended partition of type 0x05
+(a non-LBA extended partition), a quirk in the MS-DOS implementation of FAT
+requires it to be relative to the partition's immediate containing Extended Boot
+Record.
+Boot code and other software handling FAT volumes may also rely on this field
+being set up correctly; most modern FAT implementations will ignore it.
+By default, if the \fIDEVICE\fP is a partition block device, \fBmkfs.fat\fP uses
+the partition offset relative to disk start.
+Otherwise, \fBmkfs.fat\fP assumes zero.
+Use this option to override this behaviour.
+.IP "\fB\-i\fP \fIVOLUME-ID\fP" 4
+Sets the volume ID of the newly created filesystem; \fIVOLUME-ID\fP is a 32-bit
+hexadecimal number (for example, 2e24ec82).
+The default is a number which depends on the filesystem creation time.
+.IP "\fB\-I\fP" 4
+Ignore and disable safety checks.
+By default \fBmkfs.fat\fP refuses to create a filesystem on a device with
+partitions or virtual mapping.
+\fBmkfs.fat\fP will complain and tell you that it refuses to work.
+This is different when using MO disks.
+One doesn't always need partitions on MO disks.
+The filesystem can go directly to the whole disk.
+Under other OSes this is known as the \fIsuperfloppy\fP format.
+This switch will force \fBmkfs.fat\fP to work properly.
+.IP "\fB\-l\fP \fIFILENAME\fP" 4
+Read the bad blocks list from \fIFILENAME\fP.
+.IP "\fB\-m\fP \fIMESSAGE-FILE\fP" 4
+Sets the message the user receives on attempts to boot this filesystem without
+having properly installed an operating system.
+The message file must not exceed 418 bytes once line feeds have been converted
+to carriage return-line feed combinations, and tabs have been expanded.
+If the filename is a hyphen (-), the text is taken from standard input.
+.IP "\fB\-M\fP \fIFAT-MEDIA-TYPE\fP" 4
+Specify the media type to be stored in the FAT boot sector.
+This value is usually 0xF8 for hard disks and is 0xF0 or a value from 0xF9 to
+0xFF for floppies or partitions to be used for floppy emulation.
+.IP "\fB\-\-mbr\fP[=\fIy\fP|\fIyes\fP|\fIn\fP|\fIno\fP|\fIa\fP|\fIauto\fP]" 4
+Fill (fake) MBR table with disk signature one partition which starts at sector
+0 (includes MBR itself) and spans whole disk device.
+It is needed only for non-removable disks used on Microsoft Windows systems and
+only when formatting whole unpartitioned disk.
+Location of the disk signature and partition table overlaps with the end of the
+first FAT sector (boot code location), therefore there is no additional space
+usage.
+Default is \fIauto\fP mode in which \fBmkfs.fat\fP put MBR table only for
+non-removable disks when formatting whole unpartitioned disk.
+.IP "\fB\-n\fP \fIVOLUME-NAME\fP" 4
+Sets the volume name (label) of the filesystem.
+The volume name can be up to 11 characters long.
+Supplying an empty string, a string consisting only of white space or the
+string "NO NAME" as \fIVOLUME-NAME\fP has the same effect as not giving the
+\fB\-n\fP option.
+The default is no label.
+.IP "\fB\-\-codepage\fP=\fIPAGE\fP" 4
+Use DOS codepage \fIPAGE\fP to encode label.
+By default codepage 850 is used.
+.IP "\fB\-r\fP \fIROOT-DIR-ENTRIES\fP" 4
+Select the minimal number of entries available in the root directory.
+The default is 112 or 224 for floppies and 512 for hard disks.
+Note that this is minimal number and it may be increased by \fBmkfs.fat\fP
+due to alignment of structures.
+See also \fBmkfs.fat\fP option \fB\-a\fP.
+.IP "\fB\-R\fP \fINUMBER-OF-RESERVED-SECTORS\fP" 4
+Select the minimal number of reserved sectors.
+With FAT32 format at least 2 reserved sectors are needed, the default is 32.
+Otherwise the default is 1 (only the boot sector).
+Note that this is minimal number and it may be increased by \fBmkfs.fat\fP
+due to alignment of structures.
+See also \fBmkfs.fat\fP option \fB\-a\fP.
+.IP "\fB\-s\fP \fISECTORS-PER-CLUSTER\fP" 4
+Specify the number of disk sectors per cluster.
+Must be a power of 2, i.e. 1, 2, 4, 8, ... 128.
+.IP "\fB\-S\fP \fILOGICAL-SECTOR-SIZE\fP" 4
+Specify the number of bytes per logical sector.
+Must be a power of 2 and greater than or equal to 512, i.e. 512, 1024, 2048,
+4096, 8192, 16384, or 32768.
+Values larger than 4096 are not conforming to the FAT file system specification
+and may not work everywhere.
+.IP "\fB\-v\fP" 4
+Verbose execution.
+.IP "\fB\-\-offset\fP \fISECTOR\fP" 4
+Write the filesystem at a specific sector into the device file.
+This is useful for creating a filesystem in a partitioned disk image without
+having to set up a loop device.
+.IP "\fB\-\-variant\fP \fITYPE\fP" 4
+Create a filesystem of variant \fITYPE\fP.
+Acceptable values are \fIstandard\fP and \fIatari\fP (in any combination of
+upper/lower case).
+See above under DESCRIPTION for the differences.
+.IP "\fB\-\-help\fP" 4
+Display option summary and exit.
+.IP "\fB\-\-invariant\fP" 4
+Use constants for normally randomly generated or time based data such as
+volume ID and creation time.
+Multiple runs of \fBmkfs.fat\fP on the same device create identical results
+with this option.
+Its main purpose is testing \fBmkfs.fat\fP.
+.\" ----------------------------------------------------------------------------
+.SH BUGS
+\fBmkfs.fat\fP can not create boot-able filesystems.
+This isn't as easy as you might think at first glance for various reasons and
+has been discussed a lot already.
+\fBmkfs.fat\fP simply will not support it ;)
+.\" ----------------------------------------------------------------------------
+.SH SEE ALSO
+.BR fatlabel (8),
+.BR fsck.fat (8)
+.\" ----------------------------------------------------------------------------
+.SH HOMEPAGE
+The home for the \fBdosfstools\fP project is its
+.UR https://github.com/dosfstools/dosfstools
+GitHub project page
+.UE .
+.\" ----------------------------------------------------------------------------
+.SH AUTHORS
+\fBdosfstools\fP were written by
+.MT werner.almesberger@\:lrc.di.epfl.ch
+Werner Almesberger
+.ME ,
+.MT Roman.Hodek@\:informatik.\:uni-erlangen.de
+Roman Hodek
+.ME ,
+and others.
+Current maintainers are
+.MT aeb@\:debian.org
+Andreas Bombe
+.ME
+and
+.MT pali.rohar@\:gmail.com
+Pali Rohár
+.ME .
diff --git a/upstream/fedora-40/man8/mkfs.xfs.8 b/upstream/fedora-40/man8/mkfs.xfs.8
new file mode 100644
index 00000000..891570d0
--- /dev/null
+++ b/upstream/fedora-40/man8/mkfs.xfs.8
@@ -0,0 +1,1147 @@
+.TH mkfs.xfs 8
+.SH NAME
+mkfs.xfs \- construct an XFS filesystem
+.SH SYNOPSIS
+.B mkfs.xfs
+[
+.B \-b
+.I block_size_options
+] [
+.B \-c
+.I config_file_options
+] [
+.B \-m
+.I global_metadata_options
+] [
+.B \-d
+.I data_section_options
+] [
+.B \-f
+] [
+.B \-i
+.I inode_options
+] [
+.B \-l
+.I log_section_options
+] [
+.B \-n
+.I naming_options
+] [
+.B \-p
+.I protofile_options
+] [
+.B \-q
+] [
+.B \-r
+.I realtime_section_options
+] [
+.B \-s
+.I sector_size_options
+] [
+.B \-L
+.I label
+] [
+.B \-N
+] [
+.B \-K
+]
+.I device
+.br
+.B mkfs.xfs \-V
+.SH DESCRIPTION
+.B mkfs.xfs
+constructs an XFS filesystem by writing on a special
+file using the values found in the arguments of the command line.
+It is invoked automatically by
+.BR mkfs (8)
+when it is given the
+.B \-t xfs
+option.
+.PP
+In its simplest (and most commonly used form), the size of the
+filesystem is determined from the disk driver. As an example, to make
+a filesystem with an internal log on the first partition on the first
+SCSI disk, use:
+.IP
+.B mkfs.xfs /dev/sda1
+.PP
+The metadata log can be placed on another device to reduce the number
+of disk seeks. To create a filesystem on the first partition on the
+first SCSI disk with a 100MiB log located on the first partition
+on the second SCSI disk, use:
+.RS
+.HP
+.B mkfs.xfs\ \-l\ logdev=/dev/sdb1,size=100m /dev/sda1
+.RE
+.PP
+Each of the
+.I option
+elements in the argument list above can be given as multiple comma-separated
+suboptions if multiple suboptions apply to the same option.
+Equivalently, each main option can be given multiple times with
+different suboptions.
+For example,
+.B \-l internal,size=100m
+and
+.B \-l internal \-l size=100m
+are equivalent.
+.PP
+In the descriptions below, sizes are given in sectors, bytes, blocks,
+kilobytes, megabytes, gigabytes, etc.
+Sizes are treated as hexadecimal if prefixed by 0x or 0X,
+octal if prefixed by 0, or decimal otherwise.
+The following lists possible multiplication suffixes:
+.RS
+.PD 0
+.HP
+.BR s "\ \-\ multiply by sector size (default = 512, see " \-s
+option below).
+.HP
+.BR b "\ \-\ multiply by filesystem block size (default = 4K, see " \-b
+option below).
+.HP
+.BR k "\ \-\ multiply by one kilobyte (1,024 bytes)."
+.HP
+.BR m "\ \-\ multiply by one megabyte (1,048,576 bytes)."
+.HP
+.BR g "\ \-\ multiply by one gigabyte (1,073,741,824 bytes)."
+.HP
+.BR t "\ \-\ multiply by one terabyte (1,099,511,627,776 bytes)."
+.HP
+.BR p "\ \-\ multiply by one petabyte (1,024 terabytes)."
+.HP
+.BR e "\ \-\ multiply by one exabyte (1,048,576 terabytes)."
+.PD
+.RE
+.PP
+When specifying parameters in units of sectors or filesystem blocks, the
+.B \-s
+option or the
+.B \-b
+option may be used to specify the size of the sector or block.
+If the size of the block or sector is not specified, the default sizes
+(block: 4KiB, sector: 512B) will be used.
+.PP
+Many feature options allow an optional argument of 0 or 1, to explicitly
+disable or enable the functionality.
+
+The correctness of the crc32c checksum implementation will be tested
+before formatting the filesystem.
+If the test fails, the format will abort.
+.SH OPTIONS
+Options may be specified either on the command line or in a configuration file.
+Not all command line options can be specified in configuration files; only the
+command line options followed by a
+.B [section]
+label can be used in a configuration file.
+.PP
+Options that can be used in configuration files are grouped into related
+sections containing multiple options.
+The command line options and configuration files use the same option
+sections and grouping.
+Configuration file section names are listed in the command line option
+sections below.
+Option names and values are the same for both command line
+and configuration file specification.
+.PP
+Options specified are the combined set of command line parameters and
+configuration file parameters.
+Duplicated options will result in a respecification error, regardless of the
+location they were specified at.
+.TP
+.BI \-c " configuration_file_option"
+This option specifies the files that mkfs configuration will be obtained from.
+The valid
+.I configuration_file_option
+is:
+.RS 1.2i
+.TP
+.BI options= name
+The configuration options will be sourced from the file specified by the
+.I name
+option string.
+This option can be use either an absolute or relative path to the configuration
+file to be read.
+Sample configuration files can be found in /usr/share/xfsprogs/mkfs.
+.RE
+.PP
+.PD 0
+.BI \-b " block_size_options"
+.TP
+.BI "Section Name: " [block]
+.PD
+This option specifies the fundamental block size of the filesystem.
+The valid
+.I block_size_option
+is:
+.RS 1.2i
+.TP
+.BI size= value
+The filesystem block size is specified with a
+.I value
+in bytes. The default value is 4096 bytes (4 KiB), the minimum is 512, and the
+maximum is 65536 (64 KiB).
+.IP
+Although
+.B mkfs.xfs
+will accept any of these values and create a valid filesystem,
+XFS on Linux can only mount filesystems with pagesize or smaller blocks.
+.RE
+.PP
+.PD 0
+.BI \-m " global_metadata_options"
+.TP
+.BI "Section Name: " [metadata]
+.PD
+These options specify metadata format options that either apply to the entire
+filesystem or aren't easily characterised by a specific functionality group. The
+valid
+.I global_metadata_options
+are:
+.RS 1.2i
+.TP
+.BI bigtime= value
+This option enables filesystems that can handle inode timestamps from December
+1901 to July 2486, and quota timer expirations from January 1970 to July 2486.
+The value is either 0 to disable the feature, or 1 to enable large timestamps.
+.IP
+If this feature is not enabled, the filesystem can only handle timestamps from
+December 1901 to January 2038, and quota timers from January 1970 to February
+2106.
+.IP
+By default,
+.B mkfs.xfs
+will enable this feature.
+If the option
+.B \-m crc=0
+is used, the large timestamp feature is not supported and is disabled.
+.TP
+.BI crc= value
+This is used to create a filesystem which maintains and checks CRC information
+in all metadata objects on disk. The value is either 0 to disable the feature,
+or 1 to enable the use of CRCs.
+.IP
+CRCs enable enhanced error detection due to hardware issues, whilst the format
+changes also improves crash recovery algorithms and the ability of various tools
+to validate and repair metadata corruptions when they are found. The CRC
+algorithm used is CRC32c, so the overhead is dependent on CPU architecture as
+some CPUs have hardware acceleration of this algorithm. Typically the overhead
+of calculating and checking the CRCs is not noticeable in normal operation.
+.IP
+By default,
+.B mkfs.xfs
+will enable metadata CRCs.
+.IP
+Formatting a filesystem without CRCs selects the V4 format, which is deprecated
+and will be removed from upstream in September 2030.
+Distributors may choose to withdraw support for the V4 format earlier than
+this date.
+Several other options, noted below, are only tunable on V4 formats, and will
+be removed along with the V4 format itself.
+.TP
+.BI finobt= value
+This option enables the use of a separate free inode btree index in each
+allocation group. The value is either 0 to disable the feature, or 1 to create
+a free inode btree in each allocation group.
+.IP
+The free inode btree mirrors the existing allocated inode btree index which
+indexes both used and free inodes. The free inode btree does not index used
+inodes, allowing faster, more consistent inode allocation performance as
+filesystems age.
+.IP
+By default,
+.B mkfs.xfs
+will create free inode btrees for filesystems created with the (default)
+.B \-m crc=1
+option set. When the option
+.B \-m crc=0
+is used, the free inode btree feature is not supported and is disabled.
+.TP
+.BI inobtcount= value
+This option causes the filesystem to record the number of blocks used by
+the inode btree and the free inode btree.
+This can be used to reduce mount times when the free inode btree is enabled.
+.IP
+By default,
+.B mkfs.xfs
+will enable this option.
+This feature is only available for filesystems created with the (default)
+.B \-m finobt=1
+option set.
+When the option
+.B \-m finobt=0
+is used, the inode btree counter feature is not supported and is disabled.
+.TP
+.BI uuid= value
+Use the given value as the filesystem UUID for the newly created filesystem.
+The default is to generate a random UUID.
+.TP
+.BI rmapbt= value
+This option enables the creation of a reverse-mapping btree index in each
+allocation group. The value is either 0 to disable the feature, or 1 to
+create the btree.
+.IP
+The reverse mapping btree maps filesystem blocks to the owner of the
+filesystem block. Most of the mappings will be to an inode number and an
+offset, though there will also be mappings to filesystem metadata. This
+secondary metadata can be used to validate the primary metadata or to
+pinpoint exactly which data has been lost when a disk error occurs.
+.IP
+By default,
+.B mkfs.xfs
+will create reverse mapping btrees when possible.
+This feature is only available for filesystems created with the (default)
+.B \-m crc=1
+option set. When the option
+.B \-m crc=0
+is used, the reverse mapping btree feature is not supported and is disabled.
+.TP
+.BI reflink= value
+This option enables the use of a separate reference count btree index in each
+allocation group. The value is either 0 to disable the feature, or 1 to create
+a reference count btree in each allocation group.
+.IP
+The reference count btree enables the sharing of physical extents between
+the data forks of different files, which is commonly known as "reflink".
+Unlike traditional Unix filesystems which assume that every inode and
+logical block pair map to a unique physical block, a reflink-capable
+XFS filesystem removes the uniqueness requirement, allowing up to four
+billion arbitrary inode/logical block pairs to map to a physical block.
+If a program tries to write to a multiply-referenced block in a file, the write
+will be redirected to a new block, and that file's logical-to-physical
+mapping will be changed to the new block ("copy on write"). This feature
+enables the creation of per-file snapshots and deduplication. It is only
+available for the data forks of regular files.
+.IP
+By default,
+.B mkfs.xfs
+will create reference count btrees and therefore will enable the
+reflink feature. This feature is only available for filesystems created with
+the (default)
+.B \-m crc=1
+option set. When the option
+.B \-m crc=0
+is used, the reference count btree feature is not supported and reflink is
+disabled.
+.RE
+.PP
+.PD 0
+.BI \-d " data_section_options"
+.TP
+.BI "Section Name: " [data]
+.PD
+These options specify the location, size, and other parameters of the
+data section of the filesystem. The valid
+.I data_section_options
+are:
+.RS 1.2i
+.TP
+.BI agcount= value
+This is used to specify the number of allocation groups. The data section
+of the filesystem is divided into allocation groups to improve the
+performance of XFS. More allocation groups imply that more parallelism
+can be achieved when allocating blocks and inodes. The minimum
+allocation group size is 16 MiB; the maximum size is just under 1 TiB.
+The data section of the filesystem is divided into
+.I value
+allocation groups (default value is scaled automatically based
+on the underlying device size).
+.TP
+.BI agsize= value
+This is an alternative to using the
+.B agcount
+suboption. The
+.I value
+is the desired size of the allocation group expressed in bytes
+(usually using the
+.BR m " or " g
+suffixes).
+This value must be a multiple of the filesystem block size, and
+must be at least 16MiB, and no more than 1TiB, and may
+be automatically adjusted to properly align with the stripe geometry.
+The
+.B agcount
+and
+.B agsize
+suboptions are mutually exclusive.
+.TP
+.BI cowextsize= value
+Set the copy-on-write extent size hint on all inodes created by
+.BR mkfs.xfs "."
+The value must be provided in units of filesystem blocks.
+If the value is zero, the default value (currently 32 blocks) will be used.
+Directories will pass on this hint to newly created regular files and
+directories.
+.TP
+.BI name= value
+This can be used to specify the name of the special file containing
+the filesystem. In this case, the log section must be specified as
+.B internal
+(with a size, see the
+.B \-l
+option below) and there can be no real-time section.
+.TP
+.BI file[= value ]
+This is used to specify that the file given by the
+.B name
+suboption is a regular file. The
+.I value
+is either 0 or 1, with 1 signifying that the file is regular. This
+suboption is used only to make a filesystem image. If the
+.I value
+is omitted then 1 is assumed.
+.TP
+.BI size= value
+This is used to specify the size of the data section. This suboption
+is required if
+.B \-d file[=1]
+is given. Otherwise, it is only needed if the filesystem should occupy
+less space than the size of the special file.
+
+The data section must be at least 300MB in size.
+.TP
+.BI sunit= value
+This is used to specify the stripe unit for a RAID device or a
+logical volume. The
+.I value
+has to be specified in 512-byte block units. Use the
+.B su
+suboption to specify the stripe unit size in bytes. This suboption
+ensures that data allocations will be stripe unit aligned when the
+current end of file is being extended and the file size is larger
+than 512KiB. Also inode allocations and the internal log will be
+stripe unit aligned.
+.TP
+.BI su= value
+This is an alternative to using
+.B sunit.
+The
+.B su
+suboption is used to specify the stripe unit for a RAID device or a
+striped logical volume. The
+.I value
+has to be specified in bytes, (usually using the
+.BR m " or " g
+suffixes). This
+.I value
+must be a multiple of the filesystem block size.
+.TP
+.BI swidth= value
+This is used to specify the stripe width for a RAID device or a
+striped logical volume. The
+.I value
+has to be specified in 512-byte block units. Use the
+.B sw
+suboption to specify the stripe width size in bytes.
+This suboption is required if
+.B \-d sunit
+has been specified and it has to be a multiple of the
+.B \-d sunit
+suboption.
+.TP
+.BI sw= value
+suboption is an alternative to using
+.B swidth.
+The
+.B sw
+suboption is used to specify the stripe width for a RAID device or
+striped logical volume. The
+.I value
+is expressed as a multiplier of the stripe unit,
+usually the same as the number of stripe members in the logical
+volume configuration, or data disks in a RAID device.
+.IP
+When a filesystem is created on a block device,
+.B mkfs.xfs
+will automatically query the block device for appropriate
+.B sunit
+and
+.B swidth
+values if the block device and the filesystem size would be larger than 1GB.
+.TP
+.BI noalign
+This option disables automatic geometry detection and creates the filesystem
+without stripe geometry alignment even if the underlying storage device provides
+this information.
+.TP
+.BI rtinherit= value
+If
+.I value
+is set to 1, all inodes created by
+.B mkfs.xfs
+will be created with the realtime flag set.
+The default is 0.
+Directories will pass on this flag to newly created regular files and
+directories.
+.TP
+.BI projinherit= value
+All inodes created by
+.B mkfs.xfs
+will be assigned the project quota id provided in
+.I value.
+Directories will pass on the project id to newly created regular files and
+directories.
+.TP
+.BI extszinherit= value
+All inodes created by
+.B mkfs.xfs
+will have this
+.I value
+extent size hint applied.
+The value must be provided in units of filesystem blocks.
+Directories will pass on this hint to newly created regular files and
+directories.
+.TP
+.BI daxinherit= value
+If
+.I value
+is set to 1, all inodes created by
+.B mkfs.xfs
+will be created with the DAX flag set.
+The default is 0.
+Directories will pass on this flag to newly created regular files and
+directories.
+By default,
+.B mkfs.xfs
+will not enable DAX mode.
+.RE
+.TP
+.B \-f
+Force overwrite when an existing filesystem is detected on the device.
+By default,
+.B mkfs.xfs
+will not write to the device if it suspects that there is a filesystem
+or partition table on the device already.
+.PP
+.PD 0
+.BI \-i " inode_options"
+.TP
+.BI "Section Name: " [inode]
+.PD
+This option specifies the inode size of the filesystem, and other
+inode allocation parameters.
+The XFS inode contains a fixed-size part and a variable-size part.
+The variable-size part, whose size is affected by this option, can contain:
+directory data, for small directories;
+attribute data, for small attribute sets;
+symbolic link data, for small symbolic links;
+the extent list for the file, for files with a small number of extents;
+and the root of a tree describing the location of extents for the file,
+for files with a large number of extents.
+.IP
+The valid
+.I inode_options
+are:
+.RS 1.2i
+.TP
+.BI size= value " | perblock=" value
+The inode size is specified either as a
+.I value
+in bytes with
+.BR size=
+or as the number fitting in a filesystem block with
+.BR perblock= .
+The minimum (and default)
+.I value
+is 256 bytes without crc, 512 bytes with crc enabled.
+The maximum
+.I value
+is 2048 (2 KiB) subject to the restriction that
+the inode size cannot exceed one half of the filesystem block size.
+.IP
+XFS uses 64-bit inode numbers internally; however, the number of
+significant bits in an inode number
+is affected by filesystem geometry. In
+practice, filesystem size and inode size are the predominant factors.
+The Linux kernel (on 32 bit hardware platforms) and most applications
+cannot currently handle inode numbers greater than 32 significant bits,
+so if no inode size is given on the command line,
+.B mkfs.xfs
+will attempt to choose a size
+such that inode numbers will be < 32 bits. If an inode size
+is specified, or if a filesystem is sufficiently large,
+.B mkfs.xfs
+will warn if this will create inode numbers > 32 significant
+bits.
+.TP
+.BI maxpct= value
+This specifies the maximum percentage of space in the filesystem that
+can be allocated to inodes. The default
+.I value
+is 25% for filesystems under 1TB, 5% for filesystems under 50TB and 1%
+for filesystems over 50TB.
+.IP
+Setting the value to 0 means that essentially all of the filesystem
+can become inode blocks (subject to possible
+.B inode32
+mount option restrictions, see
+.BR xfs (5)
+for details.)
+.IP
+This value can be modified with
+.BR xfs_growfs (8).
+.TP
+.BI align[= value ]
+This is used to specify that inode allocation is or is not aligned. The
+.I value
+is either 0 or 1, with 1 signifying that inodes are allocated aligned.
+If the
+.I value
+is omitted, 1 is assumed. The default is that inodes are aligned.
+Aligned inode access is normally more efficient than unaligned access;
+alignment must be established at the time the filesystem is created,
+since inodes are allocated at that time.
+This option can be used to turn off inode alignment when the
+filesystem needs to be mountable by a version of IRIX
+that does not have the inode alignment feature
+(any release of IRIX before 6.2, and IRIX 6.2 without XFS patches).
+.IP
+This option is only tunable on the deprecated V4 format.
+.TP
+.BI attr= value
+This is used to specify the version of extended attribute inline
+allocation policy to be used. By default, this is 2, which uses an
+efficient algorithm for managing the available inline inode space
+between attribute and extent data.
+.IP
+The previous version 1, which has fixed regions for attribute and
+extent data, is kept for backwards compatibility with kernels older
+than version 2.6.16.
+.IP
+This option is only tunable on the deprecated V4 format.
+.TP
+.BI projid32bit[= value ]
+This is used to enable 32bit quota project identifiers. The
+.I value
+is either 0 or 1, with 1 signifying that 32bit projid are to be enabled.
+If the value is omitted, 1 is assumed. (This default changed
+in release version 3.2.0.)
+.IP
+This option is only tunable on the deprecated V4 format.
+.TP
+.BI sparse[= value ]
+Enable sparse inode chunk allocation. The
+.I value
+is either 0 or 1, with 1 signifying that sparse allocation is enabled.
+If the value is omitted, 1 is assumed. Sparse inode allocation is
+enabled by default. This feature is only available for filesystems
+formatted with
+.B \-m crc=1.
+.IP
+When enabled, sparse inode allocation allows the filesystem to allocate
+smaller than the standard 64-inode chunk when free space is severely
+limited. This feature is useful for filesystems that might fragment free
+space over time such that no free extents are large enough to
+accommodate a chunk of 64 inodes. Without this feature enabled, inode
+allocations can fail with out of space errors under severe fragmented
+free space conditions.
+.TP
+.BI nrext64[= value]
+Extend maximum values of inode data and attr fork extent counters from 2^31 -
+1 and 2^15 - 1 to 2^48 - 1 and 2^32 - 1 respectively.
+If the value is omitted, 1 is assumed.
+This feature will be enabled when possible.
+This feature is only available for filesystems formatted with -m crc=1.
+.TP
+.RE
+.PP
+.PD 0
+.BI \-l " log_section_options"
+.TP
+.BI "Section Name: " [log]
+.PD
+These options specify the location, size, and other parameters of the
+log section of the filesystem. The valid
+.I log_section_options
+are:
+.RS 1.2i
+.TP
+.BI agnum= value
+If the log is internal, allocate it in this AG.
+.TP
+.BI internal[= value ]
+This is used to specify that the log section is a piece of the data
+section instead of being another device or logical volume. The
+.I value
+is either 0 or 1, with 1 signifying that the log is internal. If the
+.I value
+is omitted, 1 is assumed.
+.TP
+.BI logdev= device
+This is used to specify that the log section should reside on the
+.I device
+separate from the data section. The
+.B internal=1
+and
+.B logdev
+options are mutually exclusive.
+.TP
+.BI size= value
+This is used to specify the size of the log section.
+.IP
+If the log is contained within the data section and
+.B size
+isn't specified,
+.B mkfs.xfs
+will try to select a suitable log size depending
+on the size of the filesystem. The actual logsize depends on the
+filesystem block size and the directory block size.
+.IP
+Otherwise, the
+.B size
+suboption is only needed if the log section of the filesystem
+should occupy less space than the size of the special file. The
+.I value
+is specified in bytes or blocks, with a
+.B b
+suffix meaning multiplication by the filesystem block size, as
+described above. The overriding minimum value for size is 512 blocks.
+With some combinations of filesystem block size, inode size,
+and directory block size, the minimum log size is larger than 512 blocks.
+
+The log must be at least 64MB in size.
+The log cannot be more than 2GB in size.
+.TP
+.BI version= value
+This specifies the version of the log. The current default is 2,
+which allows for larger log buffer sizes, as well as supporting
+stripe-aligned log writes (see the sunit and su options, below).
+.IP
+The previous version 1, which is limited to 32k log buffers and does
+not support stripe-aligned writes, is kept for backwards compatibility
+with very old 2.4 kernels.
+.IP
+This option is only tunable on the deprecated V4 format.
+.TP
+.BI sunit= value
+This specifies the alignment to be used for log writes. The
+.I value
+has to be specified in 512-byte block units. Use the
+.B su
+suboption to specify the log stripe unit size in bytes.
+Log writes will be aligned on this boundary,
+and rounded up to this boundary.
+This gives major improvements in performance on some configurations
+such as software RAID5 when the
+.B sunit
+is specified as the filesystem block size.
+The equivalent byte value must be a multiple of the filesystem block
+size. Version 2 logs are automatically selected if the log
+.B sunit
+suboption is specified.
+.IP
+The
+.B su
+suboption is an alternative to using
+.B sunit.
+.TP
+.BI su= value
+This is used to specify the log stripe. The
+.I value
+has to be specified in bytes, (usually using the
+.BR s " or " b
+suffixes). This value must be a multiple of the filesystem block size.
+Version 2 logs are automatically selected if the log
+.B su
+suboption is specified.
+.TP
+.BI lazy-count= value
+This changes the method of logging various persistent counters
+in the superblock. Under metadata intensive workloads, these
+counters are updated and logged frequently enough that the superblock
+updates become a serialization point in the filesystem. The
+.I value
+can be either 0 or 1.
+.IP
+With
+.BR lazy-count=1 ,
+the superblock is not modified or logged on every change of the
+persistent counters. Instead, enough information is kept in
+other parts of the filesystem to be able to maintain the persistent
+counter values without needed to keep them in the superblock.
+This gives significant improvements in performance on some configurations.
+The default
+.I value
+is 1 (on) so you must specify
+.B lazy-count=0
+if you want to disable this feature for older kernels which don't support
+it.
+.IP
+This option is only tunable on the deprecated V4 format.
+.RE
+.PP
+.PD 0
+.BI \-n " naming_options"
+.TP
+.BI "Section Name: " [naming]
+.PD
+These options specify the version and size parameters for the naming
+(directory) area of the filesystem. The valid
+.I naming_options
+are:
+.RS 1.2i
+.TP
+.BI size= value
+The directory block size is specified with a
+.I value
+in bytes. The block size must be a power of 2 and cannot be less than the
+filesystem block size.
+The default size
+.I value
+for version 2 directories is 4096 bytes (4 KiB),
+unless the filesystem block size is larger than 4096,
+in which case the default
+.I value
+is the filesystem block size.
+For version 1 directories the block size is the same as the
+filesystem block size.
+.TP
+.BI version= value
+The naming (directory) version
+.I value
+can be either 2 or 'ci', defaulting to 2 if unspecified.
+With version 2 directories, the directory block size can be
+any power of 2 size from the filesystem block size up to 65536.
+.IP
+If the
+.B version=ci
+option is specified, the kernel will transform certain bytes in filenames
+before performing lookup-related operations.
+The byte sequence given to create a directory entry is persisted without
+alterations.
+The lookup transformations are defined as follows:
+
+ 0x41-0x5a -> 0x61-0x7a
+
+ 0xc0-0xd6 -> 0xe0-0xf6
+
+ 0xd8-0xde -> 0xf8-0xfe
+
+This transformation roughly corresponds to case insensitivity in ISO
+8859-1.
+The transformations are not compatible with other encodings (e.g. UTF8).
+Do not enable this feature unless your entire environment has been coerced
+to ISO 8859-1.
+This feature is deprecated and will be removed in September 2030.
+.IP
+Note: Version 1 directories are not supported.
+.TP
+.BI ftype= value
+This feature allows the inode type to be stored in the directory
+structure so that the
+.BR readdir (3)
+and
+.BR getdents (2)
+do not need to look up the inode to determine the inode type.
+
+The
+.I value
+is either 0 or 1, with 1 signifying that filetype information
+will be stored in the directory structure. The default value is 1.
+
+When CRCs are enabled (the default), the ftype functionality is always
+enabled, and cannot be turned off.
+.IP
+In other words, this option is only tunable on the deprecated V4 format.
+.RE
+.PP
+.PD 0
+.TP
+.BI \-p " protofile_options"
+.TP
+.BI "Section Name: " [proto]
+.PD
+These options specify the protofile parameters for populating the filesystem.
+The valid
+.I protofile_options
+are:
+.RS 1.2i
+.TP
+.BI [file=] protofile
+The
+.B file=
+prefix is not required for this CLI argument for legacy reasons.
+If specified as a config file directive, the prefix is required.
+
+If the optional
+.PD
+.I protofile
+argument is given,
+.B mkfs.xfs
+uses
+.I protofile
+as a prototype file and takes its directions from that file.
+The blocks and inodes specifiers in the
+.I protofile
+are provided for backwards compatibility, but are otherwise unused.
+The syntax of the protofile is defined by a number of tokens separated
+by spaces or newlines. Note that the line numbers are not part of the
+syntax but are meant to help you in the following discussion of the file
+contents.
+.nf
+.sp .8v
+.in +5
+\f71 /stand/\f1\f2diskboot\f1\f7
+2 4872 110
+3 d\-\-777 3 1
+4 usr d\-\-777 3 1
+5 sh \-\-\-755 3 1 /bin/sh
+6 ken d\-\-755 6 1
+7 $
+8 b0 b\-\-644 3 1 0 0
+9 c0 c\-\-644 3 1 0 0
+10 fifo p\-\-644 3 1
+11 slink l\-\-644 3 1 /a/symbolic/link
+12 : This is a comment line
+13 $
+14 $\f1
+.in -5
+.fi
+.IP
+Line 1 is a dummy string.
+(It was formerly the bootfilename.)
+It is present for backward
+compatibility; boot blocks are not used on SGI systems.
+.IP
+Note that some string of characters must be present as the first line of
+the proto file to cause it to be parsed correctly; the value
+of this string is immaterial since it is ignored.
+.IP
+Line 2 contains two numeric values (formerly the numbers of blocks and inodes).
+These are also merely for backward compatibility: two numeric values must
+appear at this point for the proto file to be correctly parsed,
+but their values are immaterial since they are ignored.
+.IP
+The lines 3 through 11 specify the files and directories you want to
+include in this filesystem. Line 3 defines the
+root directory. Other directories and
+files that you want in the filesystem
+are indicated by lines 4 through 6 and
+lines 8 through 10. Line 11 contains
+symbolic link syntax.
+.IP
+Notice the dollar sign
+.RB ( $ )
+syntax on line 7. This syntax directs the
+.B mkfs.xfs
+command to terminate the branch of the filesystem it
+is currently on and then continue
+from the directory specified by
+the next line, in this case line 8.
+It must be the last character
+on a line.
+The colon
+on line 12 introduces a comment; all characters up until the
+following newline are ignored.
+Note that this means you cannot
+have a file in a prototype file whose name contains a colon.
+The
+.B $
+on lines 13 and 14 end the process, since no additional
+specifications follow.
+.IP
+File specifications provide the following:
+.IP
+ * file mode
+.br
+ * user ID
+.br
+ * group ID
+.br
+ * the file's beginning contents
+.P
+.IP
+A 6-character string defines the mode for
+a file. The first character of this string
+defines the file type. The character range
+for this first character is
+.B \-bcdpl.
+A file may be a regular file, a block special file,
+a character special file, directory files, named
+pipes (first-in, first out files), and symbolic
+links.
+The second character of the mode string is
+used to specify setuserID mode, in which case
+it is
+.BR u .
+If setuserID mode is not specified, the second character is
+.BR \- .
+The third character of the mode string is
+used to specify the setgroupID mode, in which
+case it is
+.BR g .
+If setgroupID mode is not specified, the third character is
+.BR \- .
+The remaining characters of the mode string are
+a three digit octal number. This octal number
+defines the owner, group, and other read, write,
+and execute permissions for the file, respectively.
+For more information on file permissions, see the
+.BR chmod (1)
+command.
+.IP
+Following the mode character string are two
+decimal number tokens that specify the user and group IDs
+of the file's owner.
+.IP
+In a regular file, the next token specifies the
+pathname from which the contents and size of the
+file are copied.
+In a block or character special file, the next token
+are two decimal numbers that specify the major and minor
+device numbers.
+When a file is a symbolic link, the next token
+specifies the contents of the link.
+
+When the file is a directory, the
+.B mkfs.xfs
+command creates the entries
+.B dot
+(.) and
+.B dot-dot
+(..) and then reads the list of names and file specifications
+in a recursive manner for all of the entries
+in the directory. A scan of the protofile is
+always terminated with the dollar (
+.B $
+) token.
+.TP
+.BI slashes_are_spaces= value
+If set to 1, slashes ("/") in the first token of each line of the protofile
+are converted to spaces.
+This enables the creation of a filesystem containing filenames with spaces.
+By default, this is set to 0.
+.RE
+.TP
+.B \-q
+Quiet option. Normally
+.B mkfs.xfs
+prints the parameters of the filesystem
+to be constructed;
+the
+.B \-q
+flag suppresses this.
+.PP
+.PD 0
+.BI \-r " realtime_section_options"
+.TP
+.BI "Section Name: " [realtime]
+.PD
+These options specify the location, size, and other parameters of the
+real-time section of the filesystem. The valid
+.I realtime_section_options
+are:
+.RS 1.2i
+.TP
+.BI rtdev= device
+This is used to specify the
+.I device
+which should contain the real-time section of the filesystem.
+The suboption value is the name of a block device.
+.TP
+.BI extsize= value
+This is used to specify the size of the blocks in the real-time
+section of the filesystem. This
+.I value
+must be a multiple of the filesystem block size. The minimum allowed
+size is the filesystem block size or 4 KiB (whichever is larger); the
+default size is the stripe width for striped volumes or 64 KiB for
+non-striped volumes; the maximum allowed size is 1 GiB. The real-time
+extent size should be carefully chosen to match the parameters of the
+physical media used.
+.TP
+.BI size= value
+This is used to specify the size of the real-time section.
+This suboption is only needed if the real-time section of the
+filesystem should occupy less space than the size of the partition
+or logical volume containing the section.
+.TP
+.BI noalign
+This option disables stripe size detection, enforcing a realtime device with no
+stripe geometry.
+.RE
+.PP
+.PD 0
+.BI \-s " sector_size_options"
+.TP
+.BI "Section Name: " [sector]
+.PD
+This option specifies the fundamental sector size of the filesystem.
+The valid
+.I sector_size_option
+is:
+.RS 1.2i
+.TP
+.BI size= value
+The sector size is specified with a
+.I value
+in bytes. The default
+.I sector_size
+is 512 bytes. The minimum value for sector size is
+512; the maximum is 32768 (32 KiB). The
+.I sector_size
+must be a power of 2 size and cannot be made larger than the
+filesystem block size.
+.RE
+.TP
+.BI \-L " label"
+Set the filesystem
+.IR label .
+XFS filesystem labels can be at most 12 characters long; if
+.I label
+is longer than 12 characters,
+.B mkfs.xfs
+will not proceed with creating the filesystem. Refer to the
+.BR mount "(8) and " xfs_admin (8)
+manual entries for additional information.
+.TP
+.B \-N
+Causes the file system parameters to be printed out without really
+creating the file system.
+.TP
+.B \-K
+Do not attempt to discard blocks at mkfs time.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH Configuration File Format
+The configuration file uses a basic INI format to specify sections and options
+within a section.
+Section and option names are case sensitive.
+Section names must not contain whitespace.
+Options are name-value pairs, ended by the first whitespace in the line.
+Option names cannot contain whitespace.
+Full line comments can be added by starting a line with a # symbol.
+If values contain whitespace, then it must be quoted.
+.PP
+The following example configuration file sets the block size to 4096 bytes,
+turns on reverse mapping btrees and sets the inode size to 2048 bytes.
+.PP
+.PD 0
+# Example mkfs.xfs configuration file
+.HP
+.HP
+[block]
+.HP
+size=4k
+.HP
+.HP
+[metadata]
+.HP
+rmapbt=1
+.HP
+.HP
+[inode]
+.HP
+size=2048
+.HP
+.PD
+.PP
+.SH SEE ALSO
+.BR xfs (5),
+.BR mkfs (8),
+.BR mount (8),
+.BR xfs_info (8),
+.BR xfs_admin (8).
+.SH BUGS
+With a prototype file, it is not possible to specify hard links.
diff --git a/upstream/fedora-40/man8/mklost+found.8 b/upstream/fedora-40/man8/mklost+found.8
new file mode 100644
index 00000000..54e39f90
--- /dev/null
+++ b/upstream/fedora-40/man8/mklost+found.8
@@ -0,0 +1,43 @@
+.\" -*- nroff -*-
+.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
+.\" This file may be copied under the terms of the GNU Public License.
+.\"
+.TH MKLOST+FOUND 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+mklost+found \- create a lost+found directory on a mounted Linux
+second extended file system
+.SH SYNOPSIS
+.B mklost+found
+.SH DESCRIPTION
+.B mklost+found
+is used to create a
+.I lost+found
+directory in the current working directory on a Linux second extended
+file system. There is normally a
+.I lost+found
+directory in the root directory of each file system.
+.PP
+.B mklost+found
+pre-allocates disk blocks to the
+.I lost+found
+directory so that when
+.BR e2fsck (8)
+is being run to recover a file system, it does not need to allocate blocks in
+the file system to store a large number of unlinked files. This ensures that
+.B e2fsck
+will not have to allocate data blocks in the file system during recovery.
+.SH OPTIONS
+There are none.
+.SH AUTHOR
+.B mklost+found
+has been written by Remy Card <Remy.Card@linux.org>. It is currently being
+maintained by Theodore Ts'o <tytso@alum.mit.edu>.
+.SH BUGS
+There are none :-)
+.SH AVAILABILITY
+.B mklost+found
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR e2fsck (8),
+.BR mke2fs (8)
diff --git a/upstream/fedora-40/man8/modinfo.8 b/upstream/fedora-40/man8/modinfo.8
new file mode 100644
index 00000000..6c1fad93
--- /dev/null
+++ b/upstream/fedora-40/man8/modinfo.8
@@ -0,0 +1,129 @@
+'\" t
+.\" Title: modinfo
+.\" Author: Jon Masters <jcm@jonmasters.org>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: modinfo
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "MODINFO" "8" "02/09/2023" "kmod" "modinfo"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+modinfo \- Show information about a Linux Kernel module
+.SH "SYNOPSIS"
+.HP \w'\fBmodinfo\fR\ 'u
+\fBmodinfo\fR [\fB\-0\fR] [\fB\-F\ \fR\fB\fIfield\fR\fR] [\fB\-k\ \fR\fB\fIkernel\fR\fR] [modulename|filename...]
+.HP \w'\fBmodinfo\ \-V\fR\ 'u
+\fBmodinfo \-V\fR
+.HP \w'\fBmodinfo\ \-h\fR\ 'u
+\fBmodinfo \-h\fR
+.SH "DESCRIPTION"
+.PP
+\fBmodinfo\fR
+extracts information from the Linux Kernel modules given on the command line\&. If the module name is not a filename, then the
+/lib/modules/\fIversion\fR
+directory is searched, as is also done by
+\fBmodprobe\fR(8)
+when loading kernel modules\&.
+.PP
+\fBmodinfo\fR
+by default lists each attribute of the module in form
+\fIfieldname\fR
+:
+\fIvalue\fR, for easy reading\&. The filename is listed the same way (although it\*(Aqs not really an attribute)\&.
+.PP
+This version of
+\fBmodinfo\fR
+can understand modules of any Linux Kernel architecture\&.
+.SH "OPTIONS"
+.PP
+\fB\-V\fR, \fB\-\-version\fR
+.RS 4
+Print the modinfo version\&.
+.RE
+.PP
+\fB\-F\fR, \fB\-\-field\fR
+.RS 4
+Only print this field value, one per line\&. This is most useful for scripts\&. Field names are case\-insensitive\&. Common fields (which may not be in every module) include
+author,
+description,
+license,
+parm,
+depends, and
+alias\&. There are often multiple
+parm,
+alias
+and
+depends
+fields\&. The special field
+filename
+lists the filename of the module\&.
+.RE
+.PP
+\fB\-b \fR\fB\fIbasedir\fR\fR, \fB\-\-basedir \fR\fB\fIbasedir\fR\fR
+.RS 4
+Root directory for modules,
+/
+by default\&.
+.RE
+.PP
+\fB\-k \fR\fB\fIkernel\fR\fR
+.RS 4
+Provide information about a kernel other than the running one\&. This is particularly useful for distributions needing to extract information from a newly installed (but not yet running) set of kernel modules\&. For example, you wish to find which firmware files are needed by various modules in a new kernel for which you must make an initrd/initramfs image prior to booting\&.
+.RE
+.PP
+\fB\-0\fR, \fB\-\-null\fR
+.RS 4
+Use the ASCII zero character to separate field values, instead of a new line\&. This is useful for scripts, since a new line can theoretically appear inside a field\&.
+.RE
+.PP
+\fB\-a\fR \fB\-\-author\fR, \fB\-d\fR \fB\-\-description\fR, \fB\-l\fR \fB\-\-license\fR, \fB\-p\fR \fB\-\-parameters\fR, \fB\-n\fR \fB\-\-filename\fR
+.RS 4
+These are shortcuts for the
+\fB\-\-field\fR
+flag\*(Aqs
+author,
+description,
+license,
+parm
+and
+filename
+arguments, to ease the transition from the old modutils
+\fBmodinfo\fR\&.
+.RE
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2003, Rusty Russell, IBM Corporation\&. Maintained by Jon Masters and others\&.
+.SH "SEE ALSO"
+.PP
+\fBmodprobe\fR(8)
+.SH "AUTHORS"
+.PP
+\fBJon Masters\fR <\&jcm@jonmasters\&.org\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/modprobe.8 b/upstream/fedora-40/man8/modprobe.8
new file mode 100644
index 00000000..b700b9d5
--- /dev/null
+++ b/upstream/fedora-40/man8/modprobe.8
@@ -0,0 +1,297 @@
+'\" t
+.\" Title: modprobe
+.\" Author: Jon Masters <jcm@jonmasters.org>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: modprobe
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "MODPROBE" "8" "02/09/2023" "kmod" "modprobe"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+modprobe \- Add and remove modules from the Linux Kernel
+.SH "SYNOPSIS"
+.HP \w'\fBmodprobe\fR\ 'u
+\fBmodprobe\fR [\fB\-v\fR] [\fB\-V\fR] [\fB\-C\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-n\fR] [\fB\-i\fR] [\fB\-q\fR] [\fB\-b\fR] [\fImodulename\fR] [\fB\fImodule\ parameters\fR\fR...]
+.HP \w'\fBmodprobe\fR\ 'u
+\fBmodprobe\fR [\-r] [\fB\-v\fR] [\fB\-n\fR] [\fB\-i\fR] [\fB\fImodulename\fR\fR...]
+.HP \w'\fBmodprobe\fR\ 'u
+\fBmodprobe\fR [\-c]
+.HP \w'\fBmodprobe\fR\ 'u
+\fBmodprobe\fR [\-\-dump\-modversions] [\fIfilename\fR]
+.SH "DESCRIPTION"
+.PP
+\fBmodprobe\fR
+intelligently adds or removes a module from the Linux kernel: note that for convenience, there is no difference between _ and \- in module names (automatic underscore conversion is performed)\&.
+\fBmodprobe\fR
+looks in the module directory
+/lib/modules/`uname \-r`
+for all the modules and other files, except for the optional configuration files in the
+/etc/modprobe\&.d
+directory (see
+\fBmodprobe.d\fR(5))\&.
+\fBmodprobe\fR
+will also use module options specified on the kernel command line in the form of <module>\&.<option> and blacklists in the form of modprobe\&.blacklist=<module>\&.
+.PP
+Note that unlike in 2\&.4 series Linux kernels (which are not supported by this tool) this version of
+\fBmodprobe\fR
+does not do anything to the module itself: the work of resolving symbols and understanding parameters is done inside the kernel\&. So module failure is sometimes accompanied by a kernel message: see
+\fBdmesg\fR(8)\&.
+.PP
+\fBmodprobe\fR
+expects an up\-to\-date
+modules\&.dep\&.bin
+file as generated by the corresponding
+\fBdepmod\fR
+utility shipped along with
+\fBmodprobe\fR
+(see
+\fBdepmod\fR(8))\&. This file lists what other modules each module needs (if any), and
+\fBmodprobe\fR
+uses this to add or remove these dependencies automatically\&.
+.PP
+If any arguments are given after the
+\fImodulename\fR, they are passed to the kernel (in addition to any options listed in the configuration file)\&.
+.PP
+When loading modules,
+\fImodulename\fR
+can also be a path to the module\&. If the path is relative, it must explicitly start with "\&./"\&. Note that this may fail when using a path to a module with dependencies not matching the installed depmod database\&.
+.SH "OPTIONS"
+.PP
+\fB\-a\fR, \fB\-\-all\fR
+.RS 4
+Insert all module names on the command line\&.
+.RE
+.PP
+\fB\-b\fR, \fB\-\-use\-blacklist\fR
+.RS 4
+This option causes
+\fBmodprobe\fR
+to apply the
+\fBblacklist\fR
+commands in the configuration files (if any) to module names as well\&. It is usually used by
+\fBudev\fR(7)\&.
+.RE
+.PP
+\fB\-C\fR, \fB\-\-config\fR
+.RS 4
+This option overrides the default configuration directory (/etc/modprobe\&.d)\&.
+.sp
+This option is passed through
+\fBinstall\fR
+or
+\fBremove\fR
+commands to other
+\fBmodprobe\fR
+commands in the MODPROBE_OPTIONS environment variable\&.
+.RE
+.PP
+\fB\-c\fR, \fB\-\-showconfig\fR
+.RS 4
+Dump out the effective configuration from the config directory and exit\&.
+.RE
+.PP
+\fB\-\-dump\-modversions\fR
+.RS 4
+Print out a list of module versioning information required by a module\&. This option is commonly used by distributions in order to package up a Linux kernel module using module versioning deps\&.
+.RE
+.PP
+\fB\-d\fR, \fB\-\-dirname\fR
+.RS 4
+Root directory for modules,
+/
+by default\&.
+.RE
+.PP
+\fB\-\-first\-time\fR
+.RS 4
+Normally,
+\fBmodprobe\fR
+will succeed (and do nothing) if told to insert a module which is already present or to remove a module which isn\*(Aqt present\&. This is ideal for simple scripts; however, more complicated scripts often want to know whether
+\fBmodprobe\fR
+really did something: this option makes modprobe fail in the case that it actually didn\*(Aqt do anything\&.
+.RE
+.PP
+\fB\-\-force\-vermagic\fR
+.RS 4
+Every module contains a small string containing important information, such as the kernel and compiler versions\&. If a module fails to load and the kernel complains that the "version magic" doesn\*(Aqt match, you can use this option to remove it\&. Naturally, this check is there for your protection, so using this option is dangerous unless you know what you\*(Aqre doing\&.
+.sp
+This applies to any modules inserted: both the module (or alias) on the command line and any modules on which it depends\&.
+.RE
+.PP
+\fB\-\-force\-modversion\fR
+.RS 4
+When modules are compiled with CONFIG_MODVERSIONS set, a section detailing the versions of every interfaced used by (or supplied by) the module is created\&. If a module fails to load and the kernel complains that the module disagrees about a version of some interface, you can use "\-\-force\-modversion" to remove the version information altogether\&. Naturally, this check is there for your protection, so using this option is dangerous unless you know what you\*(Aqre doing\&.
+.sp
+This applies any modules inserted: both the module (or alias) on the command line and any modules on which it depends\&.
+.RE
+.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+Try to strip any versioning information from the module which might otherwise stop it from loading: this is the same as using both
+\fB\-\-force\-vermagic\fR
+and
+\fB\-\-force\-modversion\fR\&. Naturally, these checks are there for your protection, so using this option is dangerous unless you know what you are doing\&.
+.sp
+This applies to any modules inserted: both the module (or alias) on the command line and any modules it on which it depends\&.
+.RE
+.PP
+\fB\-i\fR, \fB\-\-ignore\-install\fR, \fB\-\-ignore\-remove\fR
+.RS 4
+This option causes
+\fBmodprobe\fR
+to ignore
+\fBinstall\fR
+and
+\fBremove\fR
+commands in the configuration file (if any) for the module specified on the command line (any dependent modules are still subject to commands set for them in the configuration file)\&. Both
+\fBinstall\fR
+and
+\fBremove\fR
+commands will currently be ignored when this option is used regardless of whether the request was more specifically made with only one or other (and not both) of
+\fB\-\-ignore\-install\fR
+or
+\fB\-\-ignore\-remove\fR\&. See
+\fBmodprobe.d\fR(5)\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-dry\-run\fR, \fB\-\-show\fR
+.RS 4
+This option does everything but actually insert or delete the modules (or run the install or remove commands)\&. Combined with
+\fB\-v\fR, it is useful for debugging problems\&. For historical reasons both
+\fB\-\-dry\-run\fR
+and
+\fB\-\-show\fR
+actually mean the same thing and are interchangeable\&.
+.RE
+.PP
+\fB\-q\fR, \fB\-\-quiet\fR
+.RS 4
+With this flag,
+\fBmodprobe\fR
+won\*(Aqt print an error message if you try to remove or insert a module it can\*(Aqt find (and isn\*(Aqt an alias or
+\fBinstall\fR/\fBremove\fR
+command)\&. However, it will still return with a non\-zero exit status\&. The kernel uses this to opportunistically probe for modules which might exist using request_module\&.
+.RE
+.PP
+\fB\-R\fR, \fB\-\-resolve\-alias\fR
+.RS 4
+Print all module names matching an alias\&. This can be useful for debugging module alias problems\&.
+.RE
+.PP
+\fB\-r\fR, \fB\-\-remove\fR
+.RS 4
+This option causes
+\fBmodprobe\fR
+to remove rather than insert a module\&. If the modules it depends on are also unused,
+\fBmodprobe\fR
+will try to remove them too\&. Unlike insertion, more than one module can be specified on the command line (it does not make sense to specify module parameters when removing modules)\&.
+.sp
+There is usually no reason to remove modules, but some buggy modules require it\&. Your distribution kernel may not have been built to support removal of modules at all\&.
+.RE
+.PP
+\fB\-w\fR, \fB\-\-wait=\fRTIMEOUT_MSEC
+.RS 4
+This option causes
+\fBmodprobe \-r\fR
+to continue trying to remove a module if it fails due to the module being busy, i\&.e\&. its refcount is not 0 at the time the call is made\&. Modprobe tries to remove the module with an incremental sleep time between each tentative up until the maximum wait time in milliseconds passed in this option\&.
+.RE
+.PP
+\fB\-S\fR, \fB\-\-set\-version\fR
+.RS 4
+Set the kernel version, rather than using
+\fBuname\fR(2)
+to decide on the kernel version (which dictates where to find the modules)\&.
+.RE
+.PP
+\fB\-\-show\-depends\fR
+.RS 4
+List the dependencies of a module (or alias), including the module itself\&. This produces a (possibly empty) set of module filenames, one per line, each starting with "insmod" and is typically used by distributions to determine which modules to include when generating initrd/initramfs images\&.
+\fBInstall\fR
+commands which apply are shown prefixed by "install"\&. It does not run any of the install commands\&. Note that
+\fBmodinfo\fR(8)
+can be used to extract dependencies of a module from the module itself, but knows nothing of aliases or install commands\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-syslog\fR
+.RS 4
+This option causes any error messages to go through the syslog mechanism (as LOG_DAEMON with level LOG_NOTICE) rather than to standard error\&. This is also automatically enabled when stderr is unavailable\&.
+.sp
+This option is passed through
+\fBinstall\fR
+or
+\fBremove\fR
+commands to other
+\fBmodprobe\fR
+commands in the MODPROBE_OPTIONS environment variable\&.
+.RE
+.PP
+\fB\-V\fR, \fB\-\-version\fR
+.RS 4
+Show version of program and exit\&.
+.RE
+.PP
+\fB\-v\fR, \fB\-\-verbose\fR
+.RS 4
+Print messages about what the program is doing\&. Usually
+\fBmodprobe\fR
+only prints messages if something goes wrong\&.
+.sp
+This option is passed through
+\fBinstall\fR
+or
+\fBremove\fR
+commands to other
+\fBmodprobe\fR
+commands in the MODPROBE_OPTIONS environment variable\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+The MODPROBE_OPTIONS environment variable can also be used to pass arguments to
+\fBmodprobe\fR\&.
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2002, Rusty Russell, IBM Corporation\&. Maintained by Jon Masters and others\&.
+.SH "SEE ALSO"
+.PP
+\fBmodprobe.d\fR(5),
+\fBinsmod\fR(8),
+\fBrmmod\fR(8),
+\fBlsmod\fR(8),
+\fBmodinfo\fR(8)
+\fBdepmod\fR(8)
+.SH "AUTHORS"
+.PP
+\fBJon Masters\fR <\&jcm@jonmasters\&.org\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBRobby Workman\fR <\&rworkman@slackware\&.com\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/mount.nfs.8 b/upstream/fedora-40/man8/mount.nfs.8
new file mode 100644
index 00000000..a78a3b0d
--- /dev/null
+++ b/upstream/fedora-40/man8/mount.nfs.8
@@ -0,0 +1,93 @@
+.\"@(#)mount.nfs.8"
+.TH MOUNT.NFS 8 "5 Jun 2006"
+.SH NAME
+mount.nfs, mount.nfs4 \- mount a Network File System
+.SH SYNOPSIS
+.BI "mount.nfs" " remotetarget dir" " [\-rvVwfnsh ] [\-o " options "]
+.SH DESCRIPTION
+.BR mount.nfs
+is a part of
+.BR nfs (5)
+utilities package, which provides NFS client functionality.
+
+.BR mount.nfs
+is meant to be used by the
+.BR mount (8)
+command for mounting NFS shares. This subcommand, however, can also be used as a standalone command with limited functionality.
+
+.I remotetarget
+is a server share usually in the form of
+.BR servername:/path/to/share.
+.I dir
+is the directory on which the file system is to be mounted.
+
+Under Linux 2.6.32 and later kernel versions,
+.BR mount.nfs
+can mount all NFS file system versions. Under earlier Linux kernel versions,
+.BR mount.nfs4
+must be used for mounting NFSv4 file systems while
+.BR mount.nfs
+must be used for NFSv3.
+
+.SH OPTIONS
+.TP
+.BI "\-r"
+Mount file system readonly.
+.TP
+.BI "\-v"
+Be verbose.
+.TP
+.BI "\-V"
+Print version.
+.TP
+.BI "\-w"
+Mount file system read-write.
+.TP
+.BI "\-f"
+Fake mount. Don't actually call the mount system call.
+.TP
+.BI "\-n"
+Do not update
+.I /etc/mtab.
+By default, an entry is created in
+.I /etc/mtab
+for every mounted file system. Use this option to skip making an entry.
+.TP
+.BI "\-s"
+Tolerate sloppy mount options rather than fail.
+.TP
+.BI "\-h"
+Print help message.
+.TP
+.BI "nfsoptions"
+Refer to
+.BR nfs (5)
+or
+.BR mount (8)
+manual pages.
+
+.SH NOTE
+For further information please refer
+.BR nfs (5)
+and
+.BR mount (8)
+manual pages.
+
+.SH FILES
+.TP 18n
+.I /etc/fstab
+file system table
+.TP
+.I /etc/mtab
+table of mounted file systems
+.TP
+.I /etc/nfsmount.conf
+Configuration file for NFS mounts
+.PD
+.SH "SEE ALSO"
+.BR nfs (5),
+.BR nfsmount.conf (5),
+.BR mount (8),
+
+.SH "AUTHOR"
+Amit Gud <agud@redhat.com>
diff --git a/upstream/fedora-40/man8/mountd.8 b/upstream/fedora-40/man8/mountd.8
new file mode 100644
index 00000000..c85c5d61
--- /dev/null
+++ b/upstream/fedora-40/man8/mountd.8
@@ -0,0 +1,332 @@
+.\"@(#)rpc.mountd.8"
+.\"
+.\" Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de>
+.\" Modified by Paul Clements, 2004.
+.\"
+.TH rpc.mountd 8 "31 Dec 2009"
+.SH NAME
+rpc.mountd \- NFS mount daemon
+.SH SYNOPSIS
+.BI "/usr/sbin/rpc.mountd [" options "]"
+.SH DESCRIPTION
+The
+.B rpc.mountd
+daemon implements the server side of the NFS MOUNT protocol,
+an NFS side protocol used by NFS version 2 [RFC1094] and NFS version 3 [RFC1813].
+It also responds to requests from the Linux kernel to authenticate
+clients and provides details of access permissions.
+.PP
+The NFS server
+.RI ( nfsd )
+maintains a cache of authentication and authorization information which
+is used to identify the source of each request, and then what access
+permissions that source has to any local filesystem. When required
+information is not found in the cache, the server sends a request to
+.B mountd
+to fill in the missing information. Mountd uses a table of information
+stored in
+.B /var/lib/nfs/etab
+and maintained by
+.BR exportfs (8),
+possibly based on the contents of
+.BR exports (5),
+to respond to each request.
+.SS Mounting exported NFS File Systems
+The NFS MOUNT protocol has several procedures.
+The most important of these are
+MNT (mount an export) and
+UMNT (unmount an export).
+.PP
+A MNT request has two arguments: an explicit argument that
+contains the pathname of the root directory of the export to be mounted,
+and an implicit argument that is the sender's IP address.
+.PP
+When receiving a MNT request from an NFS client,
+.B rpc.mountd
+checks both the pathname and the sender's IP address against its export table.
+If the sender is permitted to access the requested export,
+.B rpc.mountd
+returns an NFS file handle for the export's root directory to the client.
+The client can then use the root file handle and NFS LOOKUP requests
+to navigate the directory structure of the export.
+.SS The rmtab File
+The
+.B rpc.mountd
+daemon registers every successful MNT request by adding an entry to the
+.I /var/lib/nfs/rmtab
+file.
+When receivng a UMNT request from an NFS client,
+.B rpc.mountd
+simply removes the matching entry from
+.IR /var/lib/nfs/rmtab ,
+as long as the access control list for that export allows that sender
+to access the export.
+.PP
+Clients can discover the list of file systems an NFS server is
+currently exporting, or the list of other clients that have mounted
+its exports, by using the
+.BR showmount (8)
+command.
+.BR showmount (8)
+uses other procedures in the NFS MOUNT protocol to report information
+about the server's exported file systems.
+.PP
+Note, however, that there is little to guarantee that the contents of
+.I /var/lib/nfs/rmtab
+are accurate.
+A client may continue accessing an export even after invoking UMNT.
+If the client reboots without sending a UMNT request, stale entries
+remain for that client in
+.IR /var/lib/nfs/rmtab .
+.SS Mounting File Systems with NFSv4
+Version 4 (and later) of NFS does not use a separate NFS MOUNT
+protocol. Instead mounting is performed using regular NFS requests
+handled by the NFS server in the Linux kernel
+.RI ( nfsd ).
+Consequently
+.I /var/lib/nfs/rmtab
+is not updated to reflect any NFSv4 activity.
+.SH OPTIONS
+.TP
+.B \-d kind " or " \-\-debug kind
+Turn on debugging. Valid kinds are: all, auth, call, general and parse.
+.TP
+.BR \-l " or " \-\-log\-auth
+Enable logging of responses to authentication and access requests from
+nfsd. Each response is then cached by the kernel for 30 minutes (or as set by
+.B \-\-ttl
+below), and will be refreshed after 15 minutes (half the ttl time) if
+the relevant client remains active.
+Note that
+.B -l
+is equivalent to
+.B "-d auth"
+and so can be enabled in
+.B /etc/nfs.conf
+with
+.B "\[dq]debug = auth\[dq]"
+in the
+.B "[mountd]"
+section.
+.IP
+.B rpc.mountd
+will always log authentication responses to MOUNT requests when NFSv3 is
+used, but to get similar logs for NFSv4, this option is required.
+.TP
+.BR \-i " or " \-\-cache\-use\-ipaddr
+Normally each client IP address is matched against each host identifier
+(name, wildcard, netgroup etc) found in
+.B /etc/exports
+and a combined identity is formed from all matching identifiers.
+Often many clients will map to the same combined identity so performing
+this mapping reduces the number of distinct access details that the
+kernel needs to store.
+Specifying the
+.B \-i
+option suppresses this mapping so that access to each filesystem is
+requested and cached separately for each client IP address. Doing this
+can increase the burden of updating the cache slightly, but can make the
+log messages produced by the
+.B -l
+option easier to read.
+.TP
+.B \-T " or " \-\-ttl
+Provide a time-to-live (TTL) for cached information given to the kernel.
+The kernel will normally request an update if the information is needed
+after half of this time has expired. Increasing the provided number,
+which is in seconds, reduces the rate of cache update requests, and this
+is particularly noticeable when these requests are logged with
+.BR \-l .
+However increasing also means that changes to hostname to address
+mappings can take longer to be noticed.
+The default TTL is 1800 (30 minutes).
+.TP
+.B \-F " or " \-\-foreground
+Run in foreground (do not daemonize)
+.TP
+.B \-h " or " \-\-help
+Display usage message.
+.TP
+.B \-o num " or " \-\-descriptors num
+Set the limit of the number of open file descriptors to num. The
+default is to leave the limit unchanged.
+.TP
+.B \-N mountd-version " or " \-\-no-nfs-version mountd-version
+This option can be used to request that
+.B rpc.mountd
+do not offer certain versions of NFS. The current version of
+.B rpc.mountd
+can support both NFS version 2, 3 and 4. If the
+either one of these version should not be offered,
+.B rpc.mountd
+must be invoked with the option
+.B "\-\-no-nfs-version <vers>" .
+.TP
+.B \-n " or " \-\-no-tcp
+Don't advertise TCP for mount.
+.TP
+.B \-p num " or " \-P num " or " \-\-port num
+Specifies the port number used for RPC listener sockets.
+If this option is not specified,
+.B rpc.mountd
+will try to consult
+.IR /etc/services ,
+if gets port succeed, set the same port for all listener socket,
+otherwise chooses a random ephemeral port for each listener socket.
+.IP
+This option can be used to fix the port value of
+.BR rpc.mountd 's
+listeners when NFS MOUNT requests must traverse a firewall
+between clients and servers.
+.TP
+.B \-H " prog or " \-\-ha-callout prog
+Specify a high availability callout program.
+This program receives callouts for all MOUNT and UNMOUNT requests.
+This allows
+.B rpc.mountd
+to be used in a High Availability NFS (HA-NFS) environment.
+.IP
+The callout program is run with 4 arguments.
+The first is
+.B mount
+or
+.B unmount
+depending on the reason for the callout.
+The second will be the name of the client performing the mount.
+The third will be the path that the client is mounting.
+The last is the number of concurrent mounts that we believe the client
+has of that path.
+.IP
+This callout is not needed with 2.6 and later kernels.
+Instead, mount the nfsd filesystem on
+.IR /proc/fs/nfsd .
+.TP
+.BI "\-s," "" " \-\-state\-directory\-path " directory
+Specify a directory in which to place state information (etab and rmtab).
+If this option is not specified the default of
+.I /var/lib/nfs
+is used.
+.TP
+.BI "\-r," "" " \-\-reverse\-lookup"
+.B rpc.mountd
+tracks IP addresses in the
+.I rmtab
+file. When a DUMP request is made (by
+someone running
+.BR "showmount -a" ,
+for instance), it returns IP addresses instead
+of hostnames by default. This option causes
+.B rpc.mountd
+to perform a reverse lookup on each IP address and return that hostname instead.
+Enabling this can have a substantial negative effect on performance
+in some situations.
+.TP
+.BR "\-t N" " or " "\-\-num\-threads=N " or " \-\-num\-threads N "
+This option specifies the number of worker threads that rpc.mountd
+spawns. The default is 1 thread, which is probably enough. More
+threads are usually only needed for NFS servers which need to handle
+mount storms of hundreds of NFS mounts in a few seconds, or when
+your DNS server is slow or unreliable.
+.TP
+.B \-u " or " \-\-no-udp
+Don't advertise UDP for mounting
+.TP
+.B \-V version " or " \-\-nfs-version version
+This option can be used to request that
+.B rpc.mountd
+offer certain versions of NFS. The current version of
+.B rpc.mountd
+can support both NFS version 2 and the newer version 3.
+.TP
+.B \-v " or " \-\-version
+Print the version of
+.B rpc.mountd
+and exit.
+.TP
+.B \-g " or " \-\-manage-gids
+Accept requests from the kernel to map user id numbers into lists of
+group id numbers for use in access control. An NFS request will
+normally (except when using Kerberos or other cryptographic
+authentication) contains a user-id and a list of group-ids. Due to a
+limitation in the NFS protocol, at most 16 groups ids can be listed.
+If you use the
+.B \-g
+flag, then the list of group ids received from the client will be
+replaced by a list of group ids determined by an appropriate lookup on
+the server. Note that the 'primary' group id is not affected so a
+.B newgroup
+command on the client will still be effective. This function requires
+a Linux Kernel with version at least 2.6.21.
+
+.SH CONFIGURATION FILE
+Many of the options that can be set on the command line can also be
+controlled through values set in the
+.B [mountd]
+or, in some cases, the
+.B [nfsd]
+sections of the
+.I /etc/nfs.conf
+configuration file.
+Values recognized in the
+.B [mountd]
+section include
+.BR manage-gids ,
+.BR cache\-use\-ipaddr ,
+.BR descriptors ,
+.BR port ,
+.BR threads ,
+.BR ttl ,
+.BR reverse-lookup ", and"
+.BR state-directory-path ,
+.B ha-callout
+which each have the same effect as the option with the same name.
+
+The values recognized in the
+.B [nfsd]
+section include
+.BR TCP ,
+.BR UDP ,
+.BR vers3 ", and"
+.B vers4
+which each have the same meaning as given by
+.BR rpc.nfsd (8).
+
+.SH IPv6 and TI-RPC support
+TI-RPC is a pre-requisite for supporting NFS on IPv6.
+If TI-RPC support is built into
+.BR rpc.mountd ,
+it attempts to start listeners on network transports marked 'visible' in
+.IR /etc/netconfig .
+As long as at least one network transport listener starts successfully,
+.B rpc.mountd
+will operate.
+.SH FILES
+.TP 2.5i
+.I /etc/exports
+input file for
+.BR exportfs ,
+listing exports, export options, and access control lists
+.TP 2.5i
+.I /var/lib/nfs/rmtab
+table of clients accessing server's exports
+.SH SEE ALSO
+.BR exportfs (8),
+.BR exports (5),
+.BR showmount (8),
+.BR rpc.nfsd (8),
+.BR rpc.rquotad (8),
+.BR nfs (5),
+.BR nfs.conf (5),
+.BR tcpd (8),
+.BR iptables (8),
+.BR netconfig (5)
+.sp
+RFC 1094 - "NFS: Network File System Protocol Specification"
+.br
+RFC 1813 - "NFS Version 3 Protocol Specification"
+.br
+RFC 7530 - "Network File System (NFS) Version 4 Protocol"
+.br
+RFC 8881 - "Network File System (NFS) Version 4 Minor Version 1 Protocol"
+.SH AUTHOR
+Olaf Kirch, H. J. Lu, G. Allan Morris III, and a host of others.
diff --git a/upstream/fedora-40/man8/mountstats.8 b/upstream/fedora-40/man8/mountstats.8
new file mode 100644
index 00000000..d5595fc7
--- /dev/null
+++ b/upstream/fedora-40/man8/mountstats.8
@@ -0,0 +1,151 @@
+.\"
+.\" mountstats(8)
+.\"
+.TH mountstats 8 "12 Dec 2014"
+.SH NAME
+mountstats \- Displays various NFS client per-mount statistics
+.SH SYNOPSIS
+.B mountstats
+.RB [ \-h | \-\-help ]
+.RB [ \-v | \-\-version ]
+.RB [ \-f | \-\-file
+.IR infile ]
+.RB [ \-S | \-\-since
+.IR sincefile ]
+.\" .RB [ \-n | \-\-nfs | \-r | \-\-rpc | \-R | \-\-raw ]
+[
+.RB [ \-n | \-\-nfs ]
+|
+.RB [ \-r | \-\-rpc ]
+|
+.RB [ \-R | \-\-raw ]
+|
+.RB [ \-x | \-\-xprt ]
+]
+.RI [ mountpoint ] ...
+.P
+.B mountstats iostat
+.RB [ \-h | \-\-help ]
+.RB [ \-v | \-\-version ]
+.RB [ \-f | \-\-file
+.IR infile ]
+.RB [ \-S | \-\-since
+.IR sincefile ]
+.RI [ interval ]
+.RI [ count ]
+.RI [ mountpoint ] ...
+.P
+.B mountstats nfsstat
+.RB [ \-h | \-\-help ]
+.RB [ \-v | \-\-version ]
+.RB [ \-f | \-\-file
+.IR infile ]
+.RB [ \-S | \-\-since
+.IR sincefile ]
+.RB [ \-3 ]
+.RB [ \-4 ]
+.RI [ mountpoint ] ...
+.P
+.SH DESCRIPTION
+.RB "The " mountstats " command displays various NFS client statisitics for each given"
+.IR mountpoint .
+.P
+.RI "If no " mountpoint " is given, statistics will be displayed for all NFS mountpoints on the client."
+.SS Sub-commands
+Valid
+.BR mountstats (8)
+subcommands are:
+.IP "\fBmountstats\fP"
+Display a combination of per-op RPC statistics, NFS event counts, and NFS byte counts. This is the default sub-command that will be executed if no sub-command is given.
+.IP "\fBiostat\fP"
+Display iostat-like statistics.
+.IP "\fBnfsstat\fP"
+Display nfsstat-like statistics.
+.SH OPTIONS
+.SS Options valid for all sub-commands
+.TP
+.B \-h, \-\-help
+show the help message and exit
+.TP
+.B \-v, \-\-version
+show program's version number and exit
+.TP
+\fB\-f \fIinfile\fR, \fB\-\-file \fIinfile
+Read stats from
+.I infile
+instead of
+.IR /proc/self/mountstats ". " infile
+must be in the same format as
+.IR /proc/self/mountstats .
+This may be used with the
+.BR \-S | \-\-since
+options to display the delta between two different points in time.
+This may not be used with the
+.IR interval " or " count
+options of the
+.B iostat
+sub-command.
+.TP
+\fB\-S \fIsincefile\fR, \fB\-\-since \fIsincefile
+Show difference between current stats and those in
+.IR sincefile ". " sincefile
+must be in the same format as
+.IR /proc/self/mountstats .
+This may be used with the
+.BR \-f | \-\-file
+options to display the delta between two different points in time.
+This may not be used with the
+.IR interval " or " count
+options of the
+.B iostat
+sub-command.
+.SS Options specific to the mountstats sub-command
+.B \-n, \-\-nfs
+Display only the NFS statistics
+.TP
+.B \-r, \-\-rpc
+Display only the RPC statistics
+.TP
+.B \-R, \-\-raw
+Display only the raw statistics. This is intended for use with the
+.BR \-f | \-\-file
+and
+.BR \-S | \-\-since
+options.
+.TP
+.B \-x, \-\-xprt
+Display only the transport statistics
+.SS Options specific to the iostat sub-command
+.IP "\fIinterval\fP"
+Specifies the amount of time in seconds between each report. The first report contains statistics for the time since each file system was mounted. Each subsequent report contains statistics collected during the interval since the previous report. This may not be used with the
+.BR \-f | \-\-file
+or
+.BR \-S | \-\-since
+options.
+.P
+.IP "\fIcount\fP"
+Determines the number of reports generated at
+.I interval
+seconds apart. If the
+.I interval
+parameter is specified without the
+.I count
+parameter, the command generates reports continuously. This may not be used with the
+.BR \-f | \-\-file
+or
+.BR \-S | \-\-since
+options.
+.SS Options specific to the nfsstat sub-command
+.IP "\fB\-3\fP"
+Show only NFS version 3 statistics. The default is to show both version 3 and version 4 statistics.
+.IP "\fB\-4\fP"
+Show only NFS version 4 statistics. The default is to show both version 3 and version 4 statistics.
+.SH FILES
+.TP
+.B /proc/self/mountstats
+.SH SEE ALSO
+.BR iostat (8),
+.BR nfsiostat (8),
+.BR nfsstat (8)
+.SH AUTHOR
+Chuck Lever <chuck.lever@oracle.com>
diff --git a/upstream/fedora-40/man8/nameif.8 b/upstream/fedora-40/man8/nameif.8
new file mode 100644
index 00000000..c2354ff9
--- /dev/null
+++ b/upstream/fedora-40/man8/nameif.8
@@ -0,0 +1,46 @@
+.TH NAMEIF 8 "2008\-10\-03" "net\-tools" "Linux System Administrator's Manual"
+.SH NAME
+nameif \- name network interfaces based on MAC addresses
+.SH SYNOPSIS
+.B "nameif [\-c configfile] [\-s]"
+.br
+.B "nameif [\-c configfile] [\-s] {interface macaddress}"
+
+.SH NOTE
+.P
+This program is obsolete. For replacement check \fBip link\fR.
+This functionality is also much better provided by udev methods.
+
+.SH DESCRIPTION
+.B nameif
+renames network interfaces based on mac addresses. When no arguments are
+given
+.I /etc/mactab
+is read. Each line of it contains an interface name and a Ethernet MAC
+address. Comments are allowed starting with #.
+Otherwise the interfaces specified on the command line are processed.
+.I nameif
+looks for the interface with the given MAC address and renames it to the
+name given.
+
+When the
+.I \-s
+argument is given all error messages go to the syslog.
+
+When the
+.I \-c
+argument is given with a file name that file is read instead of /etc/mactab.
+
+.SH NOTES
+.I nameif
+should be run before the interface is up, otherwise it'll fail.
+
+.SH FILES
+/etc/mactab
+
+.SH SEE ALSO
+.BR ip(8),
+.BR udev(7)
+
+.SH BUGS
+Only works for Ethernet currently.
diff --git a/upstream/fedora-40/man8/netstat.8 b/upstream/fedora-40/man8/netstat.8
new file mode 100644
index 00000000..8de73392
--- /dev/null
+++ b/upstream/fedora-40/man8/netstat.8
@@ -0,0 +1,530 @@
+.\"
+.\" netstat.8
+.\"
+.\" Original: (mdw@tc.cornell.edu & dc6iq@insu1.etec.uni-karlsruhe.de)
+.\"
+.\" Modified: Bernd.Eckenfels@inka.de
+.\" Modified: Andi Kleen ak@muc.de
+.\" Modified: Tuan Hoang tqhoang@bigfoot.com
+.\" Modified: Brian Micek bmicek@gmail.com
+.\"
+.\"
+.TH NETSTAT 8 "2014\-10\-07" "net\-tools" "Linux System Administrator's Manual"
+
+.SH NAME
+netstat \- Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
+
+.SH SYNOPSIS
+
+.B netstat
+.RI [ address_family_options ]
+.RB [ \-\-tcp | \-t ]
+.RB [ \-\-udp | \-u ]
+.RB [ \-\-udplite | \-U ]
+.RB [ \-\-sctp | \-S ]
+.RB [ \-\-raw | \-w ]
+.RB [ \-\-l2cap | \-2 ]
+.RB [ \-\-rfcomm | \-f ]
+.RB [ \-\-listening | \-l ]
+.RB [ \-\-all | \-a ]
+.RB [ \-\-numeric | \-n ]
+.RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
+.RB [ \-\-symbolic | \-N ]
+.RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
+.RB [ \-\-timers | \-o ]
+.RB [ \-\-program | \-p ]
+.RB [ \-\-verbose | \-v ]
+.RB [ \-\-continuous | \-c]
+.RB [ \-\-wide | \-W ]
+.RB [delay]
+.P
+.B netstat
+.RB { \-\-route | \-r }
+.RI [ address_family_options ]
+.RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
+.RB [ \-\-verbose | \-v ]
+.RB [ \-\-numeric | \-n ]
+.RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
+.RB [ \-\-continuous | \-c ]
+.RB [delay]
+.P
+.B netstat
+.RB { \-\-interfaces | \-I | \-i }
+.RB [ \-\-all | \-a ]
+.RB [ \-\-extend | \-e ]
+.RB [ \-\-verbose | \-v ]
+.RB [ \-\-program | \-p ]
+.RB [ \-\-numeric | \-n ]
+.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
+.RB [ \-\-continuous | \-c ]
+.RB [delay]
+.P
+.B netstat
+.RB { \-\-groups | \-g }
+.RB [ \-\-numeric | \-n ]
+.RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
+.RB [ \-\-continuous | \-c ]
+.RB [delay]
+.P
+.B netstat
+.RB { \-\-masquerade | \-M }
+.RB [ \-\-extend | \-e ]
+.RB [ \-\-numeric | \-n ]
+.RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
+.RB [ \-\-continuous | \-c ]
+.RB [delay]
+.P
+.B netstat
+.RB { \-\-statistics | -s }
+.RB [ \-\-tcp | \-t ]
+.RB [ \-\-udp | \-u ]
+.RB [ \-\-udplite | \-U ]
+.RB [ \-\-sctp | \-S ]
+.RB [ \-\-raw | \-w ]
+.RB [delay]
+.P
+.B netstat
+.RB { \-\-version | \-V }
+.P
+.B netstat
+.RB { \-\-help | \-h }
+.P
+.IR address_family_options :
+.PP
+.RB [ -4 | \-\-inet ]
+.RB [ -6 | \-\-inet6 ]
+.RB [ \-\-protocol= { inet , inet6 , unix , ipx , ax25 , netrom , ddp , bluetooth ", ... } ]"
+.RB [ \-\-unix | \-x ]
+.RB [ \-\-inet | \-\-ip | \-\-tcpip ]
+.RB [ \-\-ax25 ]
+.RB [ \-\-x25 ]
+.RB [ \-\-rose ]
+.RB [ \-\-ash ]
+.RB [ \-\-bluetooth ]
+.RB [ \-\-ipx ]
+.RB [ \-\-netrom ]
+.RB [ \-\-ddp | \-\-appletalk ]
+.RB [ \-\-econet | \-\-ec ]
+
+.SH NOTES
+This program is mostly obsolete.
+Replacement for \fBnetstat\fR is \fBss\fR.
+Replacement for \fBnetstat -r\fR is \fBip route\fR.
+Replacement for \fBnetstat -i\fR is \fBip -s link\fR.
+Replacement for \fBnetstat -g\fR is \fBip maddr\fR.
+
+.SH DESCRIPTION
+.B Netstat
+prints information about the Linux networking subsystem. The type of
+information printed is controlled by the first argument, as follows:
+.SS (none)
+By default,
+.B
+netstat
+displays a list of open sockets. If you don't specify any
+address families, then the active sockets of all configured address
+families will be printed.
+.SS "\-\-route, \-r"
+Display the kernel routing tables. See the description in
+.BR route (8)
+for details.
+.B netstat -r
+and
+.B route -e
+produce the same output.
+.SS "\-\-groups, \-g"
+Display multicast group membership information for IPv4 and IPv6.
+.SS "\-\-interfaces=\fIiface \fR, \fB\-I=\fIiface \fR, \fB\-i"
+Display a table of all network interfaces, or the specified \fIiface\fR.
+.SS "\-\-masquerade, \-M"
+Display a list of masqueraded connections.
+.SS "\-\-statistics, \-s"
+Display summary statistics for each protocol.
+.SH OPTIONS
+.SS "\-\-verbose, \-v"
+Tell the user what is going on by being verbose. Especially print some
+useful information about unconfigured address families.
+.SS "\-\-wide, \-W"
+Do not truncate IP addresses by using output as wide as needed. This is
+optional for now to not break existing scripts.
+.SS "\-\-numeric, \-n"
+Show numerical addresses instead of trying to determine symbolic host, port
+or user names.
+.SS "\-\-numeric\-hosts"
+shows numerical host addresses but does not affect the resolution of
+port or user names.
+.SS "\-\-numeric\-ports"
+shows numerical port numbers but does not affect the resolution of
+host or user names.
+.SS "\-\-numeric\-users"
+shows numerical user IDs but does not affect the resolution of host or
+port names.
+
+.SS "\-\-protocol=\fIfamily\fR, \fB\-A"
+Specifies the address families (perhaps better described as low level
+protocols) for which connections are to be shown.
+.I family
+is a comma (',') separated list of address family keywords like
+.BR inet ,
+.BR inet6 ,
+.BR unix ,
+.BR ipx ,
+.BR ax25 ,
+.BR netrom ,
+.BR econet ,
+.BR ddp ,
+and
+.BR bluetooth .
+This has the same effect as using the
+.BR \-\-inet | -4 ,
+.BR \-\-inet6 | -6 ,
+.BR \-\-unix | -x ,
+.BR \-\-ipx ,
+.BR \-\-ax25 ,
+.BR \-\-netrom ,
+.BR \-\-ddp ,
+and
+.B \-\-bluetooth
+options.
+.P
+The address family
+.B inet
+(Iv4) includes raw, udp, udplite and tcp protocol sockets.
+.P
+The address family
+.B bluetooth
+(Iv4) includes l2cap and rfcomm protocol sockets.
+.SS "\-c, \-\-continuous"
+This will cause
+.B netstat
+to print the selected information every second continuously.
+.SS "\-e, \-\-extend"
+Display additional information. Use this option twice for maximum detail.
+.SS "\-o, \-\-timers"
+Include information related to networking timers.
+.SS "\-p, \-\-program"
+Show the PID and name of the program to which each socket belongs.
+.SS "\-l, \-\-listening"
+Show only listening sockets. (These are omitted by default.)
+.SS "\-a, \-\-all"
+Show both listening and non-listening (for TCP this means established
+connections) sockets. With the
+.B \-\-interfaces
+option, show interfaces that are not up
+.SS "\-F"
+Print routing information from the FIB. (This is the default.)
+.SS "\-C"
+Print routing information from the route cache.
+.SS delay
+Netstat will cycle printing through statistics every
+.B delay
+seconds.
+.P
+.SH OUTPUT
+.P
+.SS Active Internet connections \fR(TCP, UDP, UDPLite, raw)\fR
+.SS "Proto"
+The protocol (tcp, udp, udpl, raw) used by the socket.
+.SS "Recv\-Q"
+Established: The count of bytes not copied by the user program connected to this socket.
+Listening: Since Kernel 2.6.18 this column contains the current syn backlog.
+.SS "Send\-Q"
+Established: The count of bytes not acknowledged by the remote host.
+Listening: Since Kernel 2.6.18 this column contains the maximum size of the syn backlog.
+.SS "Local Address"
+Address and port number of the local end of the socket. Unless the
+.BR \-\-numeric " (" \-n )
+option is specified, the socket address is resolved to its canonical
+host name (FQDN), and the port number is translated into the
+corresponding service name.
+.SS "Foreign Address"
+Address and port number of the remote end of the socket.
+Analogous to "Local Address".
+.SS "State"
+The state of the socket. Since there are no states in raw mode and usually no
+states used in UDP and UDPLite, this column may be left blank. Normally this can be one
+of several values:
+.TP
+.I
+ESTABLISHED
+The socket has an established connection.
+.TP
+.I
+SYN_SENT
+The socket is actively attempting to establish a connection.
+.TP
+.I
+SYN_RECV
+A connection request has been received from the network.
+.TP
+.I
+FIN_WAIT1
+The socket is closed, and the connection is shutting down.
+.TP
+.I
+FIN_WAIT2
+Connection is closed, and the socket is waiting for a shutdown from the
+remote end.
+.TP
+.I
+TIME_WAIT
+The socket is waiting after close to handle packets still in the network.
+.TP
+.I
+CLOSE
+The socket is not being used.
+.TP
+.I
+CLOSE_WAIT
+The remote end has shut down, waiting for the socket to close.
+.TP
+.I
+LAST_ACK
+The remote end has shut down, and the socket is closed. Waiting for
+acknowledgement.
+.TP
+.I
+LISTEN
+The socket is listening for incoming connections. Such sockets are
+not included in the output unless you specify the
+.BR \-\-listening " (" \-l )
+or
+.BR \-\-all " (" \-a )
+option.
+.TP
+.I
+CLOSING
+Both sockets are shut down but we still don't have all our data
+sent.
+.TP
+.I
+UNKNOWN
+The state of the socket is unknown.
+.SS "User"
+The username or the user id (UID) of the owner of the socket.
+.SS "PID/Program name"
+Slash-separated pair of the process id (PID) and process name of the
+process that owns the socket.
+.B \-\-program
+causes this column to be included. You will also need
+.I superuser
+privileges to see this information on sockets you don't own. This
+identification information is not yet available for IPX sockets.
+.SS "Timer"
+TCP timer associated with this socket. The format is timer(a/b/c). The timer is one of the following values:
+.TP
+.I
+off
+There is no timer set for this socket.
+.TP
+.I
+on
+The retransmission timer is active for the socket.
+.TP
+.I
+keepalive
+The keepalive timer is active for the socket.
+.TP
+.I
+timewait
+The connection is closing and the timewait timer is active for the socket.
+.P
+The values in the brackets:
+.TP
+.I
+a
+Timer value.
+.TP
+.I
+b
+Number of retransmissions sent.
+.TP
+.I
+c
+Number of keepalives sent.
+.P
+.SS Active UNIX domain Sockets
+.SS "Proto"
+The protocol (usually unix) used by the socket.
+.SS "RefCnt"
+The reference count (i.e. attached processes via this socket).
+.SS "Flags"
+The flags displayed is SO_ACCEPTON (displayed as
+.BR ACC ),
+SO_WAITDATA
+.RB ( W )
+or SO_NOSPACE
+.RB ( N ).
+SO_ACCECPTON
+is used on unconnected sockets if their corresponding
+processes are waiting for a connect request. The other flags are not
+of normal interest.
+.SS "Type"
+There are several types of socket access:
+.TP
+.I
+SOCK_DGRAM
+The socket is used in Datagram (connectionless) mode.
+.TP
+.I
+SOCK_STREAM
+This is a stream (connection) socket.
+.TP
+.I
+SOCK_RAW
+The socket is used as a raw socket.
+.TP
+.I
+SOCK_RDM
+This one serves reliably-delivered messages.
+.TP
+.I
+SOCK_SEQPACKET
+This is a sequential packet socket.
+.TP
+.I
+SOCK_PACKET
+Raw interface access socket.
+.TP
+.I
+UNKNOWN
+Who ever knows what the future will bring us - just fill in here :-)
+.PP
+.SS "State"
+This field will contain one of the following Keywords:
+.TP
+.I FREE
+The socket is not allocated
+.TP
+.I LISTENING
+The socket is listening for a connection request. Such
+sockets are only included in the output if you specify the
+.BR \-\-listening " (" \-l )
+or
+.BR \-\-all " (" \-a )
+option.
+.TP
+.I CONNECTING
+The socket is about to establish a connection.
+.TP
+.I CONNECTED
+The socket is connected.
+.TP
+.I DISCONNECTING
+The socket is disconnecting.
+.TP
+.I (empty)
+The socket is not connected to another one.
+.TP
+.I UNKNOWN
+This state should never happen.
+.SS "PID/Program name"
+Process ID (PID) and process name of the process that has the socket open.
+More info available in
+.B "Active Internet connections"
+section written above.
+.SS "Path"
+This is the path name as which the corresponding processes attached
+to the socket.
+.P
+.SS Active IPX sockets
+(this needs to be done by somebody who knows it)
+.P
+.SS Active NET/ROM sockets
+(this needs to be done by somebody who knows it)
+.P
+.SS Active AX.25 sockets
+(this needs to be done by somebody who knows it)
+.PP
+
+.SH FILES
+.ta
+.I /etc/services
+-- The services translation file
+
+.I /proc
+-- Mount point for the proc filesystem, which gives access to kernel
+status information via the following files.
+
+.I /proc/net/dev
+-- device information
+
+.I /proc/net/raw
+-- raw socket information
+
+.I /proc/net/tcp
+-- TCP socket information
+
+.I /proc/net/udp
+-- UDP socket information
+
+.I /proc/net/udplite
+-- UDPLite socket information
+
+.I /proc/net/igmp
+-- IGMP multicast information
+
+.I /proc/net/unix
+-- Unix domain socket information
+
+.I /proc/net/ipx
+-- IPX socket information
+
+.I /proc/net/ax25
+-- AX25 socket information
+
+.I /proc/net/appletalk
+-- DDP (appletalk) socket information
+
+.I /proc/net/nr
+-- NET/ROM socket information
+
+.I /proc/net/route
+-- IP routing information
+
+.I /proc/net/ax25_route
+-- AX25 routing information
+
+.I /proc/net/ipx_route
+-- IPX routing information
+
+.I /proc/net/nr_nodes
+-- NET/ROM nodelist
+
+.I /proc/net/nr_neigh
+-- NET/ROM neighbours
+
+.I /proc/net/ip_masquerade
+-- masqueraded connections
+
+.I /sys/kernel/debug/bluetooth/l2cap
+-- Bluetooth L2CAP information
+
+.I /sys/kernel/debug/bluetooth/rfcomm
+-- Bluetooth serial connections
+
+.I /proc/net/snmp
+-- statistics
+.fi
+.P
+.SH SEE ALSO
+.BR route (8),
+.BR ifconfig (8),
+.BR iptables (8),
+.BR proc (5)
+.BR ss (8)
+.BR ip (8)
+.P
+.SH BUGS
+Occasionally strange information may appear if a socket changes
+as it is viewed. This is unlikely to occur.
+.P
+.SH AUTHORS
+The netstat user interface was written by Fred Baumgarten
+<dc6iq@insu1.etec.uni\-karlsruhe.de>, the man page basically
+by Matt Welsh <mdw@tc.cornell.edu>. It was updated by
+Alan Cox <Alan.Cox@linux.org>, updated again by Tuan Hoang
+<tqhoang@bigfoot.com>. The man page and the command included
+in the net\-tools package is totally rewritten by Bernd Eckenfels
+<ecki@linux.de>. UDPLite options were added by Brian Micek
+<bmicek@gmail.com>
diff --git a/upstream/fedora-40/man8/nfsconf.8 b/upstream/fedora-40/man8/nfsconf.8
new file mode 100644
index 00000000..d44e86fb
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsconf.8
@@ -0,0 +1,120 @@
+.\"
+.\" nfsconf(8)
+.\"
+.TH nfsconf 8 "2 May 2018"
+.SH NAME
+nfsconf \- Query various NFS configuration settings
+.SH SYNOPSIS
+.B nfsconf \-\-dump
+.RB [ \-v | \-\-verbose ]
+.RB [ \-f | \-\-file
+.IR infile.conf ]
+.RI [ outfile ]
+.P
+.B nfsconf \-\-entry
+.RB [ \-\-arg
+.IR subsection]
+.IR section
+.IR tag
+.P
+.B nfsconf \-\-get
+.RB [ \-v | \-\-verbose ]
+.RB [ \-f | \-\-file
+.IR infile.conf ]
+.RB [ \-a | \-\-arg
+.IR subsection ]
+.IR section
+.IR tag
+.P
+.B nfsconf \-\-isset
+.RB [ \-v | \-\-verbose ]
+.RB [ \-f | \-\-file
+.IR infile.conf ]
+.RB [ \-a | \-\-arg
+.IR subsection ]
+.IR section
+.IR tag
+.P
+.B nfsconf \-\-set
+.RB [ \-v | \-\-verbose ]
+.RB [ \-m | \-\-modified
+.IR "Modified by text" ]
+.RB [ \-f | \-\-file
+.IR infile.conf ]
+.RB [ \-a | \-\-arg
+.IR subsection ]
+.IR section
+.IR tag
+.IR value
+.P
+.B nfsconf \-\-unset
+.RB [ \-v | \-\-verbose ]
+.RB [ \-f | \-\-file
+.IR infile.conf ]
+.RB [ \-a | \-\-arg
+.IR subsection ]
+.IR section
+.IR tag
+.SH DESCRIPTION
+The
+.B nfsconf
+command can be used to test for and retrieve configuration settings
+from a range of nfs-utils configuration files.
+.SS Modes
+The following modes are available:
+.IP "\fB\-d, \-\-dump\fP"
+Output an alphabetically sorted dump of the current configuration in conf file format. Accepts an optional filename in which to write the output.
+.IP "\fB\-e, \-\-entry\fP"
+retrieve the config entry rather than its current expanded value
+.IP "\fB\-i, \-\-isset\fP"
+Test if a specific tag has a value set.
+.IP "\fB\-g, \-\-get\fP"
+Output the current value of the specified tag.
+.IP "\fB\-s, \-\-set\fP"
+Update or Add a tag and value to the config file in a specified section, creating the tag, section, and file if necessary. If the section is defined as '#' then a comment is appended to the file. If a comment is set with a tag name then any exiting tagged comment with a matching name is replaced.
+.IP "\fB\-u, \-\-unset\fP"
+Remove the specified tag and its value from the config file.
+.SH OPTIONS
+.SS Options valid in all modes
+.TP
+.B \-v, \-\-verbose
+Increase verbosity and print debugging information.
+.TP
+.B \-f, \-\-file \fIinfile\fR
+Select a different config file to operate upon, default is
+.I /etc/nfs.conf
+.SS Options only valid in \fB\-\-entry\fR and \fB\-\-get\fR and \fB\-\-isset\fR modes.
+.TP
+.B \-a, \-\-arg \fIsubsection\fR
+Select a specific sub-section
+.SS Options only valid in \fB\-\-set\fR mode.
+.B \-m, \-\-modified \fI"Modified by nfsconf"\fR
+Set the text on the Modified date comment in the file. Set to empty to remove.
+.SH EXIT STATUS
+.SS \fB\-\-isset\fR mode
+In this mode the command will return success (0) if the selected tag has a value, any other exit code indicates the value is not set, or some other error has occurred.
+.SS all other modes
+Success is indicated by an exit status of zero, any other status indicates an error. Error messages are output on stderr, and increasing verbosity will give more detailed explanations if any are available.
+.SH EXAMPLES
+.TP
+.B nfsconf -v --dump --file /tmp/testconf.conf sorted.conf
+Check a new config file for syntax errors and output a sorted version for ease of comparison with existing settings.
+.TP
+.B if ! nfsconf --isset gssd preferred-realm ; then echo 'No preferred realm configured for gss'; fi
+The tool allows for easy testing of configuration values from shell scripts, here we test if a specific value has been set.
+.TP
+.B nfsconf --file /etc/nfsmount.conf --get --arg /home MountPoint background
+Show default value for \fIbackground\fR option for NFS mounts of the \fI/home\fR path.
+.TP
+.B nfsconf --file /etc/nfs.conf --set nfsd debug 1
+Enable debugging in nfsd
+.SH FILES
+.TP
+.B /etc/nfs.conf
+.SH SEE ALSO
+.BR nfsd (8),
+.BR exportfs (8),
+.BR idmapd (8),
+.BR statd (8)
+.SH AUTHOR
+Justin Mitchell <jumitche@redhat.com>
diff --git a/upstream/fedora-40/man8/nfsd.8 b/upstream/fedora-40/man8/nfsd.8
new file mode 100644
index 00000000..6f4fc1df
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsd.8
@@ -0,0 +1,203 @@
+.\"
+.\" nfsd(8)
+.\"
+.\" Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de>
+.TH rpc.nfsd 8 "20 Feb 2014"
+.SH NAME
+rpc.nfsd \- NFS server process
+.SH SYNOPSIS
+.BI "/usr/sbin/rpc.nfsd [" options "]" " "nproc
+.SH DESCRIPTION
+The
+.B rpc.nfsd
+program implements the user level part of the NFS service. The
+main functionality is handled by the
+.B nfsd
+kernel module. The user space program merely specifies what sort of sockets
+the kernel service should listen on, what NFS versions it should support, and
+how many kernel threads it should use.
+.P
+The
+.B rpc.mountd
+server provides an ancillary service needed to satisfy mount requests
+by NFS clients.
+.SH OPTIONS
+.TP
+.B \-d " or " \-\-debug
+enable logging of debugging messages
+.TP
+.B \-H " or " \-\-host hostname
+specify a particular hostname (or address) that NFS requests will
+be accepted on. By default,
+.B rpc.nfsd
+will accept NFS requests on all known network addresses.
+Note that
+.B lockd
+(which performs file locking services for NFS) may still accept
+request on all known network addresses. This may change in future
+releases of the Linux Kernel. This option can be used multiple times
+to listen to more than one interface.
+.TP
+.B \-S " or " \-\-scope scope
+NFSv4.1 and later require the server to report a "scope" which is used
+by the clients to detect if two connections are to the same server.
+By default Linux NFSD uses the host name as the scope.
+.sp
+It is particularly important for high-availablity configurations to ensure
+that all potential server nodes report the same server scope.
+.TP
+.B \-p " or " \-\-port port
+specify a different port to listen on for NFS requests. By default,
+.B rpc.nfsd
+will listen on port 2049.
+.TP
+.B \-r " or " \-\-rdma
+specify that NFS requests on the standard RDMA port ("nfsrdma", port
+20049) should be honored.
+.TP
+.BI \-\-rdma= port
+Listen for RDMA requests on an alternate port - may be a number or a
+name listed in
+.BR /etc/services .
+.TP
+.B \-N " or " \-\-no-nfs-version vers
+This option can be used to request that
+.B rpc.nfsd
+does not offer certain versions of NFS. The current version of
+.B rpc.nfsd
+can support major NFS versions 3,4 and the minor versions 4.0, 4.1 and 4.2.
+.TP
+.B \-s " or " \-\-syslog
+By default,
+.B rpc.nfsd
+logs error messages (and debug messages, if enabled) to stderr. This option makes
+.B rpc.nfsd
+log these messages to syslog instead. Note that errors encountered during
+option processing will still be logged to stderr regardless of this option.
+.TP
+.B \-t " or " \-\-tcp
+Instruct the kernel nfs server to open and listen on a TCP socket. This is the default.
+.TP
+.B \-T " or " \-\-no-tcp
+Instruct the kernel nfs server not to open and listen on a TCP socket.
+.TP
+.B \-u " or " \-\-udp
+Instruct the kernel nfs server to open and listen on a UDP socket.
+.TP
+.B \-U " or " \-\-no-udp
+Instruct the kernel nfs server not to open and listen on a UDP socket. This is the default.
+.TP
+.B \-V " or " \-\-nfs-version vers
+This option can be used to request that
+.B rpc.nfsd
+offer certain versions of NFS. The current version of
+.B rpc.nfsd
+can support major NFS versions 3,4 and the minor versions 4.0, 4.1 and 4.2.
+.TP
+.B \-L " or " \-\-lease-time seconds
+Set the lease-time used for NFSv4. This corresponds to how often
+clients need to confirm their state with the server. Valid range is
+from 10 to 3600 seconds.
+.TP
+.B \-G " or " \-\-grace-time seconds
+Set the grace-time used for NFSv4 and NLM (for NFSv2 and NFSv3).
+New file open requests (NFSv4) and new file locks (NLM) will not be
+allowed until after this time has passed to allow clients to recover state.
+.TP
+.I nproc
+specify the number of NFS server threads. By default, eight
+threads are started. However, for optimum performance several threads
+should be used. The actual figure depends on the number of and the work
+load created by the NFS clients, but a useful starting point is
+eight threads. Effects of modifying that number can be checked using
+the
+.BR nfsstat (8)
+program.
+.P
+Note that if the NFS server is already running, then the options for
+specifying host, port, and protocol will be ignored. The number of
+processes given will be the only option considered, and the number of
+active
+.B nfsd
+processes will be increased or decreased to match this number.
+In particular
+.B rpc.nfsd 0
+will stop all threads and thus close any open connections.
+
+.SH CONFIGURATION FILE
+Many of the options that can be set on the command line can also be
+controlled through values set in the
+.B [nfsd]
+section of the
+.I /etc/nfs.conf
+configuration file. Values recognized include:
+.TP
+.B threads
+The number of threads to start.
+.TP
+.B host
+A host name, or comma separated list of host names, that
+.I rpc.nfsd
+will listen on. Use of the
+.B --host
+option replaces all host names listed here.
+.TP
+.B scope
+Set the server scope.
+.TP
+.B grace-time
+The grace time, for both NFSv4 and NLM, in seconds.
+.TP
+.B lease-time
+The lease time for NFSv4, in seconds.
+.TP
+.B port
+Set the port for TCP/UDP to bind to.
+.TP
+.B rdma
+Enable RDMA port (with "on" or "yes" etc) on the standard port
+("nfsrdma", port 20049).
+.TP
+.B rdma-port
+Set an alternate RDMA port.
+.TP
+.B UDP
+Enable (with "on" or "yes" etc) or disable ("off", "no") UDP support.
+.TP
+.B TCP
+Enable or disable TCP support.
+.TP
+.B vers3
+.TP
+.B vers4
+Enable or disable
+.B all
+NFSv4 versions. All versions are normally enabled
+by default.
+.TP
+.B vers4.1
+.TP
+.B vers4.2
+Setting these to "off" or similar will disable the selected minor
+versions. Setting to "on" will enable them. The default values
+are determined by the kernel, and usually minor versions default to
+being enabled once the implementation is sufficiently complete.
+
+.SH NOTES
+If the program is built with TI-RPC support, it will enable any protocol and
+address family combinations that are marked visible in the
+.B netconfig
+database.
+
+.SH SEE ALSO
+.BR nfsd (7),
+.BR rpc.mountd (8),
+.BR exports (5),
+.BR exportfs (8),
+.BR nfs.conf (5),
+.BR rpc.rquotad (8),
+.BR nfsstat (8),
+.BR netconfig(5).
+.SH AUTHOR
+Olaf Kirch, Bill Hawes, H. J. Lu, G. Allan Morris III,
+and a host of others.
diff --git a/upstream/fedora-40/man8/nfsdcld.8 b/upstream/fedora-40/man8/nfsdcld.8
new file mode 100644
index 00000000..ee6e9dcf
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsdcld.8
@@ -0,0 +1,221 @@
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "NFSDCLD 8"
+.TH NFSDCLD 8 "2011-12-21" "" ""
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+nfsdcld \- NFSv4 Client Tracking Daemon
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+nfsdcld [\-d] [\-F] [\-p path] [\-s stable storage dir]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+nfsdcld is the NFSv4 client tracking daemon. It is not necessary to run
+this daemon on machines that are not acting as NFSv4 servers.
+.PP
+When a network partition is combined with a server reboot, there are
+edge conditions that can cause the server to grant lock reclaims when
+other clients have taken conflicting locks in the interim. A more detailed
+explanation of this issue is described in \s-1RFC\s0 3530, section 8.6.3.
+.PP
+In order to prevent these problems, the server must track a small amount
+of per-client information on stable storage. This daemon provides the
+userspace piece of that functionality.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-d\fR, \fB\-\-debug\fR" 4
+.IX Item "-d, --debug"
+Enable debug level logging.
+.IP "\fB\-F\fR, \fB\-\-foreground\fR" 4
+.IX Item "-F, --foreground"
+Runs the daemon in the foreground and prints all output to stderr
+.IP "\fB\-p\fR \fIpath\fR, \fB\-\-pipefsdir\fR=\fIpath\fR" 4
+.IX Item "-p path, --pipefsdir=path"
+Location of the rpc_pipefs filesystem. The default value is
+\&\fI/var/lib/nfs/rpc_pipefs\fR.
+.IP "\fB\-s\fR \fIstorage_dir\fR, \fB\-\-storagedir\fR=\fIstorage_dir\fR" 4
+.IX Item "-s storagedir, --storagedir=storage_dir"
+Directory where stable storage information should be kept. The default
+value is \fI/var/lib/nfs/nfsdcld\fR.
+.SH "CONFIGURATION FILE"
+.IX Header "CONFIGURATION FILE"
+The following values are recognized in the \fB[nfsdcld]\fR section
+of the \fI/etc/nfs.conf\fR configuration file:
+.IP "\fBstoragedir\fR" 4
+.IX Item "storagedir"
+Equivalent to \fB\-s\fR/\fB\-\-storagedir\fR.
+.IP "\fBdebug\fR" 4
+.IX Item "debug"
+Setting "debug = 1" is equivalent to \fB\-d\fR/\fB\-\-debug\fR.
+.LP
+In addition, the following value is recognized from the \fB[general]\fR section:
+.IP "\fBpipefs\-directory\fR" 4
+.IX Item "pipefs-directory"
+Equivalent to \fB\-p\fR/\fB\-\-pipefsdir\fR.
+.SH "NOTES"
+.IX Header "NOTES"
+The Linux kernel NFSv4 server has historically tracked this information
+on stable storage by manipulating information on the filesystem
+directly, in the directory to which \fI/proc/fs/nfsd/nfsv4recoverydir\fR
+points.
+.PP
+This changed with the original introduction of \fBnfsdcld\fR upcall in kernel version 3.4,
+which was later deprecated in favor of the \fBnfsdcltrack\fR(8) usermodehelper
+program, support for which was added in kernel version 3.8. However, since the
+usermodehelper upcall does not work in containers, support for a new version of
+the \fBnfsdcld\fR upcall was added in kernel version 5.2.
+.PP
+This daemon requires a kernel that supports the \fBnfsdcld\fR upcall. On older kernels, if
+the legacy client name tracking code was in use, then the kernel would not create the
+pipe that \fBnfsdcld\fR uses to talk to the kernel. On newer kernels, nfsd attempts to
+initialize client tracking in the following order: First, the \fBnfsdcld\fR upcall. Second,
+the \fBnfsdcltrack\fR usermodehelper upcall. Finally, the legacy client tracking.
+.PP
+This daemon should be run as root, as the pipe that it uses to communicate
+with the kernel is only accessible by root. The daemon however does drop all
+superuser capabilities after starting. Because of this, the \fIstoragedir\fR
+should be owned by root, and be readable and writable by owner.
+.PP
+The daemon now supports different upcall versions to allow the kernel to pass additional
+data to be stored in the on-disk database. The kernel will query the supported upcall
+version from \fBnfsdcld\fR during client tracking initialization. A restart of \fBnfsd\fR is
+not necessary after upgrading \fBnfsdcld\fR, however \fBnfsd\fR will not use a later upcall
+version until restart. A restart of \fBnfsd is necessary\fR after downgrading \fBnfsdcld\fR,
+to ensure that \fBnfsd\fR does not use an upcall version that \fBnfsdcld\fR does not support.
+Additionally, a downgrade of \fBnfsdcld\fR requires the schema of the on-disk database to
+be downgraded as well. That can be accomplished using the \fBnfsdclddb\fR(8) utility.
+.SH FILES
+.TP
+.B /var/lib/nfs/nfsdcld/main.sqlite
+.SH SEE ALSO
+.BR nfsdcltrack "(8), " nfsdclddb (8)
+.SH "AUTHORS"
+.IX Header "AUTHORS"
+The nfsdcld daemon was developed by Jeff Layton <jlayton@redhat.com>
+with modifications from Scott Mayhew <smayhew@redhat.com>.
diff --git a/upstream/fedora-40/man8/nfsdclddb.8 b/upstream/fedora-40/man8/nfsdclddb.8
new file mode 100644
index 00000000..8ec7b187
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsdclddb.8
@@ -0,0 +1,83 @@
+.\"
+.\" nfsdclddb(8)
+.\"
+.TH nfsdclddb 8 "07 Aug 2019"
+.SH NAME
+nfsdclddb \- Tool for manipulating the nfsdcld sqlite database
+.SH SYNOPSIS
+.B nfsdclddb
+.RB [ \-h | \-\-help ]
+.P
+.B nfsdclddb
+.RB [ \-p | \-\-path
+.IR dbpath ]
+.B fix-table-names
+.RB [ \-h | \-\-help ]
+.P
+.B nfsdclddb
+.RB [ \-p | \-\-path
+.IR dbpath ]
+.B downgrade-schema
+.RB [ \-h | \-\-help ]
+.RB [ \-v | \-\-version
+.IR to-version ]
+.P
+.B nfsdclddb
+.RB [ \-p | \-\-path
+.IR dbpath ]
+.B print
+.RB [ \-h | \-\-help ]
+.RB [ \-s | \-\-summary ]
+.P
+
+.SH DESCRIPTION
+.RB "The " nfsdclddb " command is provided to perform some manipulation of the nfsdcld sqlite database schema and to print the contents of the database."
+.SS Sub-commands
+Valid
+.B nfsdclddb
+subcommands are:
+.IP "\fBfix-table-names\fP"
+.RB "A previous version of " nfsdcld "(8) contained a bug that corrupted the reboot epoch table names. This sub-command will fix those table names."
+.IP "\fBdowngrade-schema\fP"
+Downgrade the database schema. Currently the schema can only to downgraded from version 4 to version 3.
+.IP "\fBprint\fP"
+Display the contents of the database. Prints the schema version and the values of the current and recovery epochs. If the
+.BR \-s | \-\-summary
+option is not given, also prints the clients in the reboot epoch tables.
+.SH OPTIONS
+.SS Options valid for all sub-commands
+.TP
+.B \-h, \-\-help
+Show the help message and exit
+.TP
+\fB\-p \fIdbpath\fR, \fB\-\-path \fIdbpath\fR
+Open the sqlite database located at
+.I dbpath
+instead of
+.IR /var/lib/nfs/nfsdcld/main.sqlite ". "
+This is mainly for testing purposes.
+.SS Options specific to the downgrade-schema sub-command
+.TP
+\fB\-v \fIto-version\fR, \fB\-\-version \fIto-version\fR
+The schema version to downgrade to. Currently the schema can only be downgraded to version 3.
+.SS Options specific to the print sub-command
+.TP
+.B \-s, \-\-summary
+Do not list the clients in the reboot epoch tables in the output.
+.SH NOTES
+The
+.B nfsdclddb
+command will not allow the
+.B fix-table-names
+or
+.B downgrade-schema
+subcommands to be used if
+.BR nfsdcld (8)
+is running.
+.SH FILES
+.TP
+.B /var/lib/nfs/nfsdcld/main.sqlite
+.SH SEE ALSO
+.BR nfsdcld (8)
+.SH AUTHOR
+Scott Mayhew <smayhew@redhat.com>
diff --git a/upstream/fedora-40/man8/nfsdclnts.8 b/upstream/fedora-40/man8/nfsdclnts.8
new file mode 100644
index 00000000..c7efbd70
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsdclnts.8
@@ -0,0 +1,180 @@
+.\"
+.\" nfsdclnts(8)
+.\"
+.TH "NFSDCLTS" "8" "2020-05-09" "nfsdclnts" "nfsdclnts"
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.ss \n[.ss] 0
+.nh
+.ad l
+.de URL
+\fI\\$2\fP <\\$1>\\$3
+..
+.als MTO URL
+.if \n[.g] \{\
+. mso www.tmac
+. am URL
+. ad l
+. .
+. am MTO
+. ad l
+. .
+. LINKSTYLE blue R < >
+.\}
+.SH "NAME"
+nfsdclnts \- print various nfs client information for knfsd server.
+.SH "SYNOPSIS"
+.sp
+\fBnfsdclnts\fP [\fI\-h\fP] [\fI\-t type\fP] [\fI\-\-clientinfo\fP] [\fI\-\-hostname\fP] [\fI\-q\fP]
+.SH "DESCRIPTION"
+.sp
+The nfsdclnts(8) command parses the content present in /proc/fs/nfsd/clients/ directories. nfsdclnts(8) displays files which are open, locked, delegated by the nfs\-client. It also prints useful client information such as hostname, clientID, NFS version mounted by the nfs\-client.
+.SH "OPTIONS"
+.sp
+\fB\-t, \-\-type\fP=TYPE
+.RS 4
+Specify the type of file to be displayed. Takes only one TYPE at a time.
+.sp
+\fIopen\fP, \fIlock\fP, \fIdeleg\fP, \fIlayout\fP, or \fIall\fP
+.sp
+open: displays the open files by nfs\-client(s).
+.sp
+lock: displays the files locked by nfs\-client(s).
+.sp
+layout: displays the files for which layout is given.
+.sp
+deleg: displays delegated files information and delegation type.
+.sp
+all: prints all the above type.
+.RE
+.sp
+\fB\-\-clientinfo\fP
+.RS 4
+displays various nfs\-client info fields such as version of nfs mounted at nfs\-client and clientID.
+.RE
+.sp
+\fB\-\-hostname\fP
+.RS 4
+Print hostname of nfs\-client instead of ip-address.
+.RE
+.sp
+\fB\-q, \-\-quiet\fP
+.RS 4
+Hide the header information.
+.RE
+.sp
+\fB\-v, \-\-verbose\fP
+.RS 4
+Verbose operation, show debug messages.
+.RE
+.sp
+\fB\-f, \-\-file\fP
+.RS 4
+Instead of processing all client directories under /proc/fs/nfsd/clients, one can provide a specific
+states file to process. One should make sure that info file resides in the same directory as states file.
+If the info file is not valid or present the fields would be marked as "N/A".
+.RE
+.sp
+\fB\-h, \-\-help\fP
+.RS 4
+Print help explaining the command line options.
+.SH "EXAMPLES"
+.sp
+\fBnfsdclnts \-\-type open\fP
+.RS 4
+List all files with open type only.
+.RE
+.sp
+.if n .RS 4
+.nf
+Inode number | Type | Access | Deny | ip address | Filename
+33823232 | open | r\- | \-\- | [::1]:757 | testfile
+.fi
+.if n .RE
+.sp
+\fBnfsdclnts \-\-type deleg\fP
+.RS 4
+List all files with deleg type only.
+.RE
+.sp
+.if n .RS 4
+.nf
+Inode number | Type | Access | ip address | Filename
+33823232 | deleg | r | [::1]:757 | testfile
+.fi
+.if n .RE
+.sp
+\fBnfsdclnts \-\-hostname\fP
+.RS 4
+Print hostname instead of ip\-address.
+.RE
+.sp
+.if n .RS 4
+.nf
+Inode number | Type | Access | Deny | Hostname | Filename
+33823232 | open | r\- | \-\- | nfs\-server | testfile
+33823232 | deleg | r | | nfs\-server | testfile
+.fi
+.if n .RE
+.sp
+\fBnfsdclnts \-\-clientinfo\fP
+.RS 4
+Print client information.
+.RE
+.sp
+.if n .RS 4
+.nf
+Inode number | Type | Access | Deny | ip address | Client ID | vers | Filename
+33823232 | open | r\- | \-\- | [::1]:757 | 0xc79a009f5eb65e84 | 4.2 | testfile
+33823232 | deleg | r | | [::1]:757 | 0xc79a009f5eb65e84 | 4.2 | testfile
+.fi
+.if n .RE
+.sp
+\fBnfsdclnts \-\-file /proc/fs/nfsd/clients/3/states -t open\fP
+.RS 4
+Process specific states file.
+.RE
+.sp
+.if n .RS 4
+.nf
+Inode number | Type | Access | Deny | ip address | Client ID | vers | Filename
+33823232 | open | r\- | \-\- | [::1]:757 | 0xc79a009f5eb65e84 | 4.2 | testfile
+.fi
+.if n .RE
+.sp
+\fBnfsdclnts \-\-quiet \-\-hostname\fP
+.RS 4
+Hide the header information.
+.RE
+.sp
+.if n .RS 4
+.nf
+33823232 | open | r\- | \-\- | nfs\-server | testfile
+33823232 | deleg | r | | nfs\-server | testfile
+.fi
+.if n .RE
+.SH "FILES"
+.sp
+\fB/proc/fs/nfsd/clients/\fP
+.sp
+Displays basic information about each NFSv4 client.
+.sp
+\fB/proc/fs/nfsd/clients/#/info\fP
+.sp
+Displays information about all the opens held by the given client, including open modes, device numbers, inode numbers, and open owners.
+.sp
+\fB/proc/fs/nfsd/clients/#/states\fP
+.SH "NOTES"
+.sp
+/proc/fs/nfsd/clients/ support was initially introduced in 5.3 kernel and is only implemented for mount points using NFSv4.
+.SH "BUGS"
+Please report any BUGs to \c
+.MTO "linux\-nfs\(atvger.kernel.org" "" ""
+.SH SEE ALSO
+.BR nfsd (8),
+.BR exportfs (8),
+.BR idmapd (8),
+.BR statd (8)
+.SH "AUTHORS"
+Achilles Gaikwad <agaikwad@redhat.com> and
+Kenneth D'souza <kdsouza@redhat.com>
diff --git a/upstream/fedora-40/man8/nfsdcltrack.8 b/upstream/fedora-40/man8/nfsdcltrack.8
new file mode 100644
index 00000000..3905ba46
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsdcltrack.8
@@ -0,0 +1,112 @@
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.IX Title "NFSDCLTRACK 8"
+.TH NFSDCLTRACK 8 "2012-10-24" "" ""
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+nfsdcltrack \- NFSv4 Client Tracking Callout Program
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+nfsdcltrack [\-d] [\-f] [\-s stable storage dir] <command> <args...>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+nfsdcltrack is the NFSv4 client tracking callout program. It is not necessary
+to install this program on machines that are not acting as NFSv4 servers.
+.PP
+When a network partition is combined with a server reboot, there are
+edge conditions that can cause the server to grant lock reclaims when
+other clients have taken conflicting locks in the interim. A more detailed
+explanation of this issue is described in \s-1RFC\s0 3530, section 8.6.3
+and in \s-1RFC\s0 5661, section 8.4.3.
+.PP
+In order to prevent these problems, the server must track a small amount
+of per-client information on stable storage. This program provides the
+userspace piece of that functionality. When the kernel needs to manipulate
+the database that stores this info, it will execute this program to handle
+it.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-d\fR, \fB\-\-debug\fR" 4
+.IX Item "-d, --debug"
+Enable debug level logging.
+.IP "\fB\-f\fR, \fB\-\-foreground\fR" 4
+.IX Item "-f, --foreground"
+Log to stderr instead of syslog.
+.IP "\fB\-s\fR \fIstoragedir\fR, \fB\-\-storagedir\fR=\fIstorage_dir\fR" 4
+.IX Item "-s storagedir, --storagedir=storage_dir"
+Directory where stable storage information should be kept. The default
+value is \fI/var/lib/nfs/nfsdcltrack\fR.
+.SH "COMMANDS"
+.IX Header "COMMANDS"
+nfsdcltrack requires a command for each invocation. Supported commands
+are:
+.IP "\fBinit\fR" 4
+.IX Item "init"
+Initialize the database. This command requires no argument.
+.IP "\fBcreate\fR" 4
+.IX Item "create"
+Create a new client record (or update the timestamp on an existing one). This command requires a hex-encoded nfs_client_id4 as an argument.
+.IP "\fBremove\fR" 4
+.IX Item "remove"
+Remove a client record from the database. This command requires a hex-encoded nfs_client_id4 as an argument.
+.IP "\fBcheck\fR" 4
+.IX Item "check"
+Check to see if a nfs_client_id4 is allowed to reclaim. This command requires a hex-encoded nfs_client_id4 as an argument.
+.IP "\fBgracedone\fR" 4
+.IX Item "gracedone"
+Remove any unreclaimed client records from the database. This command requires a epoch boot time as an argument.
+.SH "EXTERNAL CONFIGURATION"
+The directory for stable storage information can be set via the file
+.B /etc/nfs.conf
+by setting the
+.B storagedir
+value in the
+.B nfsdcltrack
+section. For example:
+.in +5
+[nfsdcltrack]
+.br
+ storagedir = /shared/nfs/nfsdcltrack
+.in -5
+Debugging to syslog can also be enabled by setting "debug = 1" in this file.
+.SH "LEGACY TRANSITION MECHANISM"
+.IX Header "LEGACY TRANSITION MECHANISM"
+The Linux kernel NFSv4 server has historically tracked this information
+on stable storage by manipulating information on the filesystem
+directly, in the directory to which \fI/proc/fs/nfsd/nfsv4recoverydir\fR
+points. If the kernel passes the correct information, then nfsdcltrack
+can use it to allow a seamless transition from the old client tracking
+scheme to the new one.
+.PP
+On a \fBcheck\fR operation, if there is no record of the client in the
+database, nfsdcltrack will look to see if the \fB\s-1NFSDCLTRACK_LEGACY_RECDIR\s0\fR
+environment variable is set. If it is, then it will fetch that value and
+see if a directory exists by that name. If it does, then the check
+operation will succeed and the directory will be removed.
+.PP
+On a \fBgracedone\fR operation, nfsdcltrack will look to see if the
+\&\fB\s-1NFSDCLTRACK_LEGACY_TOPDIR\s0\fR environment variable is set. If it is, then
+it will attempt to clean out that directory prior to exiting.
+.PP
+Note that this transition is one-way. If the machine subsequently reboots
+back into an older kernel that does not support the nfsdcltrack upcall
+then the clients will not be able to recover their state.
+.SH "NOTES"
+.IX Header "NOTES"
+This program requires a kernel that supports the nfsdcltrack usermodehelper
+upcall. This support was first added to mainline kernels in 3.8.
+.SH "AUTHORS"
+.IX Header "AUTHORS"
+nfsdcltrack was developed by Jeff Layton <jlayton@redhat.com>.
diff --git a/upstream/fedora-40/man8/nfsidmap.8 b/upstream/fedora-40/man8/nfsidmap.8
new file mode 100644
index 00000000..1911c41b
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsidmap.8
@@ -0,0 +1,159 @@
+.\"
+.\"@(#)nfsidmap(8) - The NFS idmapper upcall program
+.\"
+.\" Copyright (C) 2010 Bryan Schumaker <bjschuma@netapp.com>
+.TH nfsidmap 8 "1 October 2010"
+.SH NAME
+nfsidmap \- The NFS idmapper upcall program
+.SH SYNOPSIS
+.B "nfsidmap [-v] [-t timeout] key desc"
+.br
+.B "nfsidmap [-v] [-c]"
+.br
+.B "nfsidmap [-v] [-u|-g|-r user]"
+.br
+.B "nfsidmap -d"
+.br
+.B "nfsidmap -l"
+.br
+.B "nfsidmap -h"
+.SH DESCRIPTION
+The NFSv4 protocol represents the local system's UID and GID values
+on the wire as strings of the form
+.IR user@domain .
+The process of translating from UID to string and string to UID is
+referred to as "ID mapping."
+.PP
+The system derives the
+.I user
+part of the string by performing a password or group lookup.
+The lookup mechanism is configured in
+.IR /etc/idmapd.conf .
+.PP
+By default, the
+.I domain
+part of the string is the system's DNS domain name.
+It can also be specified in
+.I /etc/idmapd.conf
+if the system is multi-homed,
+or if the system's DNS domain name does
+not match the name of the system's Kerberos realm.
+.PP
+When the domain is not specified in
+.I /etc/idmapd.conf
+the local DNS server will be queried for the
+.I _nfsv4idmapdomain
+text record. If the record exists
+that will be used as the domain. When the record
+does not exist, the domain part of the DNS domain
+will used.
+.PP
+The
+.I /usr/sbin/nfsidmap
+program performs translations on behalf of the kernel.
+The kernel uses the request-key mechanism to perform
+an upcall.
+.I /usr/sbin/nfsidmap
+is invoked by /sbin/request-key, performs the translation,
+and initializes a key with the resulting information.
+The kernel then caches the translation results in the key.
+.PP
+.I nfsidmap
+can also clear cached ID map results in the kernel,
+or revoke one particular key.
+An incorrect cached key can result in file and directory ownership
+reverting to "nobody" on NFSv4 mount points.
+.PP
+In addition, the
+.B -d
+and
+.B -l
+options are available to help diagnose misconfigurations.
+They have no effect on the keyring containing ID mapping results.
+.SH OPTIONS
+.TP
+.B -c
+Clear the keyring of all the keys.
+.TP
+.B -d
+Display the system's effective NFSv4 domain name on
+.IR stdout .
+.TP
+.B -g user
+Revoke the gid key of the given user.
+.TP
+.B -h
+Display usage message.
+.TP
+.B -l
+Display on
+.I stdout
+all keys currently in the keyring used to cache ID mapping results.
+These keys are visible only to the superuser.
+.TP
+.B -r user
+Revoke both the uid and gid key of the given user.
+.TP
+.B -t timeout
+Set the expiration timer, in seconds, on the key.
+The default is 600 seconds (10 mins).
+.TP
+.B -u user
+Revoke the uid key of the given user.
+.TP
+.B -v
+Increases the verbosity of the output to syslog
+(can be specified multiple times).
+.SH CONFIGURING
+The file
+.I /etc/request-key.conf
+will need to be modified so
+.I /sbin/request-key
+can properly direct the upcall. The following line should be added before a call
+to keyctl negate:
+.PP
+create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d
+.PP
+This will direct all id_resolver requests to the program
+.I /usr/sbin/nfsidmap.
+The
+.B -t 600
+defines how many seconds into the future the key will
+expire. This is an optional parameter for
+.I /usr/sbin/nfsidmap
+and will default to 600 seconds when not specified.
+.PP
+The idmapper system uses four key descriptions:
+.PP
+ uid: Find the UID for the given user
+.br
+ gid: Find the GID for the given group
+.br
+ user: Find the user name for the given UID
+.br
+ group: Find the group name for the given GID
+.PP
+You can choose to handle any of these individually, rather than using the
+generic upcall program. If you would like to use your own program for a uid
+lookup then you would edit your request-key.conf so it looks similar to this:
+.PP
+create id_resolver uid:* * /some/other/program %k %d
+.br
+create id_resolver * * /usr/sbin/nfsidmap %k %d
+.PP
+Notice that the new line was added above the line for the generic program.
+request-key will find the first matching line and run the corresponding program.
+In this case, /some/other/program will handle all uid lookups, and
+/usr/sbin/nfsidmap will handle gid, user, and group lookups.
+.SH FILES
+.TP
+.I /etc/idmapd.conf
+ID mapping configuration file
+.TP
+.I /etc/request-key.conf
+Request key configuration file
+.SH "SEE ALSO"
+.BR idmapd.conf (5),
+.BR request-key (8)
+.SH AUTHOR
+Bryan Schumaker, <bjschuma@netapp.com>
diff --git a/upstream/fedora-40/man8/nfsiostat.8 b/upstream/fedora-40/man8/nfsiostat.8
new file mode 100644
index 00000000..940c0431
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsiostat.8
@@ -0,0 +1,141 @@
+.\"
+.\" nfsiostat(8)
+.\"
+.TH nfsiostat 8 "15 Apr 2010"
+.SH NAME
+nfsiostat \- Emulate iostat for NFS mount points using /proc/self/mountstats
+.SH SYNOPSIS
+.BI "nfsiostat [[" <interval> "] [" <count> "]] [" <options> "]["<mount_point> "]
+.SH DESCRIPTION
+The
+.B nfsiostat
+command displays NFS client per-mount statisitics.
+.TP
+<interval>
+specifies the amount of time in seconds between each report.
+The first report contains statistics for the time since each file
+system was mounted. Each subsequent report contains statistics collected
+during the interval since the previous report.
+.TP
+<count>
+If the
+.I <count>
+parameter is
+specified, the value of
+.I <count>
+determines the number of reports generated at
+.I <interval>
+seconds apart. if the interval parameter is
+specified without the
+.I <count>
+parameter, the command generates reports continuously.
+.TP
+<options>
+Define below
+.TP
+<mount_point>
+If one or more
+.I <mount point>
+names are specified, statistics for only these mount points will
+be displayed. Otherwise, all NFS mount points on the client are listed.
+.TP
+The meaning of each column of \fBnfsiostat\fR's output is the following:
+.RS 8
+- \fBop/s\fR
+.RS
+This is the number of operations per second.
+.RS
+.RE
+.RE
+.RE
+.RS 8
+- \fBrpc bklog\fR
+.RS
+This is the length of the backlog queue.
+.RE
+.RE
+.RE
+.RS 8
+- \fBkB/s\fR
+.RS
+This is the number of kB written/read per second.
+.RE
+.RE
+.RE
+.RS 8
+- \fBkB/op\fR
+.RS
+This is the number of kB written/read per each operation.
+.RE
+.RE
+.RE
+.RS 8
+- \fBretrans\fR
+.RS
+This is the number of retransmissions.
+.RE
+.RE
+.RE
+.RS 8
+- \fBavg RTT (ms)\fR
+.RS
+This is the duration from the time that client's kernel sends the RPC request until the time it receives the reply.
+.RE
+.RE
+.RE
+.RS 8
+- \fBavg exe (ms)\fR
+.RS
+This is the duration from the time that NFS client does the RPC request to its kernel until the RPC request is completed, this includes the RTT time above.
+.RE
+.RE
+.RE
+.RS 8
+- \fBavg queue (ms)\fR
+.RS
+This is the duration from the time the NFS client created the RPC request task to the time the request is transmitted.
+.RE
+.RE
+.RE
+.RS 8
+- \fBerrors\fR
+.RS
+This is the number of operations that completed with an error status (status < 0). This count is only available on kernels with RPC iostats version 1.1 or above.
+.RS
+.RE
+.RE
+.RE
+.TP
+Note that if an interval is used as argument to \fBnfsiostat\fR, then the diffrence from previous interval will be displayed, otherwise the results will be from the time that the share was mounted.
+
+.SH OPTIONS
+.TP
+.B \-a " or " \-\-attr
+displays statistics related to the attribute cache
+.TP
+.B \-d " or " \-\-dir
+displays statistics related to directory operations
+.TP
+.B \-h " or " \-\-help
+shows help message and exit
+.TP
+.B \-l LIST or " \-\-list=LIST
+only print stats for first LIST mount points
+.TP
+.B \-p " or " \-\-page
+displays statistics related to the page cache
+.TP
+.B \-s " or " \-\-sort
+Sort NFS mount points by ops/second
+.TP
+.B \-\-version
+show program's version number and exit
+.SH FILES
+.TP
+.B /proc/self/mountstats
+.SH SEE ALSO
+.BR iostat (8),
+.BR mountstats (8),
+.BR nfsstat(8)
+.SH AUTHOR
+Chuck Lever <chuck.lever@oracle.com>
diff --git a/upstream/fedora-40/man8/nfsref.8 b/upstream/fedora-40/man8/nfsref.8
new file mode 100644
index 00000000..1970f9dd
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsref.8
@@ -0,0 +1,182 @@
+.\"@(#)nfsref.8"
+.\"
+.\" @file utils/nfsref/nfsref.man
+.\" @brief man page for nfsref command
+.\"
+
+.\"
+.\" Copyright 2011, 2018 Oracle. All rights reserved.
+.\"
+.\" This file is part of nfs-utils.
+.\"
+.\" nfs-utils is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License version 2.0 as
+.\" published by the Free Software Foundation.
+.\"
+.\" nfs-utils is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License version 2.0 for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" version 2.0 along with nfs-utils. If not, see:
+.\"
+.\" http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
+.\"
+.TH NFSREF 8 "9 Jan 2018"
+.SH NAME
+nfsref \- manage NFS referrals
+.SH SYNOPSIS
+.B nfsref
+.RB [ \-?d ]
+.RB [ \-t
+.IB type ]
+.B add
+.I pathname server export
+.RI [ " server"
+.IR export " ... ]"
+.P
+.B nfsref
+.RB [ \-?d ]
+.RB [ \-t
+.IB type ]
+.B remove
+.I pathname
+.P
+.B nfsref
+.RB [ \-?d ]
+.RB [ \-t
+.IB type ]
+.B lookup
+.I pathname
+.SH INTRODUCTION
+NFS version 4 introduces the concept of
+.I file system referrals
+to NFS.
+.P
+A file system referral is like a symbolic link
+(or,
+.IR symlink )
+to another file system share, typically on another file server.
+An NFS client, under the server's direction,
+mounts the referred-to NFS export
+automatically when an application first accesses it.
+.P
+NFSv4 referrals can be used to transparently redirect clients
+to file systems that have been moved elsewhere, or
+to construct a single file name space across multiple file servers.
+Because file servers control the shape of the whole file name space,
+no client configuration is required.
+.P
+.SH DESCRIPTION
+A
+.I junction
+is a file system object on an NFS server that,
+when an NFS client encounters it, triggers a referral.
+Similar to a symlink, a junction contains one or more target locations
+that the server sends to clients in the form of an NFSv4 referral.
+.P
+On Linux, an existing directory can be converted to a junction
+and back atomically and without the loss of the directory contents.
+When a directory acts as a junction, it's local content is hidden
+from NFSv4 clients.
+.P
+The
+.BR nfsref (8)
+command is a simple way to get started managing junctions and their content.
+.SS Subcommands
+Valid
+.BR nfsref (8)
+subcommands are:
+.IP "\fBadd\fP"
+Adds junction information to the directory named by
+.IR pathname .
+The named directory must already exist,
+and must not already contain junction information.
+Regular directory contents are obscured to NFS clients by this operation.
+.IP
+A list of one or more file server and export path pairs
+is also specified on the command line.
+When creating an NFS basic junction, this list is
+stored in an extended attribute of the directory.
+.IP
+If junction creation is successful, the
+.BR nfsref (8)
+command flushes the kernel's export cache
+to remove previously cached junction information.
+.IP "\fBremove\fP"
+Removes junction information from the directory named by
+.IR pathname .
+The named directory must exist,
+and must contain junction information.
+Regular directory contents are made visible to NFS clients again by this operation.
+.IP
+If junction deletion is successful, the
+.BR nfsref (8)
+command flushes the kernel's export cache
+to remove previously cached junction information.
+.IP "\fBlookup\fP"
+Displays junction information stored in the directory named by
+.IR pathname .
+The named directory must exist,
+and must contain junction information.
+.IP
+When looking up an NFS basic junction, the junction information
+in the directory is listed on
+.IR stdout .
+.SS Command line options
+.IP "\fB\-d, \-\-debug"
+Enables debugging messages during operation.
+.IP "\fB\-t, \-\-type=\fIjunction-type\fP"
+Specifies the junction type for the operation. Valid values for
+.I junction-type
+are
+.B nfs-basic
+or
+.BR nfs-fedfs .
+.IP
+For the
+.B add
+subcommand, the default value if this option is not specified is
+.BR nfs-basic .
+The
+.B nfs-fedfs
+type is not used in this implementation.
+.IP
+For the
+.B remove
+and
+.B lookup
+subcommands, the
+.B \-\-type
+option is not required. The
+.BR nfsref (8)
+command operates on whatever junction contents are available.
+.SH EXAMPLES
+Suppose you have two file servers,
+.I top.example.net
+and
+.IR home.example.net .
+You want all your clients to mount
+.I top.example.net:/
+and then see the files under
+.I home.example.net:/
+automatically in
+.IR top:/home .
+.P
+On
+.IR top.example.net ,
+you might issue this command as root:
+.RS
+.sp
+# mkdir /home
+.br
+# nfsref add /home home.example.net /
+.br
+Created junction /home.
+.sp
+.RE
+.SH "SEE ALSO"
+RFC 8881 for a description of the NFS version 4 referral mechanism
+.SH "AUTHOR"
+Chuck Lever <chuck.lever@oracle.com>
diff --git a/upstream/fedora-40/man8/nfsstat.8 b/upstream/fedora-40/man8/nfsstat.8
new file mode 100644
index 00000000..2e52935e
--- /dev/null
+++ b/upstream/fedora-40/man8/nfsstat.8
@@ -0,0 +1,173 @@
+.\"
+.\" nfsstat(8)
+.\"
+.\" Copyright (C) 1996-2005 Olaf Kirch <okir@suse.de>
+.TH nfsstat 8 "7 Aug 2007"
+.SH NAME
+nfsstat \- list NFS statistics
+.SH SYNOPSIS
+.B nfsstat
+[\fIOPTION\fR]...
+.SH DESCRIPTION
+The
+.B nfsstat
+displays statistics kept about NFS client and server activity.
+.SH OPTIONS
+.TP
+.B \-s, \-\-server
+Print only server-side statistics. The default is to print both server and
+client statistics.
+.TP
+.B \-c, \-\-client
+Print only client-side statistics.
+.TP
+.B \-n, \-\-nfs
+Print only NFS statistics. The default is to print both NFS and RPC
+information.
+.TP
+.B \-2
+Print only NFS v2 statistics. The default is to only print information
+about the versions of \fBNFS\fR that have non-zero counts.
+.TP
+.B \-3
+Print only NFS v3 statistics. The default is to only print information
+about the versions of \fBNFS\fR that have non-zero counts.
+.TP
+.B \-4
+Print only NFS v4 statistics. The default is to only print information
+about the versions of \fBNFS\fR that have non-zero counts.
+.TP
+.B \-m, \-\-mounts
+Print information about each of the mounted \fBNFS\fR file systems.
+
+If this option is used, all other options are ignored.
+.TP
+.B \-r, \-\-rpc
+Print only RPC statistics.
+.TP
+.BI \-o " facility
+Display statistics for the specified facility, which must be one of:
+.RS
+.TP
+.B nfs
+NFS protocol information, split up by RPC call.
+.TP
+.B rpc
+General RPC information.
+.TP
+.B net
+Network layer statistics, such as the number of received packets, number
+of TCP connections, etc.
+.TP
+.B fh
+Usage information on the server's file handle cache, including the
+total number of lookups, and the number of hits and misses.
+.TP
+.B rc
+Usage information on the server's request reply cache, including the
+total number of lookups, and the number of hits and misses.
+.TP
+.B io
+Usage information on the server's io statistics; bytes read and
+written.
+.TP
+.B ra
+Usage information on the server's read ahead cache, including the
+ra cache size, the depth of ra cache hits, and ra cache misses.
+.TP
+.B all
+Display all of the above facilities.
+.RE
+.TP
+.B \-v, \-\-verbose
+This is equivalent to \fB\-o all\fR.
+.TP
+.B \-l, \-\-list
+Print information in list form.
+.TP
+.BI "\-S, \-\-since " file
+Instead of printing current statistics,
+.B nfsstat
+imports statistics from
+.I file
+and displays the difference between those and the current statistics.
+Valid input
+.IR file "s may be in the form of "
+.B /proc/net/rpc/nfs
+(raw client stats),
+.B /proc/net/rpc/nfsd
+(raw server stats), or saved output from
+.B nfsstat
+itself (client and/or server stats). Any statistics missing from a saved
+.B nfsstat
+output
+.I file
+are treated as zeroes.
+.TP
+.B \-Z[interval], \-\-sleep=[interval]
+Instead of printing current statistics and immediately exiting,
+.B nfsstat
+takes a snapshot of the current statistics and pauses until it receives
+.B SIGINT
+(typically from
+.BR Ctrl-C ),
+at which point it takes another snapshot and displays the difference
+between the two.
+If \fIinterval\fR is specified,
+.B nfsstat
+will print the number of \fBNFS\fR calls made since the previous report.
+Stats will be printed repeatedly every \fIinterval\fR seconds.
+.\" --------------------- EXAMPLES -------------------------------
+.SH EXAMPLES
+.TP
+.B nfsstat \-o all \-234
+Show all information about all versions of \fBNFS\fR.
+.TP
+.B nfsstat \-\-verbose \-234
+Same as above.
+.TP
+.B nfsstat \-o all
+Show all information about active versions of \fBNFS\fR.
+.TP
+.B nfsstat \-\-nfs \-\-server \-3
+Show statistics for \fBNFS\fR version 3 server.
+.TP
+.B nfsstat \-m
+Show information about mounted \fBNFS\fR filesystems.
+.\" --------------------- DISPLAY --------------------------------
+.SH DISPLAY
+The \fBFlags\fR output from the \fB\-m\fR option is the same as the
+flags give to the \fBmount\fR command.
+.\" --------------------- FILES ----------------------------------
+.SH FILES
+.TP
+.B /proc/net/rpc/nfsd
+.BR procfs -based
+interface to kernel NFS server statistics.
+.TP
+.B /proc/net/rpc/nfs
+.BR procfs -based
+interface to kernel NFS client statistics.
+.TP
+.B /proc/mounts
+.BR procfs -based
+interface to the mounted filesystems.
+.\" -------------------- SEE ALSO --------------------------------
+.SH SEE ALSO
+.BR rpc.nfsd (8).
+.BR nfs (5).
+.\" ---------------------- BUGS ----------------------------------
+.SH BUGS
+The default output has been changed. To get the old default output you must run \fBnfsstat \-\-auto \-2\fR.
+.P
+The function of the \fB\-v\fR and \fB\-a\fR options have changed. The \fB\-a\fR option
+is now reserved for future use. The \fB\-v\fR does what the \fB\-a\fR option used to do,
+and the new \fB\-[234]\fR options replace the \fB\-v\fR option.
+.P
+The \fBDisplay\fR section should be more complete.
+.P
+Further bugs can be found or reported at
+.BR http://nfs.sf.net/ .
+.\" -------------------- AUTHOR ----------------------------------
+.SH AUTHOR
+Olaf Kirch, <okir@suse.de>
diff --git a/upstream/fedora-40/man8/nscd.8 b/upstream/fedora-40/man8/nscd.8
new file mode 100644
index 00000000..7f505e0f
--- /dev/null
+++ b/upstream/fedora-40/man8/nscd.8
@@ -0,0 +1,84 @@
+.\" Copyright 1999 SuSE GmbH Nuernberg, Germany
+.\" Author: Thorsten Kukuk <kukuk@suse.de>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.\" 2008-12-05 Petr Baudis <pasky@suse.cz>
+.\" Rewrite the NOTES section to reflect modern reality
+.\"
+.TH nscd 8 2023-10-31 "Linux man-pages 6.06"
+.SH NAME
+nscd \- name service cache daemon
+.SH DESCRIPTION
+.B nscd
+is a daemon that provides a cache for the most common name service
+requests.
+The default configuration file,
+.IR /etc/nscd.conf ,
+determines the behavior of the cache daemon.
+See
+.BR nscd.conf (5).
+.P
+.B nscd
+provides caching for accesses of the
+.BR passwd (5),
+.BR group (5),
+.BR hosts (5)
+.BR services (5)
+and
+.I netgroup
+databases through standard libc interfaces, such as
+.BR getpwnam (3),
+.BR getpwuid (3),
+.BR getgrnam (3),
+.BR getgrgid (3),
+.BR gethostbyname (3),
+and others.
+.P
+There are two caches for each database:
+a positive one for items found, and a negative one
+for items not found.
+Each cache has a separate TTL (time-to-live)
+period for its data.
+Note that the shadow file is specifically not cached.
+.BR getspnam (3)
+calls remain uncached as a result.
+.SH OPTIONS
+.TP
+.B "\-\-help"
+will give you a list with all options and what they do.
+.SH NOTES
+The daemon will try to watch for changes in configuration files
+appropriate for each database (e.g.,
+.I /etc/passwd
+for the
+.I passwd
+database or
+.I /etc/hosts
+and
+.I /etc/resolv.conf
+for the
+.I hosts
+database), and flush the cache when these are changed.
+However, this will happen only after a short delay (unless the
+.BR inotify (7)
+mechanism is available and glibc 2.9 or later is available),
+and this auto-detection does not cover configuration files
+required by nonstandard NSS modules, if any are specified in
+.IR /etc/nsswitch.conf .
+In that case, you need to run the following command
+after changing the configuration file of the database so that
+.B nscd
+invalidates its cache:
+.P
+.in +4n
+.EX
+$ \fBnscd \-i\fP \fI<database>\fP
+.EE
+.in
+.SH SEE ALSO
+.BR nscd.conf (5),
+.BR nsswitch.conf (5)
+.\" .SH AUTHOR
+.\" .B nscd
+.\" was written by Thorsten Kukuk and Ulrich Drepper.
diff --git a/upstream/fedora-40/man8/nss-myhostname.8 b/upstream/fedora-40/man8/nss-myhostname.8
new file mode 100644
index 00000000..d2e92b58
--- /dev/null
+++ b/upstream/fedora-40/man8/nss-myhostname.8
@@ -0,0 +1,181 @@
+'\" t
+.TH "NSS\-MYHOSTNAME" "8" "" "systemd 255" "nss-myhostname"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+nss-myhostname, libnss_myhostname.so.2 \- Hostname resolution for the locally configured system hostname
+.SH "SYNOPSIS"
+.PP
+libnss_myhostname\&.so\&.2
+.SH "DESCRIPTION"
+.PP
+\fBnss\-myhostname\fR
+is a plug\-in module for the GNU Name Service Switch (NSS) functionality of the GNU C Library (\fBglibc\fR), primarily providing hostname resolution for the locally configured system hostname as returned by
+\fBgethostname\fR(2)\&. The precise hostnames resolved by this module are:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The local, configured hostname is resolved to all locally configured IP addresses ordered by their scope, or \(em if none are configured \(em the IPv4 address 127\&.0\&.0\&.2 (which is on the local loopback) and the IPv6 address ::1 (which is the local host)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostnames
+"localhost"
+and
+"localhost\&.localdomain"
+(as well as any hostname ending in
+"\&.localhost"
+or
+"\&.localhost\&.localdomain") are resolved to the IP addresses 127\&.0\&.0\&.1 and ::1\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostname
+"_gateway"
+is resolved to all current default routing gateway addresses, ordered by their metric\&. This assigns a stable hostname to the current gateway, useful for referencing it independently of the current network configuration state\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostname
+"_outbound"
+is resolved to the local IPv4 and IPv6 addresses that are most likely used for communication with other hosts\&. This is determined by requesting a routing decision to the configured default gateways from the kernel and then using the local IP addresses selected by this decision\&. This hostname is only available if there is at least one local default gateway configured\&. This assigns a stable hostname to the local outbound IP addresses, useful for referencing them independently of the current network configuration state\&.
+.RE
+.PP
+Various software relies on an always\-resolvable local hostname\&. When using dynamic hostnames, this is traditionally achieved by patching
+/etc/hosts
+at the same time as changing the hostname\&. This is problematic since it requires a writable
+/etc/
+file system and is fragile because the file might be edited by the administrator at the same time\&. With
+\fBnss\-myhostname\fR
+enabled, changing
+/etc/hosts
+is unnecessary, and on many systems, the file becomes entirely optional\&.
+.PP
+To activate the NSS modules, add
+"myhostname"
+to the line starting with
+"hosts:"
+in
+/etc/nsswitch\&.conf\&.
+.PP
+It is recommended to place
+"myhostname"
+after
+"file"
+and before
+"dns"\&. This resolves well\-known hostnames like
+"localhost"
+and the machine hostnames locally\&. It is consistent with the behaviour of
+\fBnss\-resolve\fR, and still allows overriding via
+/etc/hosts\&.
+.PP
+Please keep in mind that
+\fBnss\-myhostname\fR
+(and
+\fBnss\-resolve\fR) also resolve in the other direction \(em from locally attached IP addresses to hostnames\&. If you rely on that lookup being provided by DNS, you might want to order things differently\&.
+.SH "EXAMPLE"
+.PP
+Here is an example
+/etc/nsswitch\&.conf
+file that enables
+\fBnss\-myhostname\fR
+correctly:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+passwd: files systemd
+group: files [SUCCESS=merge] systemd
+shadow: files systemd
+gshadow: files systemd
+
+hosts: mymachines resolve [!UNAVAIL=return] files \fBmyhostname\fR dns
+networks: files
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: nis
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+To test, use
+\fBglibc\fR\*(Aqs
+\fBgetent\fR(1)
+tool:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ getent ahosts `hostname`
+::1 STREAM omega
+::1 DGRAM
+::1 RAW
+127\&.0\&.0\&.2 STREAM
+127\&.0\&.0\&.2 DGRAM
+127\&.0\&.0\&.2 RAW
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+In this case, the local hostname is
+\fIomega\fR\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBnss-systemd\fR(8),
+\fBnss-resolve\fR(8),
+\fBnss-mymachines\fR(8),
+\fBnsswitch.conf\fR(5),
+\fBgetent\fR(1)
diff --git a/upstream/fedora-40/man8/nss-mymachines.8 b/upstream/fedora-40/man8/nss-mymachines.8
new file mode 100644
index 00000000..60a2b3a7
--- /dev/null
+++ b/upstream/fedora-40/man8/nss-mymachines.8
@@ -0,0 +1,140 @@
+'\" t
+.TH "NSS\-MYMACHINES" "8" "" "systemd 255" "nss-mymachines"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+nss-mymachines, libnss_mymachines.so.2 \- Hostname resolution for local container instances
+.SH "SYNOPSIS"
+.PP
+libnss_mymachines\&.so\&.2
+.SH "DESCRIPTION"
+.PP
+\fBnss\-mymachines\fR
+is a plug\-in module for the GNU Name Service Switch (NSS) functionality of the GNU C Library (\fBglibc\fR), providing hostname resolution for the names of containers running locally that are registered with
+\fBsystemd-machined.service\fR(8)\&. The container names are resolved to the IP addresses of the specific container, ordered by their scope\&. This functionality only applies to containers using network namespacing (see the description of
+\fB\-\-private\-network\fR
+in
+\fBsystemd-nspawn\fR(1))\&. Note that the name that is resolved is the one registered with
+\fBsystemd\-machined\fR, which may be different than the hostname configured inside of the container\&.
+.PP
+Note that this NSS module only makes available names of the containers running immediately below the current system context\&. It does not provide host name resolution for containers running side\-by\-side with the invoking system context, or containers further up or down the container hierarchy\&. Or in other words, on the host system it provides host name resolution for the containers running immediately below the host environment\&. When used inside a container environment however, it will not be able to provide name resolution for containers running on the host (as those are siblings and not children of the current container environment), but instead only for nested containers running immediately below its own container environment\&.
+.PP
+To activate the NSS module, add
+"mymachines"
+to the line starting with
+"hosts:"
+in
+/etc/nsswitch\&.conf\&.
+.PP
+It is recommended to place
+"mymachines"
+before the
+"resolve"
+or
+"dns"
+entry of the
+"hosts:"
+line of
+/etc/nsswitch\&.conf
+in order to make sure that its mappings are preferred over other resolvers such as DNS\&.
+.SH "CONFIGURATION IN /ETC/NSSWITCH\&.CONF"
+.PP
+Here is an example
+/etc/nsswitch\&.conf
+file that enables
+\fBnss\-mymachines\fR
+correctly:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+passwd: files systemd
+group: files [SUCCESS=merge] systemd
+shadow: files systemd
+gshadow: files systemd
+
+hosts: \fBmymachines\fR resolve [!UNAVAIL=return] files myhostname dns
+networks: files
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: nis
+.fi
+.if n \{\
+.RE
+.\}
+.SH "EXAMPLE: MAPPINGS PROVIDED BY NSS\-MYMACHINES"
+.PP
+The container
+"rawhide"
+is spawned using
+\fBsystemd-nspawn\fR(1):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# systemd\-nspawn \-M rawhide \-\-boot \-\-network\-veth \-\-private\-users=pick
+Spawning container rawhide on /var/lib/machines/rawhide\&.
+Selected user namespace base 20119552 and range 65536\&.
+\&.\&.\&.
+
+$ machinectl \-\-max\-addresses=3
+MACHINE CLASS SERVICE OS VERSION ADDRESSES
+rawhide container systemd\-nspawn fedora 30 169\&.254\&.40\&.164 fe80::94aa:3aff:fe7b:d4b9
+
+$ ping \-c1 rawhide
+PING rawhide(fe80::94aa:3aff:fe7b:d4b9%ve\-rawhide (fe80::94aa:3aff:fe7b:d4b9%ve\-rawhide)) 56 data bytes
+64 bytes from fe80::94aa:3aff:fe7b:d4b9%ve\-rawhide (fe80::94aa:3aff:fe7b:d4b9%ve\-rawhide): icmp_seq=1 ttl=64 time=0\&.045 ms
+\&.\&.\&.
+$ ping \-c1 \-4 rawhide
+PING rawhide (169\&.254\&.40\&.164) 56(84) bytes of data\&.
+64 bytes from 169\&.254\&.40\&.164 (169\&.254\&.40\&.164): icmp_seq=1 ttl=64 time=0\&.064 ms
+\&.\&.\&.
+
+# machinectl shell rawhide /sbin/ip a
+Connected to machine rawhide\&. Press ^] three times within 1s to exit session\&.
+1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
+ \&.\&.\&.
+2: host0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
+ link/ether 96:aa:3a:7b:d4:b9 brd ff:ff:ff:ff:ff:ff link\-netnsid 0
+ inet 169\&.254\&.40\&.164/16 brd 169\&.254\&.255\&.255 scope link host0
+ valid_lft forever preferred_lft forever
+ inet6 fe80::94aa:3aff:fe7b:d4b9/64 scope link
+ valid_lft forever preferred_lft forever
+Connection to machine rawhide terminated\&.
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-machined.service\fR(8),
+\fBmachinectl\fR(1),
+\fBnss-systemd\fR(8),
+\fBnss-resolve\fR(8),
+\fBnss-myhostname\fR(8),
+\fBnsswitch.conf\fR(5),
+\fBgetent\fR(1)
diff --git a/upstream/fedora-40/man8/nss-resolve.8 b/upstream/fedora-40/man8/nss-resolve.8
new file mode 100644
index 00000000..5c12c8d4
--- /dev/null
+++ b/upstream/fedora-40/man8/nss-resolve.8
@@ -0,0 +1,174 @@
+'\" t
+.TH "NSS\-RESOLVE" "8" "" "systemd 255" "nss-resolve"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+nss-resolve, libnss_resolve.so.2 \- Hostname resolution via systemd\-resolved\&.service
+.SH "SYNOPSIS"
+.PP
+libnss_resolve\&.so\&.2
+.SH "DESCRIPTION"
+.PP
+\fBnss\-resolve\fR
+is a plug\-in module for the GNU Name Service Switch (NSS) functionality of the GNU C Library (\fBglibc\fR) enabling it to resolve hostnames via the
+\fBsystemd-resolved\fR(8)
+local network name resolution service\&. It replaces the
+\fBnss\-dns\fR
+plug\-in module that traditionally resolves hostnames via DNS\&.
+.PP
+To activate the NSS module, add
+"resolve\ \&[!UNAVAIL=return]"
+to the line starting with
+"hosts:"
+in
+/etc/nsswitch\&.conf\&. Specifically, it is recommended to place
+"resolve"
+early in
+/etc/nsswitch\&.conf\*(Aqs
+"hosts:"
+line\&. It should be before the
+"files"
+entry, since
+systemd\-resolved
+supports
+/etc/hosts
+internally, but with caching\&. To the contrary, it should be after
+"mymachines", to give hostnames given to local VMs and containers precedence over names received over DNS\&. Finally, we recommend placing
+"dns"
+somewhere after
+"resolve", to fall back to
+\fBnss\-dns\fR
+if
+systemd\-resolved\&.service
+is not available\&.
+.PP
+Note that
+\fBsystemd\-resolved\fR
+will synthesize DNS resource records in a few cases, for example for
+"localhost"
+and the current local hostname, see
+\fBsystemd-resolved\fR(8)
+for the full list\&. This duplicates the functionality of
+\fBnss-myhostname\fR(8), but it is still recommended (see examples below) to keep
+\fBnss\-myhostname\fR
+configured in
+/etc/nsswitch\&.conf, to keep those names resolveable if
+\fBsystemd\-resolved\fR
+is not running\&.
+.PP
+Please keep in mind that
+\fBnss\-myhostname\fR
+(and
+\fBnss\-resolve\fR) also resolve in the other direction \(em from locally attached IP addresses to hostnames\&. If you rely on that lookup being provided by DNS, you might want to order things differently\&.
+.PP
+Communication between
+\fBnss\-resolve\fR
+and
+systemd\-resolved\&.service
+takes place via the
+/run/systemd/resolve/io\&.systemd\&.Resolve
+\fBAF_UNIX\fR
+socket\&.
+.SH "ENVIRONMENT VARIABLES"
+.PP
+\fI$SYSTEMD_NSS_RESOLVE_VALIDATE\fR
+.RS 4
+Takes a boolean argument\&. When false, cryptographic validation of resource records via DNSSEC will be disabled\&. This may be useful for testing, or when system time is known to be unreliable\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fI$SYSTEMD_NSS_RESOLVE_SYNTHESIZE\fR
+.RS 4
+Takes a boolean argument\&. When false, synthetic records, e\&.g\&. for the local host name, will not be returned\&. See section SYNTHETIC RECORDS in
+\fBsystemd-resolved.service\fR(8)
+for more information\&. This may be useful to query the "public" resource records, independent of the configuration of the local machine\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fI$SYSTEMD_NSS_RESOLVE_CACHE\fR
+.RS 4
+Takes a boolean argument\&. When false, the cache of previously queried records will not be used by
+\fBsystemd-resolved\fR(8)\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fI$SYSTEMD_NSS_RESOLVE_ZONE\fR
+.RS 4
+Takes a boolean argument\&. When false, answers using locally registered public LLMNR/mDNS resource records will not be returned\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fI$SYSTEMD_NSS_RESOLVE_TRUST_ANCHOR\fR
+.RS 4
+Takes a boolean argument\&. When false, answers using locally configured trust anchors will not be used\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fI$SYSTEMD_NSS_RESOLVE_NETWORK\fR
+.RS 4
+Takes a boolean argument\&. When false, answers will be returned without using the network, i\&.e\&. either from local sources or the cache in
+\fBsystemd-resolved\fR(8)\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "EXAMPLE"
+.PP
+Here is an example
+/etc/nsswitch\&.conf
+file that enables
+\fBnss\-resolve\fR
+correctly:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+passwd: files systemd
+group: files [SUCCESS=merge] systemd
+shadow: files systemd
+gshadow: files systemd
+
+hosts: mymachines \fBresolve [!UNAVAIL=return]\fR files myhostname dns
+networks: files
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: nis
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-resolved\fR(8),
+\fBnss-systemd\fR(8),
+\fBnss-myhostname\fR(8),
+\fBnss-mymachines\fR(8),
+\fBnsswitch.conf\fR(5),
+\fBsystemd.syntax\fR(5)
diff --git a/upstream/fedora-40/man8/nss-systemd.8 b/upstream/fedora-40/man8/nss-systemd.8
new file mode 100644
index 00000000..31d5b1ba
--- /dev/null
+++ b/upstream/fedora-40/man8/nss-systemd.8
@@ -0,0 +1,234 @@
+'\" t
+.TH "NSS\-SYSTEMD" "8" "" "systemd 255" "nss-systemd"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+nss-systemd, libnss_systemd.so.2 \- UNIX user and group name resolution for user/group lookup via Varlink
+.SH "SYNOPSIS"
+.PP
+libnss_systemd\&.so\&.2
+.SH "DESCRIPTION"
+.PP
+\fBnss\-systemd\fR
+is a plug\-in module for the GNU Name Service Switch (NSS) functionality of the GNU C Library (\fBglibc\fR), providing UNIX user and group name resolution for services implementing the
+\m[blue]\fBUser/Group Record Lookup API via Varlink\fR\m[]\&\s-2\u[1]\d\s+2, such as the system and service manager
+\fBsystemd\fR(1)
+(for its
+\fIDynamicUser=\fR
+feature, see
+\fBsystemd.exec\fR(5)
+for details),
+\fBsystemd-homed.service\fR(8), or
+\fBsystemd-machined.service\fR(8)\&.
+.PP
+This module also ensures that the root and nobody users and groups (i\&.e\&. the users/groups with the UIDs/GIDs 0 and 65534) remain resolvable at all times, even if they aren\*(Aqt listed in
+/etc/passwd
+or
+/etc/group, or if these files are missing\&.
+.PP
+This module preferably utilizes
+\fBsystemd-userdbd.service\fR(8)
+for resolving users and groups, but also works without the service running\&.
+.PP
+To activate the NSS module, add
+"systemd"
+to the lines starting with
+"passwd:",
+"group:",
+"shadow:"
+and
+"gshadow:"
+in
+/etc/nsswitch\&.conf\&.
+.PP
+It is recommended to place
+"systemd"
+after the
+"files"
+entry of the
+/etc/nsswitch\&.conf
+lines so that
+/etc/passwd,
+/etc/group,
+/etc/shadow
+and
+/etc/gshadow
+based mappings take precedence\&.
+.SH "STATIC DROP\-IN JSON USER/GROUP RECORDS"
+.PP
+Besides user/group records acquired via the aforementioned Varlink IPC interfaces and the synthesized root and nobody accounts, this module also makes user and group accounts available to the system that are defined in static drop\-in files in the
+/etc/userdb/,
+/run/userdb/,
+/run/host/userdb/
+and
+/usr/lib/userdb/
+directories\&.
+.PP
+This is a simple mechanism to provide static user and group records via JSON drop\-in files\&. Such user records should be defined in the format described by the
+\m[blue]\fBJSON User Records\fR\m[]\&\s-2\u[2]\d\s+2
+specification and be placed in one of the aforementioned directories under a file name composed of the user name suffixed with
+\&.user, with a world\-readable access mode\&. A symlink named after the user record\*(Aqs UID formatted in decimal and suffixed with
+\&.user
+pointing to the primary record file should be created as well, in order to allow both lookups by username and by UID\&. Privileged user record data (e\&.g\&. hashed UNIX passwords) may optionally be provided as well, in a pair of separate companion files with the
+\&.user\-privileged
+suffix\&. The data should be stored in a regular file named after the user name, suffixed with
+\&.user\-privileged, and a symlink pointing to it, named after the used numeric UID formatted in decimal with the same suffix\&. These companion files should not be readable to anyone but root\&. Example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-rw\-r\-\-r\-\-\&. 1 root root 723 May 10 foobar\&.user
+\-rw\-\-\-\-\-\-\-\&. 1 root root 123 May 10 foobar\&.user\-privileged
+lrwxrwxrwx\&. 1 root root 19 May 10 4711\&.user \-> foobar\&.user
+lrwxrwxrwx\&. 1 root root 19 May 10 4711\&.user\-privileged \-> foobar\&.user\-privileged
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Similarly, group records following the format described in
+\m[blue]\fBJSON Group Record\fR\m[]\&\s-2\u[3]\d\s+2
+may be defined, using the file suffixes
+\&.group
+and
+\&.group\-privileged\&.
+.PP
+The primary user/group record files (i\&.e\&. those with the
+\&.user
+and
+\&.group
+suffixes) should not contain the
+"privileged"
+section as described in the specifications\&. The privileged user/group record files (i\&.e\&. those with the
+\&.user\-privileged
+and
+\&.group\-privileged
+suffixes) should contain this section, exclusively\&.
+.PP
+Note that static user/group records generally do not override conflicting records in
+/etc/passwd
+or
+/etc/group
+or other account databases\&. In fact, before dropping in these files a reasonable level of care should be taken to avoid user/group name and UID/GID conflicts\&.
+.SH "CONFIGURATION IN /ETC/NSSWITCH\&.CONF"
+.PP
+Here is an example
+/etc/nsswitch\&.conf
+file that enables
+\fBnss\-systemd\fR
+correctly:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+passwd: files \fBsystemd\fR
+group: files \fB[SUCCESS=merge] systemd\fR
+shadow: files \fBsystemd\fR
+gshadow: files \fBsystemd\fR
+
+hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
+networks: files
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: nis
+.fi
+.if n \{\
+.RE
+.\}
+.SH "EXAMPLE: MAPPINGS PROVIDED BY SYSTEMD\-MACHINED\&.SERVICE"
+.PP
+The container
+"rawhide"
+is spawned using
+\fBsystemd-nspawn\fR(1):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# systemd\-nspawn \-M rawhide \-\-boot \-\-network\-veth \-\-private\-users=pick
+Spawning container rawhide on /var/lib/machines/rawhide\&.
+Selected user namespace base 20119552 and range 65536\&.
+\&.\&.\&.
+
+$ machinectl \-\-max\-addresses=3
+MACHINE CLASS SERVICE OS VERSION ADDRESSES
+rawhide container systemd\-nspawn fedora 30 169\&.254\&.40\&.164 fe80::94aa:3aff:fe7b:d4b9
+
+$ getent passwd vu\-rawhide\-0 vu\-rawhide\-81
+vu\-rawhide\-0:*:20119552:65534:vu\-rawhide\-0:/:/usr/sbin/nologin
+vu\-rawhide\-81:*:20119633:65534:vu\-rawhide\-81:/:/usr/sbin/nologin
+
+$ getent group vg\-rawhide\-0 vg\-rawhide\-81
+vg\-rawhide\-0:*:20119552:
+vg\-rawhide\-81:*:20119633:
+
+$ ps \-o user:15,pid,tty,command \-e|grep \*(Aq^vu\-rawhide\*(Aq
+vu\-rawhide\-0 692 ? /usr/lib/systemd/systemd
+vu\-rawhide\-0 731 ? /usr/lib/systemd/systemd\-journald
+vu\-rawhide\-192 734 ? /usr/lib/systemd/systemd\-networkd
+vu\-rawhide\-193 738 ? /usr/lib/systemd/systemd\-resolved
+vu\-rawhide\-0 742 ? /usr/lib/systemd/systemd\-logind
+vu\-rawhide\-81 744 ? /usr/bin/dbus\-daemon \-\-system \-\-address=systemd: \-\-nofork \-\-nopidfile \-\-systemd\-activation \-\-syslog\-only
+vu\-rawhide\-0 746 ? /usr/sbin/sshd \-D \&.\&.\&.
+vu\-rawhide\-0 752 ? /usr/lib/systemd/systemd \-\-user
+vu\-rawhide\-0 753 ? (sd\-pam)
+vu\-rawhide\-0 1628 ? login \-\- zbyszek
+vu\-rawhide\-1000 1630 ? /usr/lib/systemd/systemd \-\-user
+vu\-rawhide\-1000 1631 ? (sd\-pam)
+vu\-rawhide\-1000 1637 pts/8 \-zsh
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.exec\fR(5),
+\fBnss-resolve\fR(8),
+\fBnss-myhostname\fR(8),
+\fBnss-mymachines\fR(8),
+\fBsystemd-userdbd.service\fR(8),
+\fBsystemd-homed.service\fR(8),
+\fBsystemd-machined.service\fR(8),
+\fBnsswitch.conf\fR(5),
+\fBgetent\fR(1)
+.SH "NOTES"
+.IP " 1." 4
+User/Group Record Lookup API via Varlink
+.RS 4
+\%https://systemd.io/USER_GROUP_API
+.RE
+.IP " 2." 4
+JSON User Records
+.RS 4
+\%https://systemd.io/USER_RECORD
+.RE
+.IP " 3." 4
+JSON Group Record
+.RS 4
+\%https://systemd.io/GROUP_RECORD
+.RE
diff --git a/upstream/fedora-40/man8/pacman-conf.8 b/upstream/fedora-40/man8/pacman-conf.8
new file mode 100644
index 00000000..4b632ea4
--- /dev/null
+++ b/upstream/fedora-40/man8/pacman-conf.8
@@ -0,0 +1,225 @@
+'\" t
+.\" Title: pacman-conf
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 2024-01-25
+.\" Manual: Pacman Manual
+.\" Source: Pacman 6.0.2
+.\" Language: English
+.\"
+.TH "PACMAN\-CONF" "8" "2024\-01\-25" "Pacman 6\&.0\&.2" "Pacman Manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+pacman-conf \- query pacman\*(Aqs configuration file
+.SH "SYNOPSIS"
+.sp
+\fIpacman\-conf\fR [options] [<directive> \&...]
+.sp
+\fIpacman\-conf\fR (\-\-repo\-list|\-\-help|\-\-version)
+.SH "DESCRIPTION"
+.sp
+\fIpacman\-conf\fR is a utility for parsing the \fIpacman\fR configuration file and returning script\-friendly output\&. It is designed to properly handle non\-trivial configuration features such as variable interpolation and the use of the Include directive, and guarantees that it will return the same configuration values which \fIpacman\fR itself would use\&.
+.sp
+\fIpacman\-conf\fR will output the fully\-resolved contents of the configuration file by default, or, if provided with the name of a configuration directive, output the contents of the given directive alone\&.
+.SH "OPTIONS"
+.PP
+\fB\-c, \-\-config\fR <path>
+.RS 4
+Specify an alternate configuration file\&.
+.RE
+.PP
+\fB\-R, \-\-rootdir\fR <path>
+.RS 4
+Specify an alternate installation root (default is
+/)\&.
+.RE
+.PP
+\fB\-r, \-\-repo\fR <remote>
+.RS 4
+Query options for a specific repository\&.
+.RE
+.PP
+\fB\-v, \-\-verbose\fR
+.RS 4
+Always shown directive names\&.
+.RE
+.PP
+\fB\-l, \-\-repo\-list\fR
+.RS 4
+List configured repositories\&.
+.RE
+.PP
+\fB\-h, \-\-help\fR
+.RS 4
+Output syntax and command line options\&.
+.RE
+.PP
+\fB\-V, \-\-version\fR
+.RS 4
+Display version and exit\&.
+.RE
+.SH "EXAMPLES"
+.PP
+pacman\-conf \-r core Usage
+.RS 4
+Show the value of the Usage configuration option for core repository\&.
+.RE
+.PP
+pacman\-conf HoldPkg
+.RS 4
+Show the value of the HoldPkg configuration option\&.
+.RE
+.SH "SEE ALSO"
+.sp
+\fBpacman.conf\fR(5)
+.sp
+See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
+.SH "BUGS"
+.sp
+Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
+.SH "AUTHORS"
+.sp
+Current maintainers:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Allan McRae <allan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eli Schwartz <eschwartz@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Morgan Adamiec <morganamilo@archlinux\&.org>
+.RE
+.sp
+Past major contributors:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Judd Vinet <jvinet@zeroflux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aurelien Foret <aurelien@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aaron Griffin <aaron@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dan McGee <dan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Xavier Chantry <shiningxc@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dave Reisner <dreisner@archlinux\&.org>
+.RE
+.sp
+For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
diff --git a/upstream/fedora-40/man8/pacman-key.8 b/upstream/fedora-40/man8/pacman-key.8
new file mode 100644
index 00000000..a1403f6e
--- /dev/null
+++ b/upstream/fedora-40/man8/pacman-key.8
@@ -0,0 +1,321 @@
+'\" t
+.\" Title: pacman-key
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 2024-01-25
+.\" Manual: Pacman Manual
+.\" Source: Pacman 6.0.2
+.\" Language: English
+.\"
+.TH "PACMAN\-KEY" "8" "2024\-01\-25" "Pacman 6\&.0\&.2" "Pacman Manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+pacman-key \- manage pacman\*(Aqs list of trusted keys
+.SH "SYNOPSIS"
+.sp
+\fIpacman\-key\fR [options] operation [targets]
+.SH "DESCRIPTION"
+.sp
+\fIpacman\-key\fR is a wrapper script for GnuPG used to manage pacman\(cqs keyring, which is the collection of PGP keys used to check signed packages and databases\&. It provides the ability to import and export keys, fetch keys from keyservers and update the key trust database\&.
+.sp
+More complex keyring management can be achieved using GnuPG directly combined with the \fI\-\-homedir\fR option pointing at the pacman keyring (located in /etc/pacman\&.d/gnupg by default)\&.
+.sp
+Invoking pacman\-key consists of supplying an operation with any potential options and targets to operate on\&. Depending on the operation, a \fItarget\fR may be a valid key identifier, filename, or directory\&.
+.SH "OPERATIONS"
+.PP
+\fB\-a, \-\-add\fR
+.RS 4
+Add the key(s) contained in the specified file or files to pacman\(cqs keyring\&. If a key already exists, update it\&.
+.RE
+.PP
+\fB\-d, \-\-delete\fR
+.RS 4
+Remove the key(s) identified by the specified keyid(s) from pacman\(cqs keyring\&.
+.RE
+.PP
+\fB\-e, \-\-export\fR
+.RS 4
+Export key(s) identified by the specified keyid(s) to
+\fIstdout\fR\&. If no keyid is specified, all keys will be exported\&.
+.RE
+.PP
+\fB\-\-edit\-key\fR
+.RS 4
+Present a menu for key management task on the specified keyid(s)\&. Useful for adjusting a keys trust level\&.
+.RE
+.PP
+\fB\-f, \-\-finger\fR
+.RS 4
+List a fingerprint for each specified keyid, or for all known keys if no keyids are specified\&.
+.RE
+.PP
+\fB\-h, \-\-help\fR
+.RS 4
+Output syntax and command line options\&.
+.RE
+.PP
+\fB\-\-import\fR
+.RS 4
+Imports keys from
+pubring\&.gpg
+into the public keyring from the specified directories\&.
+.RE
+.PP
+\fB\-\-import\-trustdb\fR
+.RS 4
+Imports ownertrust values from
+trustdb\&.gpg
+into the shared trust database from the specified directories\&.
+.RE
+.PP
+\fB\-\-init\fR
+.RS 4
+Ensure the keyring is properly initialized and has the required access permissions\&.
+.RE
+.PP
+\fB\-l, \-\-list\-keys\fR
+.RS 4
+Lists all or specified keys from the public keyring\&.
+.RE
+.PP
+\fB\-\-list\-sigs\fR
+.RS 4
+Same as
+\fI\-\-list\-keys\fR, but the signatures are listed too\&.
+.RE
+.PP
+\fB\-\-lsign\-key\fR
+.RS 4
+Locally sign the given key\&. This is primarily used to root the web of trust in the local private key generated by
+\fI\-\-init\fR\&.
+.RE
+.PP
+\fB\-\-nocolor\fR
+.RS 4
+Disable colored output from pacman\-key\&.
+.RE
+.PP
+\fB\-r, \-\-recv\-keys\fR
+.RS 4
+Equivalent to
+\fI\-\-recv\-keys\fR
+in GnuPG\&.
+.RE
+.PP
+\fB\-\-refresh\-keys\fR
+.RS 4
+Equivalent to
+\fI\-\-refresh\-keys\fR
+in GnuPG\&.
+.RE
+.PP
+\fB\-\-populate\fR
+.RS 4
+Reload the default keys from the (optionally provided) keyrings in
+/usr/share/pacman/keyrings\&. For more information, see
+Providing a Keyring for Import
+below\&.
+.RE
+.PP
+\fB\-u, \-\-updatedb\fR
+.RS 4
+Equivalent to
+\fI\-\-check\-trustdb\fR
+in GnuPG\&. This operation can be specified with other operations\&.
+.RE
+.PP
+\fB\-V, \-\-version\fR
+.RS 4
+Displays the program version\&.
+.RE
+.PP
+\fB\-v, \-\-verify\fR
+.RS 4
+Assume that the first argument is a signature and verify it\&. If a second argument is provided, it is the file to be verified\&.
+.sp
+With only one argument given, assume that the signature is a detached signature, and look for a matching data file to verify by stripping the file extension\&. If no matching data file is found, fall back on GnuPG semantics and attempt to verify a file with an embedded signature\&.
+.RE
+.SH "OPTIONS"
+.PP
+\fB\-\-config\fR <file>
+.RS 4
+Use an alternate configuration file instead of the
+/etc/pacman\&.conf
+default\&.
+.RE
+.PP
+\fB\-\-gpgdir\fR <dir>
+.RS 4
+Set an alternate home directory for GnuPG\&. If unspecified, the value is read from
+/etc/pacman\&.conf\&.
+.RE
+.PP
+\fB\-\-keyserver\fR <keyserver>
+.RS 4
+Use the specified keyserver if the operation requires one\&. This will take precedence over any keyserver option specified in a
+gpg\&.conf
+configuration file\&. Running
+\fI\-\-init\fR
+with this option will set the default keyserver if one was not already configured\&.
+.RE
+.SH "PROVIDING A KEYRING FOR IMPORT"
+.sp
+A distribution or other repository provided may want to provide a set of PGP keys used in the signing of its packages and repository databases that can be readily imported into the pacman keyring\&. This is achieved by providing a PGP keyring file foo\&.gpg that contains the keys for the foo keyring in the directory /usr/share/pacman/keyrings\&.
+.sp
+Optionally, the file foo\-trusted can be provided containing a list of trusted key IDs for that keyring\&. This is a file in a format compatible with \fIgpg \-\-export\-ownertrust\fR output\&. This file will inform the user which keys a user needs to verify and sign to build a local web of trust, in addition to assigning provided owner trust values\&.
+.sp
+Also optionally, the file foo\-revoked can be provided containing a list of revoked key IDs for that keyring\&. Revoked is defined as "no longer valid for any signing", so should be used with prudence\&. A key being marked as revoked will be disabled in the keyring and no longer treated as valid, so this always takes priority over it\(cqs trusted state in any other keyring\&.
+.SH "SEE ALSO"
+.sp
+\fBpacman\fR(8), \fBpacman.conf\fR(5)
+.sp
+See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
+.SH "BUGS"
+.sp
+Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
+.SH "AUTHORS"
+.sp
+Current maintainers:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Allan McRae <allan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eli Schwartz <eschwartz@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Morgan Adamiec <morganamilo@archlinux\&.org>
+.RE
+.sp
+Past major contributors:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Judd Vinet <jvinet@zeroflux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aurelien Foret <aurelien@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aaron Griffin <aaron@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dan McGee <dan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Xavier Chantry <shiningxc@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dave Reisner <dreisner@archlinux\&.org>
+.RE
+.sp
+For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
diff --git a/upstream/fedora-40/man8/pacman.8 b/upstream/fedora-40/man8/pacman.8
new file mode 100644
index 00000000..aed1dc32
--- /dev/null
+++ b/upstream/fedora-40/man8/pacman.8
@@ -0,0 +1,787 @@
+'\" t
+.\" Title: pacman
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 2024-01-25
+.\" Manual: Pacman Manual
+.\" Source: Pacman 6.0.2
+.\" Language: English
+.\"
+.TH "PACMAN" "8" "2024\-01\-25" "Pacman 6\&.0\&.2" "Pacman Manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+pacman \- package manager utility
+.SH "SYNOPSIS"
+.sp
+\fIpacman\fR <operation> [options] [targets]
+.SH "DESCRIPTION"
+.sp
+Pacman is a package management utility that tracks installed packages on a Linux system\&. It features dependency support, package groups, install and uninstall scripts, and the ability to sync your local machine with a remote repository to automatically upgrade packages\&. Pacman packages are a zipped tar format\&.
+.sp
+Since version 3\&.0\&.0, pacman has been the front\-end to \fBlibalpm\fR(3), the \(lqArch Linux Package Management\(rq library\&. This library allows alternative front\-ends to be written (for instance, a GUI front\-end)\&.
+.sp
+Invoking pacman involves specifying an operation with any potential options and targets to operate on\&. A \fItarget\fR is usually a package name, file name, URL, or a search string\&. Targets can be provided as command line arguments\&. Additionally, if stdin is not from a terminal and a single hyphen (\-) is passed as an argument, targets will be read from stdin\&.
+.SH "OPERATIONS"
+.PP
+\fB\-D, \-\-database\fR
+.RS 4
+Operate on the package database\&. This operation allows you to modify certain attributes of the installed packages in pacman\(cqs database\&. It also allows you to check the databases for internal consistency\&. See
+Database Options
+below\&.
+.RE
+.PP
+\fB\-Q, \-\-query\fR
+.RS 4
+Query the package database\&. This operation allows you to view installed packages and their files, as well as meta\-information about individual packages (dependencies, conflicts, install date, build date, size)\&. This can be run against the local package database or can be used on individual package files\&. In the first case, if no package names are provided in the command line, all installed packages will be queried\&. Additionally, various filters can be applied on the package list\&. See
+Query Options
+below\&.
+.RE
+.PP
+\fB\-R, \-\-remove\fR
+.RS 4
+Remove package(s) from the system\&. Groups can also be specified to be removed, in which case every package in that group will be removed\&. Files belonging to the specified package will be deleted, and the database will be updated\&. Most configuration files will be saved with a
+\fI\&.pacsave\fR
+extension unless the
+\fI\-\-nosave\fR
+option is used\&. See
+Remove Options
+below\&.
+.RE
+.PP
+\fB\-S, \-\-sync\fR
+.RS 4
+Synchronize packages\&. Packages are installed directly from the remote repositories, including all dependencies required to run the packages\&. For example,
+pacman \-S qt
+will download and install qt and all the packages it depends on\&. If a package name exists in more than one repository, the repository can be explicitly specified to clarify the package to install:
+pacman \-S testing/qt\&. You can also specify version requirements:
+pacman \-S "bash>=3\&.2"\&. Quotes are needed, otherwise the shell interprets ">" as redirection to a file\&.
+.sp
+In addition to packages, groups can be specified as well\&. For example, if gnome is a defined package group, then
+pacman \-S gnome
+will provide a prompt allowing you to select which packages to install from a numbered list\&. The package selection is specified using a space\- and/or comma\-separated list of package numbers\&. Sequential packages may be selected by specifying the first and last package numbers separated by a hyphen (\-)\&. Excluding packages is achieved by prefixing a number or range of numbers with a caret (^)\&.
+.sp
+Packages that provide other packages are also handled\&. For example,
+pacman \-S foo
+will first look for a foo package\&. If foo is not found, packages that provide the same functionality as foo will be searched for\&. If any package is found, it will be installed\&. A selection prompt is provided if multiple packages providing foo are found\&.
+.sp
+You can also use
+pacman \-Su
+to upgrade all packages that are out\-of\-date\&. See
+Sync Options
+below\&. When upgrading, pacman performs version comparison to determine which packages need upgrading\&. This behavior operates as follows:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Alphanumeric:
+ 1\&.0a < 1\&.0b < 1\&.0beta < 1\&.0p < 1\&.0pre < 1\&.0rc < 1\&.0 < 1\&.0\&.a < 1\&.0\&.1
+Numeric:
+ 1 < 1\&.0 < 1\&.1 < 1\&.1\&.1 < 1\&.2 < 2\&.0 < 3\&.0\&.0
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Additionally, version strings can have an
+\fIepoch\fR
+value defined that will overrule any version comparison, unless the epoch values are equal\&. This is specified in an
+epoch:version\-rel
+format\&. For example,
+2:1\&.0\-1
+is always greater than
+1:3\&.6\-1\&.
+.RE
+.PP
+\fB\-T, \-\-deptest\fR
+.RS 4
+Check dependencies; this is useful in scripts such as makepkg to check installed packages\&. This operation will check each dependency specified and return a list of dependencies that are not currently satisfied on the system\&. This operation accepts no other options\&. Example usage:
+pacman \-T qt "bash>=3\&.2"\&.
+.RE
+.PP
+\fB\-U, \-\-upgrade\fR
+.RS 4
+Upgrade or add package(s) to the system and install the required dependencies from sync repositories\&. Either a URL or file path can be specified\&. This is a \(lqremove\-then\-add\(rq process\&. See
+Upgrade Options
+below; also see
+Handling Config Files
+for an explanation on how pacman takes care of configuration files\&.
+.RE
+.PP
+\fB\-F, \-\-files\fR
+.RS 4
+Query the files database\&. This operation allows you to look for packages owning certain files or display files owned by certain packages\&. Only packages that are part of your sync databases are searched\&. See
+File Options
+below\&.
+.RE
+.PP
+\fB\-V, \-\-version\fR
+.RS 4
+Display version and exit\&.
+.RE
+.PP
+\fB\-h, \-\-help\fR
+.RS 4
+Display syntax for the given operation\&. If no operation was supplied, then the general syntax is shown\&.
+.RE
+.SH "OPTIONS"
+.PP
+\fB\-b, \-\-dbpath\fR <path>
+.RS 4
+Specify an alternative database location (the default is
+/var/lib/pacman)\&. This should not be used unless you know what you are doing\&.
+\fBNOTE\fR: If specified, this is an absolute path, and the root path is not automatically prepended\&.
+.RE
+.PP
+\fB\-r, \-\-root\fR <path>
+.RS 4
+Specify an alternative installation root (default is
+/)\&. This should not be used as a way to install software into
+/usr/local
+instead of
+/usr\&.
+\fBNOTE\fR: If database path or log file are not specified on either the command line or in
+\fBpacman.conf\fR(5), their default location will be inside this root path\&.
+\fBNOTE\fR: This option is not suitable for performing operations on a mounted guest system\&. See
+\fI\-\-sysroot\fR
+instead\&.
+.RE
+.PP
+\fB\-v, \-\-verbose\fR
+.RS 4
+Output paths such as the Root, Conf File, DB Path, Cache Dirs, etc\&.
+.RE
+.PP
+\fB\-\-arch\fR <arch>
+.RS 4
+Specify an alternate architecture\&.
+.RE
+.PP
+\fB\-\-cachedir\fR <dir>
+.RS 4
+Specify an alternative package cache location (the default is
+/var/cache/pacman/pkg)\&. Multiple cache directories can be specified, and they are tried in the order they are passed to pacman\&.
+\fBNOTE\fR: This is an absolute path, and the root path is not automatically prepended\&.
+.RE
+.PP
+\fB\-\-color\fR <when>
+.RS 4
+Specify when to enable coloring\&. Valid options are
+\fIalways\fR,
+\fInever\fR, or
+\fIauto\fR\&.
+\fIalways\fR
+forces colors on;
+\fInever\fR
+forces colors off; and
+\fIauto\fR
+only automatically enables colors when outputting onto a tty\&.
+.RE
+.PP
+\fB\-\-config\fR <file>
+.RS 4
+Specify an alternate configuration file\&.
+.RE
+.PP
+\fB\-\-debug\fR
+.RS 4
+Display debug messages\&. When reporting bugs, this option is recommended to be used\&.
+.RE
+.PP
+\fB\-\-gpgdir\fR <dir>
+.RS 4
+Specify a directory of files used by GnuPG to verify package signatures (the default is
+/etc/pacman\&.d/gnupg)\&. This directory should contain two files:
+pubring\&.gpg
+and
+trustdb\&.gpg\&.
+pubring\&.gpg
+holds the public keys of all packagers\&.
+trustdb\&.gpg
+contains a so\-called trust database, which specifies that the keys are authentic and trusted\&.
+\fBNOTE\fR: This is an absolute path, and the root path is not automatically prepended\&.
+.RE
+.PP
+\fB\-\-hookdir\fR <dir>
+.RS 4
+Specify a alternative directory containing hook files (the default is
+/etc/pacman\&.d/hooks)\&. Multiple hook directories can be specified with hooks in later directories taking precedence over hooks in earlier directories\&.
+\fBNOTE\fR: This is an absolute path, and the root path is not automatically prepended\&.
+.RE
+.PP
+\fB\-\-logfile\fR <file>
+.RS 4
+Specify an alternate log file\&. This is an absolute path, regardless of the installation root setting\&.
+.RE
+.PP
+\fB\-\-noconfirm\fR
+.RS 4
+Bypass any and all \(lqAre you sure?\(rq messages\&. It\(cqs not a good idea to do this unless you want to run pacman from a script\&.
+.RE
+.PP
+\fB\-\-confirm\fR
+.RS 4
+Cancels the effects of a previous
+\fI\-\-noconfirm\fR\&.
+.RE
+.PP
+\fB\-\-disable\-download\-timeout\fR
+.RS 4
+Disable defaults for low speed limit and timeout on downloads\&. Use this if you have issues downloading files with proxy and/or security gateway\&.
+.RE
+.PP
+\fB\-\-sysroot\fR <dir>
+.RS 4
+Specify an alternative system root\&. Pacman will chroot and chdir into the system root prior to running\&. This allows mounted guest systems to be properly operated on\&. Any other paths given will be interpreted as relative to the system root\&. Requires root privileges\&.
+.RE
+.SH "TRANSACTION OPTIONS (APPLY TO \FI\-S\FR, \FI\-R\FR AND \FI\-U\FR)"
+.PP
+\fB\-d, \-\-nodeps\fR
+.RS 4
+Skips dependency version checks\&. Package names are still checked\&. Normally, pacman will always check a package\(cqs dependency fields to ensure that all dependencies are installed and there are no package conflicts in the system\&. Specify this option twice to skip all dependency checks\&.
+.RE
+.PP
+\fB\-\-assume\-installed\fR <package=version>
+.RS 4
+Add a virtual package "package" with version "version" to the transaction to satisfy dependencies\&. This allows to disable specific dependency checks without affecting all dependency checks\&. To disable all dependency checking, see the
+\fI\-\-nodeps\fR
+option\&.
+.RE
+.PP
+\fB\-\-dbonly\fR
+.RS 4
+Adds/removes the database entry only, leaving all files in place\&.
+.RE
+.PP
+\fB\-\-noprogressbar\fR
+.RS 4
+Do not show a progress bar when downloading files\&. This can be useful for scripts that call pacman and capture the output\&.
+.RE
+.PP
+\fB\-\-noscriptlet\fR
+.RS 4
+If an install scriptlet exists, do not execute it\&. Do not use this unless you know what you are doing\&.
+.RE
+.PP
+\fB\-p, \-\-print\fR
+.RS 4
+Only print the targets instead of performing the actual operation (sync, remove or upgrade)\&. Use
+\fI\-\-print\-format\fR
+to specify how targets are displayed\&. The default format string is "%l", which displays URLs with
+\fI\-S\fR, file names with
+\fI\-U\fR, and pkgname\-pkgver with
+\fI\-R\fR\&.
+.RE
+.PP
+\fB\-\-print\-format\fR <format>
+.RS 4
+Specify a printf\-like format to control the output of the
+\fI\-\-print\fR
+operation\&. The possible attributes are: "%n" for pkgname, "%v" for pkgver, "%l" for location, "%r" for repository, and "%s" for size\&. Implies
+\fI\-\-print\fR\&.
+.RE
+.SH "UPGRADE OPTIONS (APPLY TO \FI\-S\FR AND \FI\-U\FR)"
+.PP
+\fB\-w, \-\-downloadonly\fR
+.RS 4
+Retrieve all packages from the server, but do not install/upgrade anything\&.
+.RE
+.PP
+\fB\-\-asdeps\fR
+.RS 4
+Install packages non\-explicitly; in other words, fake their install reason to be installed as a dependency\&. This is useful for makepkg and other build\-from\-source tools that need to install dependencies before building the package\&.
+.RE
+.PP
+\fB\-\-asexplicit\fR
+.RS 4
+Install packages explicitly; in other words, fake their install reason to be explicitly installed\&. This is useful if you want to mark a dependency as explicitly installed so it will not be removed by the
+\fI\-\-recursive\fR
+remove operation\&.
+.RE
+.PP
+\fB\-\-ignore\fR <package>
+.RS 4
+Directs pacman to ignore upgrades of package even if there is one available\&. Multiple packages can be specified by separating them with a comma\&.
+.RE
+.PP
+\fB\-\-ignoregroup\fR <group>
+.RS 4
+Directs pacman to ignore upgrades of all packages in
+\fIgroup\fR, even if there is one available\&. Multiple groups can be specified by separating them with a comma\&.
+.RE
+.PP
+\fB\-\-needed\fR
+.RS 4
+Do not reinstall the targets that are already up\-to\-date\&.
+.RE
+.PP
+\fB\-\-overwrite\fR <glob>
+.RS 4
+Bypass file conflict checks and overwrite conflicting files\&. If the package that is about to be installed contains files that are already installed and match
+\fIglob\fR, this option will cause all those files to be overwritten\&. Using
+\fI\-\-overwrite\fR
+will not allow overwriting a directory with a file or installing packages with conflicting files and directories\&. Multiple patterns can be specified by separating them with a comma\&. May be specified multiple times\&. Patterns can be negated, such that files matching them will not be overwritten, by prefixing them with an exclamation mark\&. Subsequent matches will override previous ones\&. A leading literal exclamation mark or backslash needs to be escaped\&.
+.RE
+.SH "QUERY OPTIONS (APPLY TO \FI\-Q\FR)"
+.PP
+\fB\-c, \-\-changelog\fR
+.RS 4
+View the ChangeLog of a package if it exists\&.
+.RE
+.PP
+\fB\-d, \-\-deps\fR
+.RS 4
+Restrict or filter output to packages installed as dependencies\&. This option can be combined with
+\fI\-t\fR
+for listing real orphans \- packages that were installed as dependencies but are no longer required by any installed package\&.
+.RE
+.PP
+\fB\-e, \-\-explicit\fR
+.RS 4
+Restrict or filter output to explicitly installed packages\&. This option can be combined with
+\fI\-t\fR
+to list explicitly installed packages that are not required by any other package\&.
+.RE
+.PP
+\fB\-g, \-\-groups\fR
+.RS 4
+Display all packages that are members of a named group\&. If a name is not specified, list all grouped packages\&.
+.RE
+.PP
+\fB\-i, \-\-info\fR
+.RS 4
+Display information on a given package\&. The
+\fI\-p\fR
+option can be used if querying a package file instead of the local database\&. Passing two
+\fI\-\-info\fR
+or
+\fI\-i\fR
+flags will also display the list of backup files and their modification states\&.
+.RE
+.PP
+\fB\-k, \-\-check\fR
+.RS 4
+Check that all files owned by the given package(s) are present on the system\&. If packages are not specified or filter flags are not provided, check all installed packages\&. Specifying this option twice will perform more detailed file checking (including permissions, file sizes, and modification times) for packages that contain the needed mtree file\&.
+.RE
+.PP
+\fB\-l, \-\-list\fR
+.RS 4
+List all files owned by a given package\&. Multiple packages can be specified on the command line\&.
+.RE
+.PP
+\fB\-m, \-\-foreign\fR
+.RS 4
+Restrict or filter output to packages that were not found in the sync database(s)\&. Typically these are packages that were downloaded manually and installed with
+\fI\-\-upgrade\fR\&.
+.RE
+.PP
+\fB\-n, \-\-native\fR
+.RS 4
+Restrict or filter output to packages that are found in the sync database(s)\&. This is the inverse filter of
+\fI\-\-foreign\fR\&.
+.RE
+.PP
+\fB\-o, \-\-owns\fR <file>
+.RS 4
+Search for packages that own the specified file(s)\&. The path can be relative or absolute, and one or more files can be specified\&.
+.RE
+.PP
+\fB\-p, \-\-file\fR
+.RS 4
+Signifies that the package supplied on the command line is a file and not an entry in the database\&. The file will be decompressed and queried\&. This is useful in combination with
+\fI\-\-info\fR
+and
+\fI\-\-list\fR\&.
+.RE
+.PP
+\fB\-q, \-\-quiet\fR
+.RS 4
+Show less information for certain query operations\&. This is useful when pacman\(cqs output is processed in a script\&. Search will only show package names and not version, group, and description information; owns will only show package names instead of "file is owned by pkg" messages; group will only show package names and omit group names; list will only show files and omit package names; check will only show pairs of package names and missing files; a bare query will only show package names rather than names and versions\&.
+.RE
+.PP
+\fB\-s, \-\-search\fR <regexp>
+.RS 4
+Search each locally\-installed package for names or descriptions that match
+regexp\&. When including multiple search terms, only packages with descriptions matching ALL of those terms are returned\&.
+.RE
+.PP
+\fB\-t, \-\-unrequired\fR
+.RS 4
+Restrict or filter output to print only packages neither required nor optionally required by any currently installed package\&. Specify this option twice to include packages which are optionally, but not directly, required by another package\&.
+.RE
+.PP
+\fB\-u, \-\-upgrades\fR
+.RS 4
+Restrict or filter output to packages that are out\-of\-date on the local system\&. Only package versions are used to find outdated packages; replacements are not checked here\&. This option works best if the sync database is refreshed using
+\fI\-Sy\fR\&.
+.RE
+.SH "REMOVE OPTIONS (APPLY TO \FI\-R\FR)"
+.PP
+\fB\-c, \-\-cascade\fR
+.RS 4
+Remove all target packages, as well as all packages that depend on one or more target packages\&. This operation is recursive and must be used with care, since it can remove many potentially needed packages\&.
+.RE
+.PP
+\fB\-n, \-\-nosave\fR
+.RS 4
+Instructs pacman to ignore file backup designations\&. Normally, when a file is removed from the system, the database is checked to see if the file should be renamed with a
+\fI\&.pacsave\fR
+extension\&.
+.RE
+.PP
+\fB\-s, \-\-recursive\fR
+.RS 4
+Remove each target specified including all of their dependencies, provided that (A) they are not required by other packages; and (B) they were not explicitly installed by the user\&. This operation is recursive and analogous to a backwards
+\fI\-\-sync\fR
+operation, and it helps keep a clean system without orphans\&. If you want to omit condition (B), pass this option twice\&.
+.RE
+.PP
+\fB\-u, \-\-unneeded\fR
+.RS 4
+Removes targets that are not required by any other packages\&. This is mostly useful when removing a group without using the
+\fI\-c\fR
+option, to avoid breaking any dependencies\&.
+.RE
+.SH "SYNC OPTIONS (APPLY TO \FI\-S\FR)"
+.PP
+\fB\-c, \-\-clean\fR
+.RS 4
+Remove packages that are no longer installed from the cache as well as currently unused sync databases to free up disk space\&. When pacman downloads packages, it saves them in a cache directory\&. In addition, databases are saved for every sync DB you download from and are not deleted even if they are removed from the configuration file
+\fBpacman.conf\fR(5)\&. Use one
+\fI\-\-clean\fR
+switch to only remove packages that are no longer installed; use two to remove all files from the cache\&. In both cases, you will have a yes or no option to remove packages and/or unused downloaded databases\&.
+.sp
+If you use a network shared cache, see the
+\fICleanMethod\fR
+option in
+\fBpacman.conf\fR(5)\&.
+.RE
+.PP
+\fB\-g, \-\-groups\fR
+.RS 4
+Display all the members for each package group specified\&. If no group names are provided, all groups will be listed; pass the flag twice to view all groups and their members\&.
+.RE
+.PP
+\fB\-i, \-\-info\fR
+.RS 4
+Display information on a given sync database package\&. Passing two
+\fI\-\-info\fR
+or
+\fI\-i\fR
+flags will also display those packages in all repositories that depend on this package\&.
+.RE
+.PP
+\fB\-l, \-\-list\fR
+.RS 4
+List all packages in the specified repositories\&. Multiple repositories can be specified on the command line\&.
+.RE
+.PP
+\fB\-q, \-\-quiet\fR
+.RS 4
+Show less information for certain sync operations\&. This is useful when pacman\(cqs output is processed in a script\&. Search will only show package names and not repository, version, group, and description information; list will only show package names and omit databases and versions; group will only show package names and omit group names\&.
+.RE
+.PP
+\fB\-s, \-\-search\fR <regexp>
+.RS 4
+This will search each package in the sync databases for names or descriptions that match
+regexp\&. When you include multiple search terms, only packages with descriptions matching ALL of those terms will be returned\&.
+.RE
+.PP
+\fB\-u, \-\-sysupgrade\fR
+.RS 4
+Upgrades all packages that are out\-of\-date\&. Each currently\-installed package will be examined and upgraded if a newer package exists\&. A report of all packages to upgrade will be presented, and the operation will not proceed without user confirmation\&. Dependencies are automatically resolved at this level and will be installed/upgraded if necessary\&.
+.sp
+Pass this option twice to enable package downgrades; in this case, pacman will select sync packages whose versions do not match with the local versions\&. This can be useful when the user switches from a testing repository to a stable one\&.
+.sp
+Additional targets can also be specified manually, so that
+\fI\-Su foo\fR
+will do a system upgrade and install/upgrade the "foo" package in the same operation\&.
+.RE
+.PP
+\fB\-y, \-\-refresh\fR
+.RS 4
+Download a fresh copy of the master package database from the server(s) defined in
+\fBpacman.conf\fR(5)\&. This should typically be used each time you use
+\fI\-\-sysupgrade\fR
+or
+\fI\-u\fR\&. Passing two
+\fI\-\-refresh\fR
+or
+\fI\-y\fR
+flags will force a refresh of all package databases, even if they appear to be up\-to\-date\&.
+.RE
+.SH "DATABASE OPTIONS (APPLY TO \FI\-D\FR)"
+.PP
+\fB\-\-asdeps\fR <package>
+.RS 4
+Mark a package as non\-explicitly installed; in other words, set their install reason to be installed as a dependency\&.
+.RE
+.PP
+\fB\-\-asexplicit\fR <package>
+.RS 4
+Mark a package as explicitly installed; in other words, set their install reason to be explicitly installed\&. This is useful if you want to keep a package installed even when it was initially installed as a dependency of another package\&.
+.RE
+.PP
+\fB\-k, \-\-check\fR
+.RS 4
+Check the local package database is internally consistent\&. This will check all required files are present and that installed packages have the required dependencies, do not conflict and that multiple packages do not own the same file\&. Specifying this option twice will perform a check on the sync databases to ensure all specified dependencies are available\&.
+.RE
+.PP
+\fB\-q, \-\-quiet\fR
+.RS 4
+Suppress messages on successful completion of database operations\&.
+.RE
+.SH "FILE OPTIONS (APPLY TO \FI\-F\FR)"
+.PP
+\fB\-y, \-\-refresh\fR
+.RS 4
+Download fresh package databases from the server\&. Use twice to force a refresh even if databases are up to date\&.
+.RE
+.PP
+\fB\-l, \-\-list\fR
+.RS 4
+List the files owned by the queried package\&.
+.RE
+.PP
+\fB\-x, \-\-regex\fR
+.RS 4
+Interpret each query as a regular expression\&.
+.RE
+.PP
+\fB\-q, \-\-quiet\fR
+.RS 4
+Show less information for certain file operations\&. This is useful when pacman\(cqs output is processed in a script, however, you may want to use
+\fI\-\-machinereadable\fR
+instead\&.
+.RE
+.PP
+\fB\-\-machinereadable\fR
+.RS 4
+Print each match in a machine readable output format\&. The format is
+\fIrepository\e0pkgname\e0pkgver\e0path\en\fR
+with
+\fI\e0\fR
+being the NULL character and
+\fI\en\fR
+a linefeed\&.
+.RE
+.SH "HANDLING CONFIG FILES"
+.sp
+Pacman uses the same logic as \fIrpm\fR to determine action against files that are designated to be backed up\&. During an upgrade, three MD5 hashes are used for each backup file to determine the required action: one for the original file installed, one for the new file that is about to be installed, and one for the actual file existing on the file system\&. After comparing these three hashes, the following scenarios can result:
+.PP
+original=X, current=X, new=X
+.RS 4
+All three files are the same, so overwrites are not an issue\&. Install the new file\&.
+.RE
+.PP
+original=X, current=X, new=Y
+.RS 4
+The current file is the same as the original, but the new one differs\&. Since the user did not ever modify the file, and the new one may contain improvements or bug fixes, install the new file\&.
+.RE
+.PP
+original=X, current=Y, new=X
+.RS 4
+Both package versions contain the exact same file, but the one on the file system has been modified\&. Leave the current file in place\&.
+.RE
+.PP
+original=X, current=Y, new=Y
+.RS 4
+The new file is identical to the current file\&. Install the new file\&.
+.RE
+.PP
+original=X, current=Y, new=Z
+.RS 4
+All three files are different, so install the new file with a
+\fI\&.pacnew\fR
+extension and warn the user\&. The user must then manually merge any necessary changes into the original file\&.
+.RE
+.PP
+original=NULL, current=Y, new=Z
+.RS 4
+The package was not previously installed, and the file already exists on the file system\&. Install the new file with a
+\fI\&.pacnew\fR
+extension and warn the user\&. The user must then manually merge any necessary changes into the original file\&.
+.RE
+.SH "EXAMPLES"
+.PP
+pacman \-Ss ne\&.hack
+.RS 4
+Search for regexp "ne\&.hack" in package database\&.
+.RE
+.PP
+pacman \-S gpm
+.RS 4
+Download and install gpm including dependencies\&.
+.RE
+.PP
+pacman \-U /home/user/ceofhack\-0\&.6\-1\-x86_64\&.pkg\&.tar\&.gz
+.RS 4
+Install ceofhack\-0\&.6\-1 package from a local file\&.
+.RE
+.PP
+pacman \-Syu
+.RS 4
+Update package list and upgrade all packages afterwards\&.
+.RE
+.PP
+pacman \-Syu gpm
+.RS 4
+Update package list, upgrade all packages, and then install gpm if it wasn\(cqt already installed\&.
+.RE
+.SH "CONFIGURATION"
+.sp
+See \fBpacman.conf\fR(5) for more details on configuring pacman using the \fIpacman\&.conf\fR file\&.
+.SH "SEE ALSO"
+.sp
+\fBalpm-hooks\fR(5), \fBlibalpm\fR(3), \fBmakepkg\fR(8), \fBpacman.conf\fR(5)
+.sp
+See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
+.SH "BUGS"
+.sp
+Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
+.SH "AUTHORS"
+.sp
+Current maintainers:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Allan McRae <allan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eli Schwartz <eschwartz@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Morgan Adamiec <morganamilo@archlinux\&.org>
+.RE
+.sp
+Past major contributors:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Judd Vinet <jvinet@zeroflux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aurelien Foret <aurelien@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aaron Griffin <aaron@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dan McGee <dan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Xavier Chantry <shiningxc@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dave Reisner <dreisner@archlinux\&.org>
+.RE
+.sp
+For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
diff --git a/upstream/fedora-40/man8/pam_systemd.8 b/upstream/fedora-40/man8/pam_systemd.8
new file mode 100644
index 00000000..21a69f0e
--- /dev/null
+++ b/upstream/fedora-40/man8/pam_systemd.8
@@ -0,0 +1,427 @@
+'\" t
+.TH "PAM_SYSTEMD" "8" "" "systemd 255" "pam_systemd"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+pam_systemd \- Register user sessions in the systemd login manager
+.SH "SYNOPSIS"
+.PP
+pam_systemd\&.so
+.SH "DESCRIPTION"
+.PP
+\fBpam_systemd\fR
+registers user sessions with the systemd login manager
+\fBsystemd-logind.service\fR(8), and hence the systemd control group hierarchy\&.
+.PP
+The module also applies various resource management and runtime parameters to the new session, as configured in the
+\m[blue]\fBJSON User Records\fR\m[]\&\s-2\u[1]\d\s+2
+of the user, when one is defined\&.
+.PP
+On login, this module \(em in conjunction with
+systemd\-logind\&.service
+\(em ensures the following:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+If it does not exist yet, the user runtime directory
+/run/user/$UID
+is either created or mounted as new
+"tmpfs"
+file system with quota applied, and its ownership changed to the user that is logging in\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+The
+\fI$XDG_SESSION_ID\fR
+environment variable is initialized\&. If auditing is available and
+\fBpam_loginuid\&.so\fR
+was run before this module (which is highly recommended), the variable is initialized from the auditing session id (/proc/self/sessionid)\&. Otherwise, an independent session counter is used\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 3." 4.2
+.\}
+A new systemd scope unit is created for the session\&. If this is the first concurrent session of the user, an implicit per\-user slice unit below
+user\&.slice
+is automatically created and the scope placed into it\&. An instance of the system service
+user@\&.service, which runs the systemd user manager instance, is started\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 4.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 4." 4.2
+.\}
+The
+"$TZ",
+"$EMAIL"
+and
+"$LANG"
+environment variables are configured for the user, based on the respective data from the user\*(Aqs JSON record (if it is defined)\&. Moreover, any environment variables explicitly configured in the user record are imported, and the umask, nice level, and resource limits initialized\&.
+.RE
+.PP
+On logout, this module ensures the following:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+If enabled in
+\fBlogind.conf\fR(5)
+(\fIKillUserProcesses=\fR), all processes of the session are terminated\&. If the last concurrent session of a user ends, the user\*(Aqs systemd instance will be terminated too, and so will the user\*(Aqs slice unit\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+If the last concurrent session of a user ends, the user runtime directory
+/run/user/$UID
+and all its contents are removed, too\&.
+.RE
+.PP
+If the system was not booted up with systemd as init system, this module does nothing and immediately returns
+\fBPAM_SUCCESS\fR\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fIclass=\fR
+.RS 4
+Takes a string argument which sets the session class\&. The
+\fIXDG_SESSION_CLASS\fR
+environment variable (see below) takes precedence\&. One of
+"user",
+"greeter",
+"lock\-screen"
+or
+"background"\&. See
+\fBsd_session_get_class\fR(3)
+for details about the session class\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+\fItype=\fR
+.RS 4
+Takes a string argument which sets the session type\&. The
+\fIXDG_SESSION_TYPE\fR
+environment variable (see below) takes precedence\&. One of
+"unspecified",
+"tty",
+"x11",
+"wayland"
+or
+"mir"\&. See
+\fBsd_session_get_type\fR(3)
+for details about the session type\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fIdesktop=\fR
+.RS 4
+Takes a single, short identifier string for the desktop environment\&. The
+\fIXDG_SESSION_DESKTOP\fR
+environment variable (see below) takes precedence\&. This may be used to indicate the session desktop used, where this applies and if this information is available\&. For example:
+"GNOME", or
+"KDE"\&. It is recommended to use the same identifiers and capitalization as for
+\fI$XDG_CURRENT_DESKTOP\fR, as defined by the
+\m[blue]\fBDesktop Entry Specification\fR\m[]\&\s-2\u[2]\d\s+2\&. (However, note that the option only takes a single item, and not a colon\-separated list like
+\fI$XDG_CURRENT_DESKTOP\fR\&.) See
+\fBsd_session_get_desktop\fR(3)
+for further details\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+\fIdefault\-capability\-bounding\-set=\fR, \fIdefault\-capability\-ambient\-set=\fR
+.RS 4
+Takes a comma\-separated list of process capabilities (e\&.g\&.
+\fBCAP_WAKE_ALARM\fR,
+\fBCAP_BLOCK_SUSPEND\fR, \&...) to set for the invoked session\*(Aqs processes, if the user record does not encode appropriate sets of capabilities directly\&. See
+\fBcapabilities\fR(7)
+for details on the capabilities concept\&. If not specified, the default bounding set is left as is (i\&.e\&. usually contains the full set of capabilities)\&. The default ambient set is set to
+\fBCAP_WAKE_ALARM\fR
+for regular users if the PAM session is associated with a local seat or if it is invoked for the
+"systemd\-user"
+service\&. Otherwise defaults to the empty set\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fIdebug\fR[=]
+.RS 4
+Takes an optional boolean argument\&. If yes or without the argument, the module will log debugging information as it operates\&.
+.RE
+.SH "MODULE TYPES PROVIDED"
+.PP
+Only
+\fBsession\fR
+is provided\&.
+.SH "ENVIRONMENT"
+.PP
+The following environment variables are initialized by the module and available to the processes of the user\*(Aqs session:
+.PP
+\fI$XDG_SESSION_ID\fR
+.RS 4
+A short session identifier, suitable to be used in filenames\&. The string itself should be considered opaque, although often it is just the audit session ID as reported by
+/proc/self/sessionid\&. Each ID will be assigned only once during machine uptime\&. It may hence be used to uniquely label files or other resources of this session\&. Combine this ID with the boot identifier, as returned by
+\fBsd_id128_get_boot\fR(3), for a globally unique identifier\&.
+.RE
+.PP
+\fI$XDG_RUNTIME_DIR\fR
+.RS 4
+Path to a user\-private user\-writable directory that is bound to the user login time on the machine\&. It is automatically created the first time a user logs in and removed on the user\*(Aqs final logout\&. If a user logs in twice at the same time, both sessions will see the same
+\fI$XDG_RUNTIME_DIR\fR
+and the same contents\&. If a user logs in once, then logs out again, and logs in again, the directory contents will have been lost in between, but applications should not rely on this behavior and must be able to deal with stale files\&. To store session\-private data in this directory, the user should include the value of
+\fI$XDG_SESSION_ID\fR
+in the filename\&. This directory shall be used for runtime file system objects such as
+\fBAF_UNIX\fR
+sockets, FIFOs, PID files and similar\&. It is guaranteed that this directory is local and offers the greatest possible file system feature set the operating system provides\&. For further details, see the
+\m[blue]\fBXDG Base Directory Specification\fR\m[]\&\s-2\u[3]\d\s+2\&.
+\fI$XDG_RUNTIME_DIR\fR
+is not set if the current user is not the original user of the session\&.
+.RE
+.PP
+\fI$TZ\fR, \fI$EMAIL\fR, \fI$LANG\fR
+.RS 4
+If a JSON user record is known for the user logging in these variables are initialized from the respective data in the record\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+The following environment variables are read by the module and may be used by the PAM service to pass metadata to the module\&. If these variables are not set when the PAM module is invoked but can be determined otherwise they are set by the module, so that these variables are initialized for the session and applications if known at all\&.
+.PP
+\fI$XDG_SESSION_TYPE\fR
+.RS 4
+The session type\&. This may be used instead of
+\fItype=\fR
+on the module parameter line, and is usually preferred\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fI$XDG_SESSION_CLASS\fR
+.RS 4
+The session class\&. This may be used instead of
+\fIclass=\fR
+on the module parameter line, and is usually preferred\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fI$XDG_SESSION_DESKTOP\fR
+.RS 4
+The desktop identifier\&. This may be used instead of
+\fIdesktop=\fR
+on the module parameter line, and is usually preferred\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fI$XDG_SEAT\fR
+.RS 4
+The seat name the session shall be registered for, if any\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fI$XDG_VTNR\fR
+.RS 4
+The VT number the session shall be registered for, if any\&. (Only applies to seats with a VT available, such as
+"seat0")
+.sp
+Added in version 209\&.
+.RE
+.PP
+If not set,
+\fBpam_systemd\fR
+will initialize
+\fI$XDG_SEAT\fR
+and
+\fI$XDG_VTNR\fR
+based on the
+\fI$DISPLAY\fR
+variable (if the latter is set)\&.
+.SH "SESSION LIMITS"
+.PP
+PAM modules earlier in the stack, that is those that come before
+\fBpam_systemd\&.so\fR, can set session scope limits using the PAM context objects\&. The data for these objects is provided as
+\fBNUL\fR\-terminated C strings and maps directly to the respective unit resource control directives\&. Note that these limits apply to individual sessions of the user, they do not apply to all user processes as a combined whole\&. In particular, the per\-user
+\fBuser@\&.service\fR
+unit instance, which runs the
+\fBsystemd \-\-user\fR
+manager process and its children, and is tracked outside of any session, being shared by all the user\*(Aqs sessions, is not covered by these limits\&.
+.PP
+See
+\fBsystemd.resource-control\fR(5)
+for more information about the resources\&. Also, see
+\fBpam_set_data\fR(3)
+for additional information about how to set the context objects\&.
+.PP
+\fIsystemd\&.memory_max=\fR
+.RS 4
+Sets unit
+\fIMemoryMax=\fR\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fIsystemd\&.tasks_max=\fR
+.RS 4
+Sets unit
+\fITasksMax=\fR\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fIsystemd\&.cpu_weight=\fR
+.RS 4
+Sets unit
+\fICPUWeight=\fR\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fIsystemd\&.io_weight=\fR
+.RS 4
+Sets unit
+\fIIOWeight=\fR\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fIsystemd\&.runtime_max_sec=\fR
+.RS 4
+Sets unit
+\fIRuntimeMaxSec=\fR\&.
+.sp
+Added in version 244\&.
+.RE
+.PP
+Example data as can be provided from an another PAM module:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+pam_set_data(handle, "systemd\&.memory_max", (void *)"200M", cleanup);
+pam_set_data(handle, "systemd\&.tasks_max", (void *)"50", cleanup);
+pam_set_data(handle, "systemd\&.cpu_weight", (void *)"100", cleanup);
+pam_set_data(handle, "systemd\&.io_weight", (void *)"340", cleanup);
+pam_set_data(handle, "systemd\&.runtime_max_sec", (void *)"3600", cleanup);
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.SH "EXAMPLE"
+.PP
+Here\*(Aqs an example PAM configuration fragment that allows users sessions to be managed by
+systemd\-logind\&.service:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+#%PAM\-1\&.0
+auth sufficient pam_unix\&.so
+\-auth sufficient pam_systemd_home\&.so
+auth required pam_deny\&.so
+
+account required pam_nologin\&.so
+\-account sufficient pam_systemd_home\&.so
+account sufficient pam_unix\&.so
+account required pam_permit\&.so
+
+\-password sufficient pam_systemd_home\&.so
+password sufficient pam_unix\&.so sha512 shadow try_first_pass
+password required pam_deny\&.so
+
+\-session optional pam_keyinit\&.so revoke
+\-session optional pam_loginuid\&.so
+\-session optional pam_systemd_home\&.so
+\fB\-session optional pam_systemd\&.so\fR
+session required pam_unix\&.so
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-logind.service\fR(8),
+\fBlogind.conf\fR(5),
+\fBloginctl\fR(1),
+\fBpam_systemd_home\fR(8),
+\fBpam.conf\fR(5),
+\fBpam.d\fR(5),
+\fBpam\fR(8),
+\fBpam_loginuid\fR(8),
+\fBsystemd.scope\fR(5),
+\fBsystemd.slice\fR(5),
+\fBsystemd.service\fR(5)
+.SH "NOTES"
+.IP " 1." 4
+JSON User Records
+.RS 4
+\%https://systemd.io/USER_RECORD
+.RE
+.IP " 2." 4
+Desktop Entry Specification
+.RS 4
+\%https://standards.freedesktop.org/desktop-entry-spec/latest/
+.RE
+.IP " 3." 4
+XDG Base Directory Specification
+.RS 4
+\%https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
+.RE
diff --git a/upstream/fedora-40/man8/pam_systemd_home.8 b/upstream/fedora-40/man8/pam_systemd_home.8
new file mode 100644
index 00000000..866cecd2
--- /dev/null
+++ b/upstream/fedora-40/man8/pam_systemd_home.8
@@ -0,0 +1,150 @@
+'\" t
+.TH "PAM_SYSTEMD_HOME" "8" "" "systemd 255" "pam_systemd_home"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+pam_systemd_home \- Authenticate users and mount home directories via systemd\-homed\&.service
+.SH "SYNOPSIS"
+.PP
+pam_systemd_home\&.so
+.SH "DESCRIPTION"
+.PP
+\fBpam_systemd_home\fR
+ensures that home directories managed by
+\fBsystemd-homed.service\fR(8)
+are automatically activated (mounted) on user login, and are deactivated (unmounted) when the last session of the user ends\&. For such users, it also provides authentication (when per\-user disk encryption is used, the disk encryption key is derived from the authentication credential supplied at login time), account management (the
+\m[blue]\fBJSON user record\fR\m[]\&\s-2\u[1]\d\s+2
+embedded in the home store contains account details), and implements the updating of the encryption password (which is also used for user authentication)\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fIsuspend=\fR
+.RS 4
+Takes a boolean argument\&. If true, the home directory of the user will be suspended automatically during system suspend; if false it will remain active\&. Automatic suspending of the home directory improves security substantially as secret key material is automatically removed from memory before the system is put to sleep and must be re\-acquired (through user re\-authentication) when coming back from suspend\&. It is recommended to set this parameter for all PAM applications that have support for automatically re\-authenticating via PAM on system resume\&. If multiple sessions of the same user are open in parallel the user\*(Aqs home directory will be left unsuspended on system suspend as long as at least one of the sessions does not set this parameter to on\&. Defaults to off\&.
+.sp
+Note that TTY logins generally do not support re\-authentication on system resume\&. Re\-authentication on system resume is primarily a concept implementable in graphical environments, in the form of lock screens brought up automatically when the system goes to sleep\&. This means that if a user concurrently uses graphical login sessions that implement the required re\-authentication mechanism and console logins that do not, the home directory is not locked during suspend, due to the logic explained above\&. That said, it is possible to set this field for TTY logins too, ignoring the fact that TTY logins actually don\*(Aqt support the re\-authentication mechanism\&. In that case the TTY sessions will appear hung until the user logs in on another virtual terminal (regardless if via another TTY session or graphically) which will resume the home directory and unblock the original TTY session\&. (Do note that lack of screen locking on TTY sessions means even though the TTY session appears hung, keypresses can still be queued into it, and the existing screen contents be read without re\-authentication; this limitation is unrelated to the home directory management
+\fBpam_systemd_home\fR
+and
+systemd\-homed\&.service
+implement\&.)
+.sp
+Turning this option on by default is highly recommended for all sessions, but only if the service managing these sessions correctly implements the aforementioned re\-authentication\&. Note that the re\-authentication must take place from a component running outside of the user\*(Aqs context, so that it does not require access to the user\*(Aqs home directory for operation\&. Traditionally, most desktop environments do not implement screen locking this way, and need to be updated accordingly\&.
+.sp
+This setting may also be controlled via the
+\fI$SYSTEMD_HOME_SUSPEND\fR
+environment variable (see below), which
+\fBpam_systemd_home\fR
+reads during initialization and sets for sessions\&. If both the environment variable is set and the module parameter specified the latter takes precedence\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fIdebug\fR[=]
+.RS 4
+Takes an optional boolean argument\&. If yes or without the argument, the module will log debugging information as it operates\&.
+.sp
+Added in version 245\&.
+.RE
+.SH "MODULE TYPES PROVIDED"
+.PP
+The module implements all four PAM operations:
+\fBauth\fR
+(to allow authentication using the encrypted data),
+\fBaccount\fR
+(because users with
+systemd\-homed\&.service
+user accounts are described in a
+\m[blue]\fBJSON user record\fR\m[]\&\s-2\u[1]\d\s+2
+and may be configured in more detail than in the traditional Linux user database),
+\fBsession\fR
+(because user sessions must be tracked in order to implement automatic release when the last session of the user is gone),
+\fBpassword\fR
+(to change the encryption password \(em also used for user authentication \(em through PAM)\&.
+.SH "ENVIRONMENT"
+.PP
+The following environment variables are initialized by the module and available to the processes of the user\*(Aqs session:
+.PP
+\fI$SYSTEMD_HOME=1\fR
+.RS 4
+Indicates that the user\*(Aqs home directory is managed by
+systemd\-homed\&.service\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fI$SYSTEMD_HOME_SUSPEND=\fR
+.RS 4
+Indicates whether the session has been registered with the suspend mechanism enabled or disabled (see above)\&. The variable\*(Aqs value is either
+"0"
+or
+"1"\&. Note that the module both reads the variable when initializing, and sets it for sessions\&.
+.sp
+Added in version 246\&.
+.RE
+.SH "EXAMPLE"
+.PP
+Here\*(Aqs an example PAM configuration fragment that permits users managed by
+systemd\-homed\&.service
+to log in:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+#%PAM\-1\&.0
+auth sufficient pam_unix\&.so
+\fB\-auth sufficient pam_systemd_home\&.so\fR
+auth required pam_deny\&.so
+
+account required pam_nologin\&.so
+\fB\-account sufficient pam_systemd_home\&.so\fR
+account sufficient pam_unix\&.so
+account required pam_permit\&.so
+
+\fB\-password sufficient pam_systemd_home\&.so\fR
+password sufficient pam_unix\&.so sha512 shadow try_first_pass
+password required pam_deny\&.so
+
+\-session optional pam_keyinit\&.so revoke
+\-session optional pam_loginuid\&.so
+\fB\-session optional pam_systemd_home\&.so\fR
+\-session optional pam_systemd\&.so
+session required pam_unix\&.so
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-homed.service\fR(8),
+\fBhomed.conf\fR(5),
+\fBhomectl\fR(1),
+\fBpam_systemd\fR(8),
+\fBpam.conf\fR(5),
+\fBpam.d\fR(5),
+\fBpam\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+JSON user record
+.RS 4
+\%https://systemd.io/USER_RECORD/
+.RE
diff --git a/upstream/fedora-40/man8/pam_systemd_loadkey.8 b/upstream/fedora-40/man8/pam_systemd_loadkey.8
new file mode 100644
index 00000000..679dfd2e
--- /dev/null
+++ b/upstream/fedora-40/man8/pam_systemd_loadkey.8
@@ -0,0 +1,99 @@
+'\" t
+.TH "PAM_SYSTEMD_LOADKEY" "8" "" "systemd 255" "pam_systemd_loadkey"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+pam_systemd_loadkey \- Read password from kernel keyring and set it as PAM authtok
+.SH "SYNOPSIS"
+.PP
+pam_systemd_loadkey\&.so
+.SH "DESCRIPTION"
+.PP
+\fBpam_systemd_loadkey\fR
+reads a NUL\-separated password list from the kernel keyring, and sets the last password in the list as the PAM authtok\&.
+.PP
+The password list is supposed to be stored in the "user" keyring of the root user, by an earlier call to
+\fBsystemd-ask-password\fR(1)
+with
+\fB\-\-keyname=\fR\&. You can pass the keyname to
+\fBpam_systemd_loadkey\fR
+via the
+\fBkeyname=\fR
+option\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fIkeyname=\fR
+.RS 4
+Takes a string argument which sets the keyname to read\&. The default is
+"cryptsetup", which is used by
+\fBsystemd-cryptsetup@.service\fR(8)
+to store LUKS passphrase during boot\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fIdebug\fR
+.RS 4
+The module will log debugging information as it operates\&.
+.sp
+Added in version 255\&.
+.RE
+.SH "EXAMPLE"
+.PP
+This module is intended to be used when you use LUKS with a passphrase, enable autologin in the display manager, and want to unlock Gnome Keyring / KDE KWallet automatically\&. So in total, you only enter one password during boot\&.
+.PP
+You need to set the password of your Gnome Keyring/KWallet to the same as your LUKS passphrase\&. Then add the following lines to your display manager\*(Aqs PAM config under
+/etc/pam\&.d/
+(e\&.g\&.
+sddm\-autologin):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-auth optional pam_systemd_loadkey\&.so
+\-session optional pam_gnome_keyring\&.so auto_start
+\-session optional pam_kwallet5\&.so auto_start
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+And add the following lines to your display manager\*(Aqs systemd service file, so it can access root\*(Aqs keyring:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[Service]
+KeyringMode=inherit
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+In this setup, early during the boot process,
+\fBsystemd-cryptsetup@.service\fR(8)
+will ask for the passphrase and store it in the kernel keyring with the keyname
+"cryptsetup"\&. Then when the display manager does the autologin, pam_systemd_loadkey will read the passphrase from the kernel keyring, set it as the PAM authtok, and then pam_gnome_keyring and pam_kwallet5 will unlock with the same passphrase\&.
diff --git a/upstream/fedora-40/man8/parted.8 b/upstream/fedora-40/man8/parted.8
new file mode 100644
index 00000000..3069c335
--- /dev/null
+++ b/upstream/fedora-40/man8/parted.8
@@ -0,0 +1,166 @@
+.TH PARTED 8 "2021 September 28" parted "GNU Parted Manual"
+.SH NAME
+parted \- a partition manipulation program
+.SH SYNOPSIS
+.B parted
+[options] [device [command [options...]...]]
+.SH DESCRIPTION
+.B parted
+is a program to manipulate disk partitions. It supports multiple partition
+table formats, including MS-DOS and GPT. It is useful for creating space for
+new operating systems, reorganising disk usage, and copying data to new hard
+disks.
+.PP
+This manual page documents \fBparted\fP briefly. Complete documentation is
+distributed with the package in GNU Info format.
+.SH OPTIONS
+.TP
+.B -h, --help
+displays a help message
+.TP
+.B -l, --list
+lists partition layout on all block devices
+.TP
+.B -m, --machine
+displays machine parseable output
+.TP
+.B -j, --json
+displays JSON output
+.TP
+.B -s, --script
+never prompts for user intervention
+.TP
+.B -f, --fix
+automatically answer "fix" to exceptions in script mode
+.TP
+.B -v, --version
+displays the version
+.TP
+.B -a \fIalignment-type\fP, --align \fIalignment-type\fP
+Set alignment for newly created partitions, valid alignment types are:
+.RS
+.IP none
+Use the minimum alignment allowed by the disk type.
+.IP cylinder
+Align partitions to cylinders.
+.IP minimal
+Use minimum alignment as given by the disk topology information. This and
+the opt value will use layout information provided by the disk to align the
+logical partition table addresses to actual physical blocks on the disks.
+The min value is the minimum alignment needed to align the partition properly to
+physical blocks, which avoids performance degradation.
+.IP optimal
+Use optimum alignment as given by the disk topology information. This
+aligns to a multiple of the physical block size in a way that guarantees
+optimal performance.
+.RE
+
+.SH COMMANDS
+.TP
+.B [device]
+The block device to be used. When none is given, \fBparted\fP will use the
+first block device it finds.
+.TP
+.B [command [options]]
+Specifies the command to be executed. If no command is given,
+.BR parted
+will present a command prompt. Possible commands are:
+.RS
+.TP
+.B help \fI[command]\fP
+Print general help, or help on \fIcommand\fP if specified.
+.TP
+.B align-check \fItype\fP \fIpartition\fP
+Check if \fIpartition\fP satisfies the alignment constraint of \fItype\fP.
+\fItype\fP must be "minimal" or "optimal".
+.TP
+.B mklabel \fIlabel-type\fP
+Create a new disklabel (partition table) of \fIlabel-type\fP. \fIlabel-type\fP
+should be one of "aix", "amiga", "bsd", "dvh", "gpt", "loop", "mac", "msdos",
+"pc98", or "sun".
+.TP
+.B mkpart [\fIpart-type\fP \fIname\fP \fIfs-type\fP] \fIstart\fP \fIend\fP
+Create a new partition. \fIpart-type\fP may be specified only with msdos and
+dvh partition tables, it should be one of "primary", "logical", or "extended".
+\fIname\fP is required for GPT partition tables and \fIfs-type\fP is optional.
+\fIfs-type\fP can be one of "btrfs", "ext2", "ext3", "ext4", "fat16", "fat32",
+"hfs", "hfs+", "linux-swap", "ntfs", "reiserfs", "udf", or "xfs".
+.TP
+.B name \fIpartition\fP \fIname\fP
+Set the name of \fIpartition\fP to \fIname\fP. This option works only on Mac,
+PC98, and GPT disklabels. The name can be placed in double quotes, if necessary.
+And depending on the shell may need to also be wrapped in single quotes so that
+the shell doesn't strip off the double quotes.
+.TP
+.B print \fIprint-type\fP
+Display the partition table.
+\fIprint-type\fP is optional, and can be one of devices, free, list, or all.
+.TP
+.B quit
+Exit from \fBparted\fP.
+.TP
+.B rescue \fIstart\fP \fIend\fP
+Rescue a lost partition that was located somewhere between \fIstart\fP and
+\fIend\fP. If a partition is found, \fBparted\fP will ask if you want to
+create an entry for it in the partition table.
+.TP
+.B resizepart \fIpartition\fP \fIend\fP
+Change the \fIend\fP position of \fIpartition\fP. Note that this does not
+modify any filesystem present in the partition.
+.TP
+.B rm \fIpartition\fP
+Delete \fIpartition\fP.
+.TP
+.B select \fIdevice\fP
+Choose \fIdevice\fP as the current device to edit. \fIdevice\fP should usually
+be a Linux hard disk device, but it can be a partition, software raid device,
+or an LVM logical volume if necessary.
+.TP
+.B set \fIpartition\fP \fIflag\fP \fIstate\fP
+Change the state of the \fIflag\fP on \fIpartition\fP to \fIstate\fP.
+Supported flags are: "boot", "root", "swap", "hidden", "raid", "lvm", "lba",
+"legacy_boot", "irst", "msftres", "esp", "chromeos_kernel", "bls_boot", "linux-home",
+"no_automount", "bios_grub", and "palo".
+\fIstate\fP should be either "on" or "off".
+.TP
+.B unit \fIunit\fP
+Set \fIunit\fP as the unit to use when displaying locations and sizes, and for
+interpreting those given by the user when not suffixed with an explicit unit.
+\fIunit\fP can be one of "s" (sectors), "B" (bytes), "kB", "MB", "KiB", "MiB", "GB",
+"GiB", "TB", "TiB", "%" (percentage of device size), "cyl" (cylinders), "chs"
+(cylinders, heads, sectors), or "compact" (megabytes for input, and a
+human-friendly form for output).
+.TP
+.B toggle \fIpartition\fP \fIflag\fP
+Toggle the state of \fIflag\fP on \fIpartition\fP.
+.TP
+.B type \fIpartition\fP \fIid\fP or \fIuuid\fP
+On MS-DOS set the type aka. partition id of \fIpartition\fP to
+\fIid\fP. The \fIid\fP is a value between "0x01" and "0xff". On GPT
+the type-uuid of \fIpartition\fP to \fIuuid\fP.
+.TP
+.B disk_set \fIflag\fP \fIstate\fP
+Change a \fIflag\fP on the disk to \fIstate\fP. A flag can be either "on" or "off".
+Some or all of these flags will be available, depending on what disk label you
+are using. Supported flags are: "pmbr_boot" on GPT to enable the boot flag on the
+GPT's protective MBR partition.
+.TP
+.B disk_toggle \fIflag\fP
+Toggle the state of the disk \fIflag\fP.
+.TP
+.B version
+Display version information and a copyright message.
+.RE
+.SH REPORTING BUGS
+Report bugs to <bug-parted@gnu.org>
+.SH SEE ALSO
+.BR fdisk (8),
+.BR mkfs (8),
+The \fIparted\fP program is fully documented in the
+.BR info(1)
+format
+.IR "GNU partitioning software"
+manual.
+.SH AUTHOR
+This manual page was written by Timshel Knoll <timshel@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/upstream/fedora-40/man8/partprobe.8 b/upstream/fedora-40/man8/partprobe.8
new file mode 100644
index 00000000..48ae5dcc
--- /dev/null
+++ b/upstream/fedora-40/man8/partprobe.8
@@ -0,0 +1,55 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH PARTPROBE 8 "March 18, 2002" parted "GNU Parted Manual"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+partprobe \- inform the OS of partition table changes
+.SH SYNOPSIS
+.B partprobe
+.RI [ -d ]
+.RI [ -s ]
+.RI [ devices... ]
+.SH DESCRIPTION
+This manual page documents briefly the
+.B partprobe
+command.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBpartprobe\fP is a program that informs the operating system kernel of
+partition table changes.
+.SH OPTIONS
+This program uses short UNIX style options.
+.TP
+.B -d, --dry-run
+Don't update the kernel.
+.TP
+.B -s, --summary
+Show a summary of devices and their partitions.
+.TP
+.B -h, --help
+Show summary of options.
+.TP
+.B -v, --version
+Show version of program.
+.SH REPORTING BUGS
+Report bugs to <bug-parted@gnu.org>
+.SH SEE ALSO
+.BR parted (8).
+.SH AUTHOR
+This manual page was written by Timshel Knoll <timshel@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/upstream/fedora-40/man8/ping.8 b/upstream/fedora-40/man8/ping.8
new file mode 100644
index 00000000..9caac585
--- /dev/null
+++ b/upstream/fedora-40/man8/ping.8
@@ -0,0 +1,551 @@
+'\" t
+.TH "PING" "8" "" "iputils 20240117" "iputils"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ping \- send ICMP ECHO_REQUEST to network hosts
+.SH "SYNOPSIS"
+.HP \w'\fBping\fR\ 'u
+\fBping\fR [\fB\-aAbBdCDfhHLnOqrRUvV46\fR] [\fB\-c\ \fR\fB\fIcount\fR\fR] [\fB\-e\ \fR\fB\fIidentifier\fR\fR] [\fB\-F\ \fR\fB\fIflowlabel\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinterface\fR\fR] [\fB\-l\ \fR\fB\fIpreload\fR\fR] [\fB\-m\ \fR\fB\fImark\fR\fR] [\fB\-M\ \fR\fB\fIpmtudisc_option\fR\fR] [\fB\-N\ \fR\fB\fInodeinfo_option\fR\fR] [\fB\-w\ \fR\fB\fIdeadline\fR\fR] [\fB\-W\ \fR\fB\fItimeout\fR\fR] [\fB\-p\ \fR\fB\fIpattern\fR\fR] [\fB\-Q\ \fR\fB\fItos\fR\fR] [\fB\-s\ \fR\fB\fIpacketsize\fR\fR] [\fB\-S\ \fR\fB\fIsndbuf\fR\fR] [\fB\-t\ \fR\fB\fIttl\fR\fR] [\fB\-T\ \fR\fB\fItimestamp\ option\fR\fR] [hop\&.\&.\&.] {destination}
+.SH "DESCRIPTION"
+.PP
+\fBping\fR
+uses the ICMP protocol\*(Aqs mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway\&. ECHO_REQUEST datagrams (\(lqpings\(rq) have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of \(lqpad\(rq bytes used to fill out the packet\&.
+.PP
+\fBping\fR
+works with both IPv4 and IPv6\&. Using only one of them explicitly can be enforced by specifying
+\fB\-4\fR
+or
+\fB\-6\fR\&.
+.PP
+\fBping\fR
+can also send IPv6 Node Information Queries (RFC4620)\&. Intermediate
+\fIhop\fRs may not be allowed, because IPv6 source routing was deprecated (RFC5095)\&.
+.SH "OPTIONS"
+.PP
+\fB\-4\fR
+.RS 4
+Use IPv4 only\&.
+.RE
+.PP
+\fB\-6\fR
+.RS 4
+Use IPv6 only\&.
+.RE
+.PP
+\fB\-a\fR
+.RS 4
+Audible ping\&.
+.RE
+.PP
+\fB\-A\fR
+.RS 4
+Adaptive ping\&. Interpacket interval adapts to round\-trip time, so that effectively not more than one (or more, if preload is set) unanswered probe is present in the network\&. The default interval is 2 ms, for more info see option
+\fB\-i\fR\&. On networks with low RTT this mode is essentially equivalent to flood mode\&.
+.RE
+.PP
+\fB\-b\fR
+.RS 4
+Allow pinging a broadcast address\&.
+.RE
+.PP
+\fB\-B\fR
+.RS 4
+Do not allow
+\fBping\fR
+to change source address of probes\&. The address is bound to one selected when
+\fBping\fR
+starts\&.
+.RE
+.PP
+\fB\-c\fR \fIcount\fR
+.RS 4
+Stop after sending
+\fIcount\fR
+ECHO_REQUEST packets\&. With
+\fIdeadline\fR
+option,
+\fBping\fR
+waits for
+\fIcount\fR
+ECHO_REPLY packets, until the timeout expires\&.
+.RE
+.PP
+\fB\-C\fR
+.RS 4
+Call connect() syscall on socket creation\&.
+.RE
+.PP
+\fB\-d\fR
+.RS 4
+Set the SO_DEBUG option on the socket being used\&. Essentially, this socket option is not used by Linux kernel\&.
+.RE
+.PP
+\fB\-D\fR
+.RS 4
+Print timestamp (unix time + microseconds as in gettimeofday) before each line\&.
+.RE
+.PP
+\fB\-e\fR \fIidentifier\fR
+.RS 4
+Set the identification field of ECHO_REQUEST\&. Value 0 implies using
+\fIraw socket\fR
+(not supported on
+\fIICMP datagram socket\fR)\&. The value of the field may be printed with
+\fB\-v\fR
+option\&.
+.RE
+.PP
+\fB\-f\fR
+.RS 4
+Flood ping\&. For every ECHO_REQUEST sent a period \(lq\&.\(rq is printed, while for every ECHO_REPLY received a backspace is printed\&. This provides a rapid display of how many packets are being dropped\&. If interval is not given, it sets interval to zero and outputs packets as fast as they come back or one hundred times per second, whichever is more\&. Only the super\-user may use this option with zero interval\&.
+.RE
+.PP
+\fB\-F\fR \fIflow label\fR
+.RS 4
+IPv6 only\&. Allocate and set 20 bit flow label (in hex) on echo request packets\&. If value is zero, kernel allocates random flow label\&.
+.RE
+.PP
+\fB\-h\fR
+.RS 4
+Show help\&.
+.RE
+.PP
+\fB\-H\fR
+.RS 4
+Force DNS name resolution for the output\&. Useful for numeric destination, or
+\fB\-f\fR
+option, which by default do not perform it\&. Override previously defined
+\fB\-n\fR
+option\&.
+.RE
+.PP
+\fB\-i\fR \fIinterval\fR
+.RS 4
+Wait
+\fIinterval\fR
+seconds between sending each packet\&. Real number allowed with dot as a decimal separator (regardless locale setup)\&. The default is to wait for one second between each packet normally, or not to wait in flood mode\&. Only super\-user may set interval to values less than 2 ms\&. Broadcast and multicast ping have even higher limitation for regular user: minimum is 1 sec\&.
+.RE
+.PP
+\fB\-I\fR \fIinterface\fR
+.RS 4
+\fIinterface\fR
+is either an address, an interface name or a VRF name\&. If
+\fIinterface\fR
+is an address, it sets source address to specified interface address\&. If
+\fIinterface\fR
+is an interface name, it sets source interface to specified interface\&. If
+\fIinterface\fR
+is a VRF name, each packet is routed using the corresponding routing table; in this case, the
+\fB\-I\fR
+option can be repeated to specify a source address\&. NOTE: For IPv6, when doing ping to a link\-local scope address, link specification (by the \*(Aq%\*(Aq\-notation in
+\fIdestination\fR, or by this option) can be used but it is no longer required\&.
+.RE
+.PP
+\fB\-l\fR \fIpreload\fR
+.RS 4
+If
+\fIpreload\fR
+is specified,
+\fBping\fR
+sends that many packets not waiting for reply\&. Only the super\-user may select preload more than 3\&.
+.RE
+.PP
+\fB\-L\fR
+.RS 4
+Suppress loopback of multicast packets\&. This flag only applies if the ping destination is a multicast address\&.
+.RE
+.PP
+\fB\-m\fR \fImark\fR
+.RS 4
+use
+\fImark\fR
+to tag the packets going out\&. This is useful for variety of reasons within the kernel such as using policy routing to select specific outbound processing\&.
+.RE
+.PP
+\fB\-M\fR \fIpmtudisc_opt\fR
+.RS 4
+Select Path MTU Discovery strategy\&.
+\fIpmtudisc_option\fR
+may be either
+\fIdo\fR
+(set DF flag but subject to PMTU checks by kernel, packets too large will be rejected),
+\fIwant\fR
+(do PMTU discovery, fragment locally when packet size is large),
+\fIprobe\fR
+(set DF flag and bypass PMTU checks, useful for probing), or
+\fIdont\fR
+(do not set DF flag)\&.
+.RE
+.PP
+\fB\-N\fR \fInodeinfo_option\fR
+.RS 4
+IPv6 only\&. Send IPv6 Node Information Queries (RFC4620), instead of Echo Request\&. CAP_NET_RAW capability is required\&.
+.PP
+\fBhelp\fR
+.RS 4
+Show help for NI support\&.
+.RE
+.PP
+\fBname\fR
+.RS 4
+Queries for Node Names\&.
+.RE
+.PP
+\fBipv6\fR
+.RS 4
+Queries for IPv6 Addresses\&. There are several IPv6 specific flags\&.
+.PP
+\fBipv6\-global\fR
+.RS 4
+Request IPv6 global\-scope addresses\&.
+.RE
+.PP
+\fBipv6\-sitelocal\fR
+.RS 4
+Request IPv6 site\-local addresses\&.
+.RE
+.PP
+\fBipv6\-linklocal\fR
+.RS 4
+Request IPv6 link\-local addresses\&.
+.RE
+.PP
+\fBipv6\-all\fR
+.RS 4
+Request IPv6 addresses on other interfaces\&.
+.RE
+.RE
+.PP
+\fBipv4\fR
+.RS 4
+Queries for IPv4 Addresses\&. There is one IPv4 specific flag\&.
+.PP
+\fBipv4\-all\fR
+.RS 4
+Request IPv4 addresses on other interfaces\&.
+.RE
+.RE
+.PP
+\fBsubject\-ipv6=\fR\fIipv6addr\fR
+.RS 4
+IPv6 subject address\&.
+.RE
+.PP
+\fBsubject\-ipv4=\fR\fIipv4addr\fR
+.RS 4
+IPv4 subject address\&.
+.RE
+.PP
+\fBsubject\-name=\fR\fInodename\fR
+.RS 4
+Subject name\&. If it contains more than one dot, fully\-qualified domain name is assumed\&.
+.RE
+.PP
+\fBsubject\-fqdn=\fR\fInodename\fR
+.RS 4
+Subject name\&. Fully\-qualified domain name is always assumed\&.
+.RE
+.RE
+.PP
+\fB\-n\fR
+.RS 4
+Numeric output only\&. No attempt will be made to lookup symbolic names for host addresses (no reverse DNS resolution)\&. This is the default for numeric destination or
+\fB\-f\fR
+option\&. Override previously defined
+\fB\-H\fR
+option\&.
+.RE
+.PP
+\fB\-O\fR
+.RS 4
+Report outstanding ICMP ECHO reply before sending next packet\&. This is useful together with the timestamp
+\fB\-D\fR
+to log output to a diagnostic file and search for missing answers\&.
+.RE
+.PP
+\fB\-p\fR \fIpattern\fR
+.RS 4
+You may specify up to 16 \(lqpad\(rq bytes to fill out the packet you send\&. This is useful for diagnosing data\-dependent problems in a network\&. For example,
+\fB\-p ff\fR
+will cause the sent packet to be filled with all ones\&.
+.RE
+.PP
+\fB\-q\fR
+.RS 4
+Quiet output\&. Nothing is displayed except the summary lines at startup time and when finished\&.
+.RE
+.PP
+\fB\-Q\fR \fItos\fR
+.RS 4
+Set Quality of Service \-related bits in ICMP datagrams\&.
+\fItos\fR
+can be decimal (\fBping\fR
+only) or hex number\&.
+.sp
+In RFC2474, these fields are interpreted as 8\-bit Differentiated Services (DS), consisting of: bits 0\-1 (2 lowest bits) of separate data, and bits 2\-7 (highest 6 bits) of Differentiated Services Codepoint (DSCP)\&. In RFC2481 and RFC3168, bits 0\-1 are used for ECN\&.
+.sp
+Historically (RFC1349, obsoleted by RFC2474), these were interpreted as: bit 0 (lowest bit) for reserved (currently being redefined as congestion control), 1\-4 for Type of Service and bits 5\-7 (highest bits) for Precedence\&.
+.RE
+.PP
+\fB\-r\fR
+.RS 4
+Bypass the normal routing tables and send directly to a host on an attached interface\&. If the host is not on a directly\-attached network, an error is returned\&. This option can be used to ping a local host through an interface that has no route through it provided the option
+\fB\-I\fR
+is also used\&.
+.RE
+.PP
+\fB\-R\fR
+.RS 4
+\fBping\fR
+only\&. Record route\&. Includes the RECORD_ROUTE option in the ECHO_REQUEST packet and displays the route buffer on returned packets\&. Note that the IP header is only large enough for nine such routes\&. Many hosts ignore or discard this option\&.
+.RE
+.PP
+\fB\-s\fR \fIpacketsize\fR
+.RS 4
+Specifies the number of data bytes to be sent\&. The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data\&.
+.RE
+.PP
+\fB\-S\fR \fIsndbuf\fR
+.RS 4
+Set socket sndbuf\&. If not specified, it is selected to buffer not more than one packet\&.
+.RE
+.PP
+\fB\-t\fR \fIttl\fR
+.RS 4
+\fBping\fR
+only\&. Set the IP Time to Live\&.
+.RE
+.PP
+\fB\-T\fR \fItimestamp option\fR
+.RS 4
+Set special IP timestamp options\&.
+\fItimestamp option\fR
+may be either
+\fItsonly\fR
+(only timestamps),
+\fItsandaddr\fR
+(timestamps and addresses) or
+\fItsprespec host1 [host2 [host3 [host4]]]\fR
+(timestamp prespecified hops)\&.
+.RE
+.PP
+\fB\-U\fR
+.RS 4
+Print full user\-to\-user latency (the old behaviour)\&. Normally
+\fBping\fR
+prints network round trip time, which can be different f\&.e\&. due to DNS failures\&.
+.RE
+.PP
+\fB\-v\fR
+.RS 4
+Verbose output\&. Do not suppress DUP replies when pinging multicast address\&.
+.RE
+.PP
+\fB\-V\fR
+.RS 4
+Show version and exit\&.
+.RE
+.PP
+\fB\-w\fR \fIdeadline\fR
+.RS 4
+Specify a timeout, in seconds, before
+\fBping\fR
+exits regardless of how many packets have been sent or received\&. In this case
+\fBping\fR
+does not stop after
+\fIcount\fR
+packet are sent, it waits either for
+\fIdeadline\fR
+expire or until
+\fIcount\fR
+probes are answered or for some error notification from network\&.
+.RE
+.PP
+\fB\-W\fR \fItimeout\fR
+.RS 4
+Time to wait for a response, in seconds\&. The option affects only timeout in absence of any responses, otherwise
+\fBping\fR
+waits for two RTTs\&. Real number allowed with dot as a decimal separator (regardless locale setup)\&. 0 means infinite timeout\&.
+.RE
+.PP
+When using
+\fBping\fR
+for fault isolation, it should first be run on the local host, to verify that the local network interface is up and running\&. Then, hosts and gateways further and further away should be \(lqpinged\(rq\&. Round\-trip times and packet loss statistics are computed\&. If duplicate packets are received, they are not included in the packet loss calculation, although the round trip time of these packets is used in calculating the minimum/average/maximum/mdev round\-trip time numbers\&.
+.PP
+Population standard deviation (mdev), essentially an average of how far each ping RTT is from the mean RTT\&. The higher mdev is, the more variable the RTT is (over time)\&. With a high RTT variability, you will have speed issues with bulk transfers (they will take longer than is strictly speaking necessary, as the variability will eventually cause the sender to wait for ACKs) and you will have middling to poor VoIP quality\&.
+.PP
+When the specified number of packets have been sent (and received) or if the program is terminated with a SIGINT, a brief summary is displayed\&. Shorter current statistics can be obtained without termination of process with signal SIGQUIT\&.
+.PP
+This program is intended for use in network testing, measurement and management\&. Because of the load it can impose on the network, it is unwise to use
+\fBping\fR
+during normal operations or from automated scripts\&.
+.SH "EXIT STATUS"
+.PP
+If
+\fBping\fR
+does not receive any reply packets at all it will exit with code 1\&. If a packet
+\fIcount\fR
+and
+\fIdeadline\fR
+are both specified, and fewer than
+\fIcount\fR
+packets are received by the time the
+\fIdeadline\fR
+has arrived, it will also exit with code 1\&. On other error it exits with code 2\&. Otherwise it exits with code 0\&. This makes it possible to use the exit code to see if a host is alive or not\&.
+.SH "IPV6 LINK\-LOCAL DESTINATIONS"
+.PP
+For IPv6, when the destination address has link\-local scope and
+\fBping\fR
+is using
+\fIICMP datagram sockets\fR, the output interface must be specified\&. When
+\fBping\fR
+is using
+\fIraw sockets\fR, it is not strictly necessary to specify the output interface but it should be done to avoid ambiguity when there are multiple possible output interfaces\&.
+.PP
+There are two ways to specify the output interface:
+.PP
+\(bu using the \fI% notation\fR
+.RS 4
+The destination address is postfixed with
+\fI%\fR
+and the output interface name or ifindex, for example:
+.sp
+\fBping fe80::5054:ff:fe70:67bc%eth0\fR
+.sp
+\fBping fe80::5054:ff:fe70:67bc%2\fR
+.RE
+.PP
+\(bu using the \fI\-I option\fR
+.RS 4
+When using
+\fIICMP datagram sockets\fR, this method is supported since the following kernel versions: 5\&.17, 5\&.15\&.19, 5\&.10\&.96, 5\&.4\&.176, 4\&.19\&.228, 4\&.14\&.265\&. Also it is not supported on musl libc\&.
+.RE
+.SH "ICMP PACKET DETAILS"
+.PP
+An IP header without options is 20 bytes\&. An ICMP ECHO_REQUEST packet contains an additional 8 bytes worth of ICMP header followed by an arbitrary amount of data\&. When a
+\fIpacketsize\fR
+is given, this indicates the size of this extra piece of data (the default is 56)\&. Thus the amount of data received inside of an IP packet of type ICMP ECHO_REPLY will always be 8 bytes more than the requested data space (the ICMP header)\&.
+.PP
+If the data space is at least of size of struct timeval
+\fBping\fR
+uses the beginning bytes of this space to include a timestamp which it uses in the computation of round trip times\&. If the data space is shorter, no round trip times are given\&.
+.SH "DUPLICATE AND DAMAGED PACKETS"
+.PP
+\fBping\fR
+will report duplicate and damaged packets\&. Duplicate packets should never occur, and seem to be caused by inappropriate link\-level retransmissions\&. Duplicates may occur in many situations and are rarely (if ever) a good sign, although the presence of low levels of duplicates may not always be cause for alarm\&.
+.PP
+Damaged packets are obviously serious cause for alarm and often indicate broken hardware somewhere in the
+\fBping\fR
+packet\*(Aqs path (in the network or in the hosts)\&.
+.SH "ID COLLISIONS"
+.PP
+Unlike TCP and UDP, which use port to uniquely identify the recipient to deliver data, ICMP uses identifier field (ID) for identification\&. Therefore, if on the same machine, at the same time, two ping processes use the same ID, echo reply can be delivered to a wrong recipient\&. This is a known problem due to the limited size of the 16\-bit ID field\&. That is a historical limitation of the protocol that cannot be fixed at the moment unless we encode an ID into the ping packet payload\&.
+\fBping\fR
+prints
+\fIDIFFERENT ADDRESS\fR
+error and packet loss is negative\&.
+.PP
+\fBping\fR
+uses PID to get unique number\&. The default value of
+\fI/proc/sys/kernel/pid_max\fR
+is 32768\&. On the systems that use ping heavily and with
+\fIpid_max\fR
+greater than 65535 collisions are bound to happen\&.
+.SH "TRYING DIFFERENT DATA PATTERNS"
+.PP
+The (inter)network layer should never treat packets differently depending on the data contained in the data portion\&. Unfortunately, data\-dependent problems have been known to sneak into networks and remain undetected for long periods of time\&. In many cases the particular pattern that will have problems is something that doesn\*(Aqt have sufficient \(lqtransitions\(rq, such as all ones or all zeros, or a pattern right at the edge, such as almost all zeros\&. It isn\*(Aqt necessarily enough to specify a data pattern of all zeros (for example) on the command line because the pattern that is of interest is at the data link level, and the relationship between what you type and what the controllers transmit can be complicated\&.
+.PP
+This means that if you have a data\-dependent problem you will probably have to do a lot of testing to find it\&. If you are lucky, you may manage to find a file that either can\*(Aqt be sent across your network or that takes much longer to transfer than other similar length files\&. You can then examine this file for repeated patterns that you can test using the
+\fB\-p\fR
+option of
+\fBping\fR\&.
+.SH "TTL DETAILS"
+.PP
+The TTL value of an IP packet represents the maximum number of IP routers that the packet can go through before being thrown away\&. In current practice you can expect each router in the Internet to decrement the TTL field by exactly one\&.
+.PP
+The TTL field for TCP packets may take various values\&. The maximum possible value of this field is 255, a recommended initial value is 64\&. For more information, see the TCP/Lower\-Level Interface section of RFC9293\&.
+.PP
+In normal operation
+\fBping\fR
+prints the TTL value from the packet it receives\&. When a remote system receives a ping packet, it can do one of three things with the TTL field in its response:
+.PP
+.RS 4
+\(bu Not change it; this is what Berkeley Unix systems did before the 4\&.3BSD Tahoe release\&. In this case the TTL value in the received packet will be 255 minus the number of routers in the round\-trip path\&.
+.RE
+.PP
+.RS 4
+\(bu Set it to 255; this is what current Berkeley Unix systems do\&. In this case the TTL value in the received packet will be 255 minus the number of routers in the path
+\fBfrom\fR
+the remote system
+\fBto\fR
+the
+\fBping\fRing host\&.
+.RE
+.PP
+.RS 4
+\(bu Set it to some other value\&. Some machines use the same value for ICMP packets that they use for TCP packets, for example either 30 or 60\&. Others may use completely wild values\&.
+.RE
+.SH "BUGS"
+.PP
+.RS 4
+\(bu Many Hosts and Gateways ignore the RECORD_ROUTE option\&.
+.RE
+.PP
+.RS 4
+\(bu The maximum IP header length is too small for options like RECORD_ROUTE to be completely useful\&. There\*(Aqs not much that can be done about this, however\&.
+.RE
+.PP
+.RS 4
+\(bu Flood pinging is not recommended in general, and flood pinging the broadcast address should only be done under very controlled conditions\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBip\fR(8),
+\fBss\fR(8)\&.
+.SH "HISTORY"
+.PP
+The
+\fBping\fR
+command appeared in 4\&.3BSD\&.
+.PP
+The version described here is its descendant specific to Linux\&.
+.PP
+As of version s20150815, the
+\fBping6\fR
+binary doesn\*(Aqt exist anymore\&. It has been merged into
+\fBping\fR\&. Creating a symlink named
+\fBping6\fR
+pointing to
+\fBping\fR
+will result in the same functionality as before\&.
+.SH "SECURITY"
+.PP
+\fBping\fR
+requires CAP_NET_RAW capability to be executed 1) if the program is used for non\-echo queries (see
+\fB\-N\fR
+option) or when the identification field set to 0 for ECHO_REQUEST (see
+\fB\-e\fR), or 2) if kernel does not support ICMP datagram sockets, or 3) if the user is not allowed to create an ICMP echo socket\&. The program may be used as set\-uid root\&.
+.SH "AVAILABILITY"
+.PP
+\fBping\fR
+is part of
+\fIiputils\fR
+package\&.
diff --git a/upstream/fedora-40/man8/plipconfig.8 b/upstream/fedora-40/man8/plipconfig.8
new file mode 100644
index 00000000..d42a0bcf
--- /dev/null
+++ b/upstream/fedora-40/man8/plipconfig.8
@@ -0,0 +1,53 @@
+.TH PLIPCONFIG 8 "2008\-10\-03" "net\-tools" "Linux System Administrator's Manual"
+.SH NAME
+plipconfig \- fine tune PLIP device parameters
+.SH SYNOPSIS
+.B plipconfig interface
+.RB [ nibble
+.IR NN ]
+.RB [ trigger
+.IR NN ]
+.br
+.B plipconfig
+.RB [ \-V ]
+.RB [ \-\-version ]
+.RB [ \-h ]
+.RB [ \-\-help ]
+.SH DESCRIPTION
+.B Plipconfig
+is used to (hopefully) improve PLIP performance by changing the default
+timing parameters used by the PLIP protocol. Results are dependent on
+the parallel port hardware, cable, and the CPU speed of each machine
+on each end of the PLIP link.
+.LP
+If the single
+.B interface
+argument is given,
+.B plipconfig
+displays the status of the given interface
+only. Otherwise, it will try to set the options.
+.SH OPTIONS
+.TP
+.B "nibble NN"
+Sets the nibble wait value in microseconds. Default is 3000.
+.TP
+.B "trigger NN"
+Sets the trigger wait value in microseconds. Default is 500.
+.LP
+PLIP speed can in some cases be improved by lowering the default values.
+Values which are too low may cause excess use of CPU, poor interrupt
+response time resulting in serial ports dropping characters, or in dropping
+of PLIP packets. Changing the plip MTU can also affect PLIP speed.
+.SH NOTE
+If you get no response it is far more likely the irq is wrong and needs
+setting with ifconfig. The few cases where the default parameters will
+be too fast are those using very long cables. Something you should
+never do as the parallel port is not specified or designed for driving
+long cable runs.
+.SH SEE ALSO
+.I ifconfig(8)
+.SH BUGS
+Non.
+.SH AUTHOR
+John Paul Morrison, <jmorriso@bogomips.ee.ubc.ca>, <ve7jpm@ve7jpm.ampr.org>
+
diff --git a/upstream/fedora-40/man8/poweroff.8 b/upstream/fedora-40/man8/poweroff.8
new file mode 100644
index 00000000..92c73aa8
--- /dev/null
+++ b/upstream/fedora-40/man8/poweroff.8
@@ -0,0 +1,139 @@
+'\" t
+.TH "POWEROFF" "8" "" "systemd 255" "poweroff"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+poweroff, reboot, halt \- Power off, reboot, or halt the machine
+.SH "SYNOPSIS"
+.HP \w'\fBpoweroff\fR\ 'u
+\fBpoweroff\fR [OPTIONS...]
+.HP \w'\fBreboot\fR\ 'u
+\fBreboot\fR [OPTIONS...]
+.HP \w'\fBhalt\fR\ 'u
+\fBhalt\fR [OPTIONS...]
+.SH "DESCRIPTION"
+.PP
+\fBpoweroff\fR,
+\fBreboot\fR, and
+\fBhalt\fR
+may be used to power off, reboot, or halt the machine\&. All three commands take the same options\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.PP
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-halt\fR
+.RS 4
+Halt the machine, regardless of which one of the three commands is invoked\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-p\fR, \fB\-\-poweroff\fR
+.RS 4
+Power off the machine, when either
+\fBhalt\fR
+or
+\fBpoweroff\fR
+is invoked\&. This option is ignored when
+\fBreboot\fR
+is invoked\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-reboot\fR
+.RS 4
+Reboot the machine, regardless of which one of the three commands is invoked\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+Force immediate power\-off, halt, or reboot\&. If specified, the command does not contact the init system\&. In most cases, filesystems are not properly unmounted before shutdown\&. For example, the command
+\fBreboot \-f\fR
+is mostly equivalent to
+\fBsystemctl reboot \-ff\fR, instead of
+\fBsystemctl reboot \-f\fR\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-w\fR, \fB\-\-wtmp\-only\fR
+.RS 4
+Only write wtmp shutdown entry, do not actually power off, reboot, or halt\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-d\fR, \fB\-\-no\-wtmp\fR
+.RS 4
+Do not write wtmp shutdown entry\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-no\-sync\fR
+.RS 4
+Don\*(Aqt sync hard disks/storage media before power\-off, reboot, or halt\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-no\-wall\fR
+.RS 4
+Do not send wall message before power\-off, reboot, or halt\&.
+.sp
+Added in version 253\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "NOTES"
+.PP
+These commands are implemented in a way that preserves basic compatibility with the original SysV commands\&.
+\fBsystemctl\fR(1)
+verbs
+\fBpoweroff\fR,
+\fBreboot\fR,
+\fBhalt\fR
+provide the same functionality with some additional features\&.
+.PP
+Note that on many SysV systems
+\fBhalt\fR
+used to be synonymous to
+\fBpoweroff\fR, i\&.e\&. both commands would equally result in powering the machine off\&. systemd is more accurate here, and
+\fBhalt\fR
+results in halting the machine only (leaving power on), and
+\fBpoweroff\fR
+is required to actually power it off\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBshutdown\fR(8),
+\fBwall\fR(1)
diff --git a/upstream/fedora-40/man8/ppp-watch.8 b/upstream/fedora-40/man8/ppp-watch.8
new file mode 100644
index 00000000..d2b8cc4b
--- /dev/null
+++ b/upstream/fedora-40/man8/ppp-watch.8
@@ -0,0 +1,23 @@
+.TH PPP-WATCH 8 "Red Hat, Inc." "RHS" \" -*- nroff -*-
+.SH NAME
+ppp-watch \- daemon to make PPP interfaces act more like other interfaces
+.SH SYNOPSIS
+.B ppp-watch
+\fIinterface-name\fP [boot]
+.SH DESCRIPTION
+.B ppp-watch
+manages one PPP connection, including starting, stopping, and redialing.
+It makes starting and stopping the connection synchronous activities.
+
+.B ppp-watch
+is not really meant to be called directly. It should only be used from
+within the ifup-ppp script.
+.SH OPTIONS
+.TP
+.I interface-name
+The name of the PPP interface to bring up.
+.TP
+boot
+ppp-watch is being called at boot time and should time out after a
+while if the PPP connection does not come up in order not to hang
+the boot sequence.
diff --git a/upstream/fedora-40/man8/pppd-radattr.8 b/upstream/fedora-40/man8/pppd-radattr.8
new file mode 100644
index 00000000..bcaad3b2
--- /dev/null
+++ b/upstream/fedora-40/man8/pppd-radattr.8
@@ -0,0 +1,44 @@
+.\" manual page [] for RADATTR plugin for pppd 2.4
+.\" $Id: pppd-radattr.8,v 1.2 2003/04/25 07:33:20 fcusack Exp $
+.\" SH section heading
+.\" SS subsection heading
+.\" LP paragraph
+.\" IP indented paragraph
+.\" TP hanging label
+.TH PPPD-RADATTR 8
+.SH NAME
+radattr.so \- RADIUS utility plugin for
+.BR pppd (8)
+.SH SYNOPSIS
+.B pppd
+[
+.I options
+]
+plugin radius.so plugin radattr.so
+.SH DESCRIPTION
+.LP
+The radattr plugin for pppd causes all radius attributes returned by
+the RADIUS server at authentication time to be stored in the file
+.I /var/run/radattr.pppN
+where
+.I pppN
+is the name of the PPP interface. The RADIUS attributes are stored
+one per line in the format "Attribute-Name Attribute-Value". This
+format is convenient for use in /etc/ppp/ip-up and /etc/ppp/ip-down
+scripts.
+.LP
+Note that you
+.I must
+load the radius.so plugin before loading the radattr.so plugin;
+radattr.so depends on symbols defined in radius.so.
+
+.SH USAGE
+To use the plugin, simply supply the
+.B plugin radius.so plugin radattr.so
+options to pppd.
+
+.SH SEE ALSO
+.BR pppd (8) " pppd-radius" (8)
+
+.SH AUTHOR
+Dianne Skoll <dianne@skoll.ca>
diff --git a/upstream/fedora-40/man8/pppd-radius.8 b/upstream/fedora-40/man8/pppd-radius.8
new file mode 100644
index 00000000..08b97fbf
--- /dev/null
+++ b/upstream/fedora-40/man8/pppd-radius.8
@@ -0,0 +1,67 @@
+.\" manual page [] for RADIUS plugin for pppd 2.4
+.\" $Id: pppd-radius.8,v 1.5 2004/03/26 13:27:17 kad Exp $
+.\" SH section heading
+.\" SS subsection heading
+.\" LP paragraph
+.\" IP indented paragraph
+.\" TP hanging label
+.TH PPPD-RADIUS 8
+.SH NAME
+radius.so \- RADIUS authentication plugin for
+.BR pppd (8)
+.SH SYNOPSIS
+.B pppd
+[
+.I options
+]
+plugin radius.so
+.SH DESCRIPTION
+.LP
+The RADIUS plugin for pppd permits pppd to perform PAP, CHAP, MS-CHAP and
+MS-CHAPv2 authentication against a RADIUS server instead of the usual
+.I /etc/ppp/pap-secrets
+and
+.I /etc/ppp/chap-secrets
+files.
+.LP
+The RADIUS plugin is built on a library called
+.B radiusclient
+which has its own configuration files (usually in \fI/etc/radiusclient\fR),
+consult those files for more information on configuring the RADIUS
+plugin
+
+.SH OPTIONS
+The RADIUS plugin introduces one additional pppd option:
+.TP
+.BI "radius-config-file " filename
+The file
+.I filename
+is taken as the radiusclient configuration file. If this option is not
+used, then the plugin uses
+.I /etc/radiusclient/radiusclient.conf
+as the configuration file.
+.TP
+.BI "avpair " attribute=value
+Adds an Attribute-Value pair to be passed on to the RADIUS server on each request.
+.TP
+.BI map-to-ifname
+Sets Radius NAS-Port attribute to number equal to interface name (Default)
+.TP
+.BI map-to-ttyname
+Sets Radius NAS-Port attribute value via libradiusclient library
+
+.SH USAGE
+To use the plugin, simply supply the
+.B plugin radius.so
+option to pppd, and edit
+.I /etc/radiusclient/radiusclient.conf
+appropriately. If you use the RADIUS plugin, the normal pppd authentication
+schemes (login, checking the /etc/ppp/*-secrets files) are skipped. The
+RADIUS server should assign an IP address to the peer using the RADIUS
+Framed-IP-Address attribute.
+
+.SH SEE ALSO
+.BR pppd (8) " pppd-radattr" (8)
+
+.SH AUTHOR
+Dianne Skoll <dianne@skoll.ca>
diff --git a/upstream/fedora-40/man8/pppd.8 b/upstream/fedora-40/man8/pppd.8
new file mode 100644
index 00000000..79b5bea5
--- /dev/null
+++ b/upstream/fedora-40/man8/pppd.8
@@ -0,0 +1,2113 @@
+.\" manual page [] for pppd 2.4
+.\" $Id: pppd.8,v 1.90 2008/03/26 12:09:40 paulus Exp $
+.\" SH section heading
+.\" SS subsection heading
+.\" LP paragraph
+.\" IP indented paragraph
+.\" TP hanging label
+.\"
+.\" Copyright (c) 1993-2003 Paul Mackerras <paulus@samba.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.TH PPPD 8
+.SH NAME
+pppd \- Point-to-Point Protocol Daemon
+.SH SYNOPSIS
+.B pppd
+[
+.I options
+]
+.SH DESCRIPTION
+.LP
+PPP is the protocol used for establishing internet links over dial-up
+modems, DSL connections, and many other types of point-to-point
+links. The \fIpppd\fR daemon works together with the kernel PPP
+driver to establish and maintain a PPP link with another system
+(called the \fIpeer\fR) and to negotiate Internet Protocol (IP)
+addresses for each end of the link. Pppd can also authenticate the
+peer and/or supply authentication information to the peer. PPP can be
+used with other network protocols besides IP, but such use is becoming
+increasingly rare.
+.SH FREQUENTLY USED OPTIONS
+.TP
+.I ttyname
+Use the serial port called \fIttyname\fR to communicate with the
+peer. If \fIttyname\fR does not begin with a slash (/),
+the string "/dev/" is prepended to \fIttyname\fR to form the
+name of the device to open. If no device name is given, or if the
+name of the terminal
+connected to the standard input is given, pppd will use that terminal,
+and will not fork to put itself in the background. A value for this
+option from a privileged source cannot be overridden by a
+non-privileged user.
+.TP
+.I speed
+An option that is a decimal number is taken as the desired baud rate
+for the serial device. On systems such as
+Linux, 4.4BSD and NetBSD, any speed can be specified. Other systems
+(e.g. SunOS) only support the commonly-used baud rates.
+.TP
+.B asyncmap \fImap
+This option sets the Async-Control-Character-Map (ACCM) for this end
+of the link. The ACCM is a set of 32 bits, one for each of the
+ASCII control characters with values from 0 to 31, where a 1 bit
+indicates that the corresponding control character should not be used
+in PPP packets sent to this system. The map is encoded as a
+hexadecimal number (without a leading 0x) where the least significant
+bit (00000001) represents character 0 and the most significant bit
+(80000000) represents character 31.
+Pppd will ask the peer to send these characters as a 2-byte
+escape sequence.
+If multiple \fIasyncmap\fR options are given, the values are ORed
+together. If no \fIasyncmap\fR option is given, the default is zero,
+so pppd will ask the peer not to escape any control characters.
+To escape transmitted characters, use the \fIescape\fR option.
+.TP
+.B auth
+Require the peer to authenticate itself before allowing network
+packets to be sent or received. This option is the default if the
+system has a default route. If neither this option nor the
+\fInoauth\fR option is specified, pppd will only allow the peer to use
+IP addresses to which the system does not already have a route.
+.TP
+.B call \fIname
+Read additional options from the file /etc/ppp/peers/\fIname\fR. This
+file may contain privileged options, such as \fInoauth\fR, even if pppd
+is not being run by root. The \fIname\fR string may not begin with /
+or include .. as a pathname component. The format of the options file
+is described below.
+.TP
+.B connect \fIscript
+Usually there is something which needs to be done to prepare the link
+before the PPP protocol can be started; for instance, with a dial-up
+modem, commands need to be sent to the modem to dial the appropriate
+phone number. This option specifies an command for pppd to execute
+(by passing it to a shell) before attempting to start PPP negotiation.
+The chat (8) program is often useful here, as it provides a way to
+send arbitrary strings to a modem and respond to received characters.
+A value
+for this option from a privileged source cannot be overridden by a
+non-privileged user.
+.TP
+.B crtscts
+Specifies that pppd should set the serial port to use hardware flow
+control using the RTS and CTS signals in the RS-232 interface.
+If neither the \fIcrtscts\fR, the
+\fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR option
+is given, the hardware flow control setting for the serial port is
+left unchanged.
+Some serial ports (such as Macintosh serial ports) lack a true
+RTS output. Such serial ports use this mode to implement
+unidirectional flow control. The serial port will
+suspend transmission when requested by the modem (via CTS)
+but will be unable to request the modem to stop sending to the
+computer. This mode retains the ability to use DTR as
+a modem control line.
+.TP
+.B defaultroute
+Add a default route to the system routing tables, using the peer as
+the gateway, when IPCP negotiation is successfully completed.
+This entry is removed when the PPP connection is broken. This option
+is privileged if the \fInodefaultroute\fR option has been specified.
+.TP
+.B defaultroute-metric
+Define the metric of the \fIdefaultroute\fR and only add it if there
+is no other default route with the same metric. With the default
+value of -1, the route is only added if there is no default route at
+all.
+.TP
+.B replacedefaultroute
+This option is a flag to the defaultroute option. If defaultroute is
+set and this flag is also set, pppd replaces an existing default route
+with the new default route. This option is privileged.
+.TP
+.B disconnect \fIscript
+Execute the command specified by \fIscript\fR, by passing it to a
+shell, after
+pppd has terminated the link. This command could, for example, issue
+commands to the modem to cause it to hang up if hardware modem control
+signals were not available. The disconnect script is not run if the
+modem has already hung up. A value for this option from a privileged
+source cannot be overridden by a non-privileged user.
+.TP
+.B escape \fIxx,yy,...
+Specifies that certain characters should be escaped on transmission
+(regardless of whether the peer requests them to be escaped with its
+async control character map). The characters to be escaped are
+specified as a list of hex numbers separated by commas. Note that
+almost any character can be specified for the \fIescape\fR option,
+unlike the \fIasyncmap\fR option which only allows control characters
+to be specified. The characters which may not be escaped are those
+with hex values 0x20 - 0x3f or 0x5e.
+.TP
+.B file \fIname
+Read options from file \fIname\fR (the format is described below).
+The file must be readable by the user who has invoked pppd.
+.TP
+.B init \fIscript
+Execute the command specified by \fIscript\fR, by passing it to a shell, to
+initialize the serial line. This script would typically use the
+chat(8) program to configure the modem to enable auto answer. A value
+for this option from a privileged source cannot be overridden by a
+non-privileged user.
+.TP
+.B lock
+Specifies that pppd should create a UUCP-style lock file for the
+serial device to ensure exclusive access to the device. By default,
+pppd will not create a lock file.
+.TP
+.B mru \fIn
+Set the MRU [Maximum Receive Unit] value to \fIn\fR. Pppd
+will ask the peer to send packets of no more than \fIn\fR bytes.
+The value of \fIn\fR must be between 128 and 16384; the default is 1500.
+A value of
+296 works well on very slow links (40 bytes for TCP/IP header + 256
+bytes of data).
+Note that for the IPv6 protocol, the MRU must be at least 1280.
+.TP
+.B mtu \fIn
+Set the MTU [Maximum Transmit Unit] value to \fIn\fR. Unless the
+peer requests a smaller value via MRU negotiation, pppd will
+request that the kernel networking code send data packets of no more
+than \fIn\fR bytes through the PPP network interface. Note that for
+the IPv6 protocol, the MTU must be at least 1280.
+.TP
+.B passive
+Enables the "passive" option in the LCP. With this option, pppd will
+attempt to initiate a connection; if no reply is received from the
+peer, pppd will then just wait passively for a valid LCP packet from
+the peer, instead of exiting, as it would without this option.
+.SH OPTIONS
+.TP
+.I <local_IP_address>\fB:\fI<remote_IP_address>
+Set the local and/or remote interface IP addresses. Either one may be
+omitted. The IP addresses can be specified with a host name or in
+decimal dot notation (e.g. 150.234.56.78). The default local
+address is the (first) IP address of the system (unless the
+\fInoipdefault\fR
+option is given). The remote address will be obtained from the peer
+if not specified in any option. Thus, in simple cases, this option is
+not required. If a local and/or remote IP address is specified with
+this option, pppd
+will not accept a different value from the peer in the IPCP
+negotiation, unless the \fIipcp\-accept\-local\fR and/or
+\fIipcp\-accept\-remote\fR options are given, respectively.
+.TP
+.B +ipv6
+Enable the IPv6CP and IPv6 protocols.
+.TP
+.B ipv6 \fI<local_interface_identifier>\fR,\fI<remote_interface_identifier>
+Set the local and/or remote 64-bit interface identifier. Either one may be
+omitted. The identifier must be specified in standard ASCII notation of
+IPv6 addresses (e.g. ::dead:beef). If the
+\fIipv6cp\-use\-ipaddr\fR
+option is given, the local identifier is the local IPv4 address and the
+remote identifier is the remote IPv4 address (see above).
+If the \fIipv6cp-use-remotenumber\fR option is given, the remote identifier
+is set to the value from \fIremotenumber\fR option.
+On systems which supports a unique persistent id, such as EUI\-48 derived
+from the Ethernet MAC address, \fIipv6cp\-use\-persistent\fR option can be
+used to set local identifier. Otherwise both local and remote identifiers
+are randomized.
+.TP
+.B active\-filter \fIfilter\-expression
+Specifies a packet filter to be applied to data packets to determine
+which packets are to be regarded as link activity, and therefore reset
+the idle timer, or cause the link to be brought up in demand-dialling
+mode. This option is useful in conjunction with the
+\fBidle\fR option if there are packets being sent or received
+regularly over the link (for example, routing information packets)
+which would otherwise prevent the link from ever appearing to be idle.
+The \fIfilter\-expression\fR syntax is as described for tcpdump(1),
+except that qualifiers which are inappropriate for a PPP link, such as
+\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
+expression should be enclosed in single-quotes to prevent whitespace
+in the expression from being interpreted by the shell. This option
+is currently only available under Linux, and requires that the kernel
+was configured to include PPP filtering support (CONFIG_PPP_FILTER).
+Note that it
+is possible to apply different constraints to incoming and outgoing
+packets using the \fBinbound\fR and \fBoutbound\fR qualifiers.
+.TP
+.B allow\-ip \fIaddress(es)
+Allow peers to use the given IP address or subnet without
+authenticating themselves. The parameter is parsed as for each
+element of the list of allowed IP addresses in the secrets files (see
+the AUTHENTICATION section below).
+.TP
+.B allow\-number \fInumber
+Allow peers to connect from the given telephone number. A trailing
+`*' character will match all numbers beginning with the leading part.
+.TP
+.B bsdcomp \fInr,nt
+Request that the peer compress packets that it sends, using the
+BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and
+agree to compress packets sent to the peer with a maximum code size of
+\fInt\fR bits. If \fInt\fR is not specified, it defaults to the value
+given for \fInr\fR. Values in the range 9 to 15 may be used for
+\fInr\fR and \fInt\fR; larger values give better compression but
+consume more kernel memory for compression dictionaries.
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
+compression in the corresponding direction. Use \fInobsdcomp\fR or
+\fIbsdcomp 0\fR to disable BSD-Compress compression entirely.
+.TP
+.B ca \fIca-file
+(EAP-TLS, or PEAP) Use the file \fIca-file\fR as the X.509 Certificate Authority
+(CA) file (in PEM format), needed for setting up an EAP-TLS connection.
+This option is used on the client-side in conjunction with the \fBcert\fR
+and \fBkey\fR options. Either \fIca\fR, or \fIcapath\fR options are required
+for PEAP. EAP-TLS may also use the entry in eaptls-client or eaptls-server
+for a CA certificate associated with a particular peer.
+.TP
+.B capath \fIpath
+(EAP-TLS, or PEAP) Specify a location that contains public CA certificates.
+Either \fIca\fR, or \fIcapath\fR options are required for PEAP.
+.TP
+.B cdtrcts
+Use a non-standard hardware flow control (i.e. DTR/CTS) to control
+the flow of data on the serial port. If neither the \fIcrtscts\fR,
+the \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR
+option is given, the hardware flow control setting for the serial
+port is left unchanged.
+Some serial ports (such as Macintosh serial ports) lack a true
+RTS output. Such serial ports use this mode to implement true
+bi-directional flow control. The sacrifice is that this flow
+control mode does not permit using DTR as a modem control line.
+.TP
+.B cert \fIcertfile
+(EAP-TLS) Use the file \fIcertfile\fR as the X.509 certificate (in PEM
+format), needed for setting up an EAP-TLS connection. This option is
+used on the client-side in conjunction with the \fBca\fR and
+\fBkey\fR options.
+.TP
+.B chap\-interval \fIn
+If this option is given, pppd will rechallenge the peer every \fIn\fR
+seconds.
+.TP
+.B chap\-max\-challenge \fIn
+Set the maximum number of CHAP challenge transmissions to \fIn\fR
+(default 10).
+.TP
+.B chap\-restart \fIn
+Set the CHAP restart interval (retransmission timeout for challenges)
+to \fIn\fR seconds (default 3).
+.TP
+.B chap-timeout \fIn
+Set timeout for CHAP authentication by peer to \fIn\fR seconds (default 60).
+.TP
+.B chapms\-strip\-domain
+Some Windows 9x/ME clients might be transmitting the MS domain before the
+username in the provided client name. This option enables stripping the domain
+from the client name on the server side before matching it against the secret
+file.
+.TP
+.B child\-timeout \fIn
+When exiting, wait for up to \fIn\fR seconds for any child processes
+(such as the command specified with the \fBpty\fR command) to exit
+before exiting. At the end of the timeout, pppd will send a SIGTERM
+signal to any remaining child processes and exit. A value of 0 means
+no timeout, that is, pppd will wait until all child processes have
+exited.
+.TP
+.B connect\-delay \fIn
+Wait for up to \fIn\fR milliseconds after the connect script finishes for
+a valid PPP packet from the peer. At the end of this time, or when a
+valid PPP packet is received from the peer, pppd will commence
+negotiation by sending its first LCP packet. The default value is
+1000 (1 second). This wait period only applies if the \fBconnect\fR
+or \fBpty\fR option is used.
+.TP
+.B crl \fIfilename
+(EAP-TLS, or PEAP) Use the file \fIfilename\fR as the Certificate Revocation List
+to check for the validity of the peer's certificate. This option is not
+mandatory for setting up a TLS connection. Also see the \fBcrl-dir\fR
+option.
+.TP
+.B crl-dir \fIdirectory
+(EAP-TLS, or PEAP) Use the directory \fIdirectory\fR to scan for CRL files in
+has format ($hash.r0) to check for the validity of the peer's certificate.
+This option is not mandatory for setting up a TLS connection.
+Also see the \fBcrl\fR option.
+.TP
+.B debug
+Enables connection debugging facilities.
+If this option is given, pppd will log the contents of all
+control packets sent or received in a readable form. The packets are
+logged through syslog with facility \fIdaemon\fR and level
+\fIdebug\fR. This information can be directed to a file by setting up
+/etc/syslog.conf appropriately (see syslog.conf(5)).
+.TP
+.B default\-asyncmap
+Disable asyncmap negotiation, forcing all control characters to be
+escaped for both the transmit and the receive direction.
+.TP
+.B default\-mru
+Disable MRU [Maximum Receive Unit] negotiation. With this option,
+pppd will use the default MRU value of 1500 bytes for both the
+transmit and receive direction.
+.TP
+.B defaultroute6
+Add a default IPv6 route to the system routing tables, using the peer as
+the gateway, when IPv6CP negotiation is successfully completed.
+This entry is removed when the PPP connection is broken. This option
+is privileged if the \fInodefaultroute6\fR option has been specified.
+\fBWARNING: Do not enable this option by default\fR. IPv6 routing tables
+are managed by kernel (as apposite to IPv4) and IPv6 default route is
+configured by kernel automatically too based on ICMPv6 Router Advertisement
+packets. This option may conflict with kernel IPv6 route setup and should
+be used only for broken IPv6 networks.
+.TP
+.B deflate \fInr,nt
+Request that the peer compress packets that it sends, using the
+Deflate scheme, with a maximum window size of \fI2**nr\fR bytes, and
+agree to compress packets sent to the peer with a maximum window size
+of \fI2**nt\fR bytes. If \fInt\fR is not specified, it defaults to
+the value given for \fInr\fR. Values in the range 9 to 15 may be used
+for \fInr\fR and \fInt\fR; larger values give better compression but
+consume more kernel memory for compression dictionaries.
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
+compression in the corresponding direction. Use \fInodeflate\fR or
+\fIdeflate 0\fR to disable Deflate compression entirely. (Note: pppd
+requests Deflate compression in preference to BSD-Compress if the peer
+can do either.)
+.TP
+.B demand
+Initiate the link only on demand, i.e. when data traffic is present.
+With this option, the remote IP address may be specified by the user
+on the command line or in an options file, or if not, pppd will use
+an arbitrary address in the 10.x.x.x range. Pppd will initially
+configure the interface and enable it for IP traffic without
+connecting to the peer. When traffic is available, pppd will
+connect to the peer and perform negotiation, authentication, etc.
+When this is completed, pppd will commence passing data packets
+(i.e., IP packets) across the link.
+
+The \fIdemand\fR option implies the \fIpersist\fR option. If this
+behaviour is not desired, use the \fInopersist\fR option after the
+\fIdemand\fR option. The \fIidle\fR and \fIholdoff\fR
+options are also useful in conjunction with the \fIdemand\fR option.
+.TP
+.B domain \fId
+Append the domain name \fId\fR to the local host name for authentication
+purposes. For example, if gethostname() returns the name porsche, but
+the fully qualified domain name is porsche.Quotron.COM, you could
+specify \fIdomain Quotron.COM\fR. Pppd would then use the name
+\fIporsche.Quotron.COM\fR for looking up secrets in the secrets file,
+and as the default name to send to the peer when authenticating itself
+to the peer. This option is privileged.
+.TP
+.B dryrun
+With the \fBdryrun\fR option, pppd will print out all the option
+values which have been set and then exit, after parsing the command
+line and options files and checking the option values, but before
+initiating the link. The option values are logged at level info, and
+also printed to standard output unless the device on standard output
+is the device that pppd would be using to communicate with the peer.
+.TP
+.B dump
+With the \fBdump\fR option, pppd will print out all the option values
+which have been set. This option is like the \fBdryrun\fR option
+except that pppd proceeds as normal rather than exiting.
+.TP
+.B enable-session
+Enables session accounting via PAM or wtwp/wtmpx, as appropriate.
+When PAM is enabled, the PAM "account" and "session" module stacks
+determine behavior, and are enabled for all PPP authentication
+protocols. When PAM is disabled, wtmp/wtmpx entries are recorded
+regardless of whether the peer name identifies a valid user on the
+local system, making peers visible in the last(1) log. This feature
+is automatically enabled when the pppd \fBlogin\fR option is used.
+Session accounting is disabled by default.
+.TP
+.B endpoint \fI<epdisc>
+Sets the endpoint discriminator sent by the local machine to the peer
+during multilink negotiation to \fI<epdisc>\fR. The default is to use
+the MAC address of the first ethernet interface on the system, if any,
+otherwise the IPv4 address corresponding to the hostname, if any,
+provided it is not in the multicast or locally-assigned IP address
+ranges, or the localhost address. The endpoint discriminator can be
+the string \fBnull\fR or of the form \fItype\fR:\fIvalue\fR, where
+type is a decimal number or one of the strings \fBlocal\fR, \fBIP\fR,
+\fBMAC\fR, \fBmagic\fR, or \fBphone\fR. The value is an IP address in
+dotted-decimal notation for the \fBIP\fR type, or a string of bytes in
+hexadecimal, separated by periods or colons for the other types. For
+the MAC type, the value may also be the name of an ethernet or similar
+network interface. This option is currently only available under
+Linux.
+.TP
+.B eap\-interval \fIn
+If this option is given and pppd authenticates the peer with EAP
+(i.e., is the server), pppd will restart EAP authentication every
+\fIn\fR seconds. For EAP SRP\-SHA1, see also the \fBsrp\-interval\fR
+option, which enables lightweight rechallenge.
+.TP
+.B eap\-max\-rreq \fIn
+Set the maximum number of EAP Requests to which pppd will respond (as
+a client) without hearing EAP Success or Failure. (Default is 20.)
+.TP
+.B eap\-max\-sreq \fIn
+Set the maximum number of EAP Requests that pppd will issue (as a
+server) while attempting authentication. (Default is 10.)
+.TP
+.B eap\-restart \fIn
+Set the retransmit timeout for EAP Requests when acting as a server
+(authenticator). (Default is 3 seconds.)
+.TP
+.B eap\-timeout \fIn
+Set the maximum time to wait for the peer to send an EAP Request when
+acting as a client (authenticatee). (Default is 20 seconds.)
+.TP
+.B hide\-password
+When logging the contents of PAP packets, this option causes pppd to
+exclude the password string from the log. This is the default.
+.TP
+.B holdoff \fIn
+Specifies how many seconds to wait before re-initiating the link after
+it terminates. This option only has any effect if the \fIpersist\fR
+or \fIdemand\fR option is used. The holdoff period is not applied if
+the link was terminated because it was idle.
+.TP
+.B idle \fIn
+Specifies that pppd should disconnect if the link is idle for \fIn\fR
+seconds. The link is idle when no data packets (i.e. IP packets) are
+being sent or received. Note: it is not advisable to use this option
+with the \fIpersist\fR option without the \fIdemand\fR option.
+If the \fBactive\-filter\fR
+option is given, data packets which are rejected by the specified
+activity filter also count as the link being idle.
+.TP
+.B ipcp\-accept\-local
+With this option, pppd will accept the peer's idea of our local IP
+address, even if the local IP address was specified in an option.
+.TP
+.B ipcp\-accept\-remote
+With this option, pppd will accept the peer's idea of its (remote) IP
+address, even if the remote IP address was specified in an option.
+.TP
+.B ipcp\-max\-configure \fIn
+Set the maximum number of IPCP configure-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B ipcp\-max\-failure \fIn
+Set the maximum number of IPCP configure-NAKs returned before starting
+to send configure-Rejects instead to \fIn\fR (default 10).
+.TP
+.B ipcp\-max\-terminate \fIn
+Set the maximum number of IPCP terminate-request transmissions to
+\fIn\fR (default 3).
+.TP
+.B ipcp\-no\-address
+Disable negotiation of addresses via IP-Address IPCP option.
+.TP
+.B ipcp\-no\-addresses
+Disable negotiation of addresses via old-style deprecated IP-Addresses
+IPCP option. pppd by default try to use new-style IP-Address IPCP option.
+If new-style is not supported by peer or is disabled by \fBipcp\-no\-address\fR
+option then pppd fallbacks to old-style deprecated IP-Addresses IPCP option.
+When both new-style and old-style are disabled by both \fBipcp\-no\-address\fR
+and \fBipcp\-no\-addresses\fR options then negotiation of IP addresses
+is completely disabled.
+.TP
+.B ipcp\-restart \fIn
+Set the IPCP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B ipparam \fIstring
+Provides an extra parameter most of the notification scripts, most notably
+ip\-up, ip\-pre\-up, ip\-down, ipv6\-up, ipv6\-down, auth\-up and auth\-down
+scripts. If this
+option is given, the \fIstring\fR supplied is given as the 6th
+parameter to those scripts.
+.TP
+.B ipv6cp\-accept\-local
+With this option, pppd will accept the peer's idea of our local IPv6
+interface identifier, even if the local IPv6 interface identifier
+was specified in an option.
+.TP
+.B ipv6cp\-accept\-remote
+With this option, pppd will accept the peer's idea of its (remote)
+IPv6 interface identifier, even if the remote IPv6 interface
+identifier was specified in an option.
+.TP
+.B ipv6cp\-noremote
+Allow pppd to operate without having an IPv6 link local address for the peer.
+This option is only available under Linux. Normally, pppd will request the
+peer's IPv6 interface identifier (used for composing IPv6 link local address),
+and if the peer does not supply it, pppd will generate one for the peer.
+With this option, if the peer does not supply its IPv6 interface identifier,
+pppd will not ask the peer for it, and will not set the destination IPv6
+link local address of the ppp interface. In this situation, the ppp interface
+can be used for routing by creating device routes, but the peer itself cannot
+be addressed directly for IPv6 traffic until the peer starts announcing ICMPv6
+Router Advertisement or ICMPv6 Neighbor Advertisement packets. Note that IPv6
+router must announce ICMPv6 Router Advertisement packets.
+.TP
+.B ipv6cp\-nosendip
+Don't send our local IPv6 interface identifier to peer during IPv6 interface
+identifier negotiation.
+.TP
+.B ipv6cp\-max\-configure \fIn
+Set the maximum number of IPv6CP configure-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B ipv6cp\-max\-failure \fIn
+Set the maximum number of IPv6CP configure-NAKs returned before starting
+to send configure-Rejects instead to \fIn\fR (default 10).
+.TP
+.B ipv6cp\-max\-terminate \fIn
+Set the maximum number of IPv6CP terminate-request transmissions to
+\fIn\fR (default 3).
+.TP
+.B ipv6cp\-restart \fIn
+Set the IPv6CP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B kdebug \fIn
+Enable debugging code in the kernel-level PPP driver. The argument
+values depend on the specific kernel driver, but in general a value of
+1 will enable general kernel debug messages. (Note that these
+messages are usually only useful for debugging the kernel driver
+itself.) For the Linux 2.2.x kernel driver, the value is a sum of
+bits: 1 to
+enable general debug messages, 2 to request that the contents of
+received packets be printed, and 4 to request that the contents of
+transmitted packets be printed. On most systems, messages printed by
+the kernel are logged by syslog(1) to a file as directed in the
+/etc/syslog.conf configuration file.
+.TP
+.B key \fIkeyfile
+(EAP-TLS) Use the file \fIkeyfile\fR as the private key file (in PEM
+format), needed for setting up an EAP-TLS connection. This option is
+used on the client-side in conjunction with the \fBca\fR and
+\fBcert\fR options.
+.TP
+.B ktune
+Enables pppd to alter kernel settings as appropriate. Under Linux,
+pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward
+to 1) if the \fIproxyarp\fR option is used, and will enable the
+dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to
+1) in demand mode if the local address changes.
+.TP
+.B lcp\-echo\-adaptive
+If this option is used with the \fIlcp\-echo\-failure\fR option then
+pppd will send LCP echo\-request frames only if no traffic was received
+from the peer since the last echo\-request was sent.
+.TP
+.B lcp\-echo\-failure \fIn
+If this option is given, pppd will presume the peer to be dead
+if \fIn\fR LCP echo\-requests are sent without receiving a valid LCP
+echo\-reply. If this happens, pppd will terminate the
+connection. Use of this option requires a non-zero value for the
+\fIlcp\-echo\-interval\fR parameter. This option can be used to enable
+pppd to terminate after the physical connection has been broken
+(e.g., the modem has hung up) in situations where no hardware modem
+control lines are available.
+.TP
+.B lcp\-echo\-interval \fIn
+If this option is given, pppd will send an LCP echo\-request frame to
+the peer every \fIn\fR seconds. Normally the peer should respond to
+the echo\-request by sending an echo\-reply. This option can be used
+with the \fIlcp\-echo\-failure\fR option to detect that the peer is no
+longer connected.
+.TP
+.B lcp\-max\-configure \fIn
+Set the maximum number of LCP configure-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B lcp\-max\-failure \fIn
+Set the maximum number of LCP configure-NAKs returned before starting
+to send configure-Rejects instead to \fIn\fR (default 10).
+.TP
+.B lcp\-max\-terminate \fIn
+Set the maximum number of LCP terminate-request transmissions to
+\fIn\fR (default 3).
+.TP
+.B lcp\-restart \fIn
+Set the LCP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B linkname \fIname\fR
+Sets the logical name of the link to \fIname\fR. Pppd will create a
+file named \fBppp\-\fIname\fB.pid\fR in /var/run (or /etc/ppp on some
+systems) containing its process ID. This can be useful in determining
+which instance of pppd is responsible for the link to a given peer
+system. This is a privileged option.
+.TP
+.B local
+Don't use the modem control lines. With this option, pppd will ignore
+the state of the CD (Carrier Detect) signal from the modem and will
+not change the state of the DTR (Data Terminal Ready) signal. This is
+the opposite of the \fBmodem\fR option.
+.TP
+.B logfd \fIn
+Send log messages to file descriptor \fIn\fR. Pppd will send log
+messages to at most one file or file descriptor (as well as sending
+the log messages to syslog), so this option and the \fBlogfile\fR
+option are mutually exclusive. The default is for pppd to send log
+messages to stdout (file descriptor 1), unless the serial port is
+already open on stdout.
+.TP
+.B logfile \fIfilename
+Append log messages to the file \fIfilename\fR (as well as sending the
+log messages to syslog). The file is opened with the privileges of
+the user who invoked pppd, in append mode.
+.TP
+.B login
+Use the system password database for authenticating the peer using
+PAP, and record the user in the system wtmp file. Note that the peer
+must have an entry in the /etc/ppp/pap\-secrets file as well as the
+system password database to be allowed access. See also the
+\fBenable\-session\fR option.
+.TP
+.B master_detach
+If multilink is enabled and this pppd process is the multilink bundle
+master, and the link controlled by this pppd process terminates, this
+pppd process continues to run in order to maintain the bundle. If the
+\fBmaster_detach\fR option has been given, pppd will detach from its
+controlling terminal in this situation, even if the \fBnodetach\fR
+option has been given.
+.TP
+.B maxconnect \fIn
+Terminate the connection when it has been available for network
+traffic for \fIn\fR seconds (i.e. \fIn\fR seconds after the first
+network control protocol comes up).
+.TP
+.B maxfail \fIn
+Terminate after \fIn\fR consecutive failed connection attempts. A
+value of 0 means no limit. The default value is 10.
+.TP
+.B max-tls-version \fIstring
+(EAP-TLS, or PEAP) Configures the max allowed TLS version used during
+negotiation with a peer. The default value for this is \fI1.2\fR. Values
+allowed for this option is \fI1.0.\fR, \fI1.1\fR, \fI1.2\fR, \fI1.3\fR.
+.TP
+.B modem
+Use the modem control lines. This option is the default. With this
+option, pppd will wait for the CD (Carrier Detect) signal from the
+modem to be asserted when opening the serial device (unless a connect
+script is specified), and it will drop the DTR (Data Terminal Ready)
+signal briefly when the connection is terminated and before executing
+the connect script. On Ultrix, this option implies hardware flow
+control, as for the \fIcrtscts\fR option. This is the opposite of the
+\fBlocal\fR option.
+.TP
+.B mp
+Enables the use of PPP multilink; this is an alias for the `multilink'
+option. This option is currently only available under Linux.
+.TP
+.B mppe\-stateful
+Allow MPPE to use stateful mode. Stateless mode is still attempted first.
+The default is to disallow stateful mode.
+.TP
+.B mpshortseq
+Enables the use of short (12-bit) sequence numbers in multilink
+headers, as opposed to 24-bit sequence numbers. This option is only
+available under Linux, and only has any effect if multilink is
+enabled (see the multilink option).
+.TP
+.B mrru \fIn
+Sets the Maximum Reconstructed Receive Unit to \fIn\fR. The MRRU is
+the maximum size for a received packet on a multilink bundle, and is
+analogous to the MRU for the individual links. This option is
+currently only available under Linux, and only has any effect if
+multilink is enabled (see the multilink option).
+.TP
+.B ms\-dns \fI<addr>
+If pppd is acting as a server for Microsoft Windows clients, this
+option allows pppd to supply one or two DNS (Domain Name Server)
+addresses to the clients. The first instance of this option specifies
+the primary DNS address; the second instance (if given) specifies the
+secondary DNS address. (This option was present in some older
+versions of pppd under the name \fBdns\-addr\fR.)
+.TP
+.B ms\-wins \fI<addr>
+If pppd is acting as a server for Microsoft Windows or "Samba"
+clients, this option allows pppd to supply one or two WINS (Windows
+Internet Name Services) server addresses to the clients. The first
+instance of this option specifies the primary WINS address; the second
+instance (if given) specifies the secondary WINS address.
+.TP
+.B multilink
+Enables the use of the PPP multilink protocol. If the peer also
+supports multilink, then this link can become part of a bundle between
+the local system and the peer. If there is an existing bundle to the
+peer, pppd will join this link to that bundle, otherwise pppd will
+create a new bundle. See the MULTILINK section below. This option is
+currently only available under Linux.
+.TP
+.B name \fIname
+Set the name of the local system for authentication purposes to
+\fIname\fR. This is a privileged option. With this option, pppd will
+use lines in the secrets files which have \fIname\fR as the second
+field when looking for a secret to use in authenticating the peer. In
+addition, unless overridden with the \fIuser\fR option, \fIname\fR
+will be used as the name to send to the peer when authenticating the
+local system to the peer. (Note that pppd does not append the domain
+name to \fIname\fR.)
+.TP
+.B noaccomp
+Disable Address/Control compression in both directions (send and
+receive).
+.TP
+.B need-peer-eap
+(EAP-TLS) Require the peer to verify our authentication credentials.
+.TP
+.B noauth
+Do not require the peer to authenticate itself. This option is
+privileged.
+.TP
+.B nobsdcomp
+Disables BSD-Compress compression; \fBpppd\fR will not request or
+agree to compress packets using the BSD-Compress scheme.
+.TP
+.B noccp
+Disable CCP (Compression Control Protocol) negotiation. This option
+should only be required if the peer is buggy and gets confused by
+requests from pppd for CCP negotiation.
+.TP
+.B nocrtscts
+Disable hardware flow control (i.e. RTS/CTS) on the serial port.
+If neither the \fIcrtscts\fR nor the \fInocrtscts\fR nor the
+\fIcdtrcts\fR nor the \fInocdtrcts\fR option is given, the hardware
+flow control setting for the serial port is left unchanged.
+.TP
+.B nocdtrcts
+This option is a synonym for \fInocrtscts\fR. Either of these options will
+disable both forms of hardware flow control.
+.TP
+.B nodefaultroute
+Disable the \fIdefaultroute\fR option. The system administrator who
+wishes to prevent users from adding a default route with pppd
+can do so by placing this option in the /etc/ppp/options file.
+.TP
+.B noreplacedefaultroute
+Disable the \fIreplacedefaultroute\fR option. This allows to disable a
+\fIreplacedefaultroute\fR option set previously in the configuration.
+.TP
+.B nodefaultroute6
+Disable the \fIdefaultroute6\fR option. The system administrator who
+wishes to prevent users from adding a default route with pppd
+can do so by placing this option in the /etc/ppp/options file.
+.TP
+.B nodeflate
+Disables Deflate compression; pppd will not request or agree to
+compress packets using the Deflate scheme.
+.TP
+.B nodetach
+Don't detach from the controlling terminal. Without this option, if a
+serial device other than the terminal on the standard input is
+specified, pppd will fork to become a background process.
+.TP
+.B noendpoint
+Disables pppd from sending an endpoint discriminator to the peer or
+accepting one from the peer (see the MULTILINK section below). This
+option should only be required if the peer is buggy.
+.TP
+.B noip
+Disable IPCP negotiation and IP communication. This option should
+only be required if the peer is buggy and gets confused by requests
+from pppd for IPCP negotiation.
+.TP
+.B noipv6
+Disable IPv6CP negotiation and IPv6 communication. This option should
+only be required if the peer is buggy and gets confused by requests
+from pppd for IPv6CP negotiation.
+.TP
+.B noipdefault
+Disables the default behaviour when no local IP address is specified,
+which is to determine (if possible) the local IP address from the
+hostname. With this option, the peer will have to supply the local IP
+address during IPCP negotiation (unless it specified explicitly on the
+command line or in an options file).
+.TP
+.B noktune
+Opposite of the \fIktune\fR option; disables pppd from changing system
+settings.
+.TP
+.B nolock
+Opposite of the \fIlock\fR option; specifies that pppd should not
+create a UUCP-style lock file for the serial device. This option is
+privileged.
+.TP
+.B nolog
+Do not send log messages to a file or file descriptor. This option
+cancels the \fBlogfd\fR and \fBlogfile\fR options.
+.TP
+.B nomagic
+Disable magic number negotiation. With this option, pppd cannot
+detect a looped-back line. This option should only be needed if the
+peer is buggy.
+.TP
+.B nomp
+Disables the use of PPP multilink. This option is currently only
+available under Linux.
+.TP
+.B nomppe
+Disables MPPE (Microsoft Point to Point Encryption). This is the default.
+.TP
+.B nomppe\-40
+Disable 40-bit encryption with MPPE.
+.TP
+.B nomppe\-128
+Disable 128-bit encryption with MPPE.
+.TP
+.B nomppe\-stateful
+Disable MPPE stateful mode. This is the default.
+.TP
+.B nompshortseq
+Disables the use of short (12-bit) sequence numbers in the PPP
+multilink protocol, forcing the use of 24-bit sequence numbers. This
+option is currently only available under Linux, and only has any
+effect if multilink is enabled.
+.TP
+.B nomultilink
+Disables the use of PPP multilink. This option is currently only
+available under Linux.
+.TP
+.B nopcomp
+Disable protocol field compression negotiation in both the receive and
+the transmit direction.
+.TP
+.B nopersist
+Exit once a connection has been made and terminated. This is the
+default unless the \fIpersist\fR or \fIdemand\fR option has been
+specified.
+.TP
+.B nopredictor1
+Do not accept or agree to Predictor\-1 compression.
+.TP
+.B noproxyarp
+Disable the \fIproxyarp\fR option. The system administrator who
+wishes to prevent users from creating proxy ARP entries with pppd can
+do so by placing this option in the /etc/ppp/options file.
+.TP
+.B noremoteip
+Allow pppd to operate without having an IP address for the peer. This
+option is only available under Linux. Normally, pppd will request the
+peer's IP address, and if the peer does not supply it, pppd will use
+an arbitrary address in the 10.x.x.x subnet.
+With this option, if the peer does
+not supply its IP address, pppd will not ask the peer for it, and will
+not set the destination address of the ppp interface. In this
+situation, the ppp interface can be used for routing by creating
+device routes, but the peer itself cannot be addressed directly for IP
+traffic.
+.TP
+.B nosendip
+Don't send our local IP address to peer during IP address negotiation.
+.TP
+.B notty
+Normally, pppd requires a terminal device. With this option, pppd
+will allocate itself a pseudo-tty master/slave pair and use the slave
+as its terminal device. Pppd will create a child process to act as a
+`character shunt' to transfer characters between the pseudo-tty master
+and its standard input and output. Thus pppd will transmit characters
+on its standard output and receive characters on its standard input
+even if they are not terminal devices. This option increases the
+latency and CPU overhead of transferring data over the ppp interface
+as all of the characters sent and received must flow through the
+character shunt process. An explicit device name may not be given if
+this option is used.
+.TP
+.B novj
+Disable Van Jacobson style TCP/IP header compression in both the
+transmit and the receive direction.
+.TP
+.B novjccomp
+Disable the connection-ID compression option in Van Jacobson style
+TCP/IP header compression. With this option, pppd will not omit the
+connection-ID byte from Van Jacobson compressed TCP/IP headers, nor
+ask the peer to do so.
+.TP
+.B papcrypt
+Indicates that all secrets in the /etc/ppp/pap\-secrets file which are
+used for checking the identity of the peer are encrypted, and thus
+pppd should not accept a password which, before encryption, is
+identical to the secret from the /etc/ppp/pap\-secrets file.
+.TP
+.B pap\-max\-authreq \fIn
+Set the maximum number of PAP authenticate-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B pap\-restart \fIn
+Set the PAP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B pap\-timeout \fIn
+Set the maximum time that pppd will wait for the peer to authenticate
+itself with PAP to \fIn\fR seconds (0 means no limit).
+.TP
+.B pass\-filter \fIfilter\-expression
+Specifies a packet filter to applied to data packets being sent or
+received to determine which packets should be allowed to pass.
+Packets which are rejected by the filter are silently discarded. This
+option can be used to prevent specific network daemons (such as
+routed) using up link bandwidth, or to provide a very basic firewall
+capability.
+The \fIfilter\-expression\fR syntax is as described for tcpdump(1),
+except that qualifiers which are inappropriate for a PPP link, such as
+\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
+expression should be enclosed in single-quotes to prevent whitespace
+in the expression from being interpreted by the shell. Note that it
+is possible to apply different constraints to incoming and outgoing
+packets using the \fBinbound\fR and \fBoutbound\fR qualifiers. This
+option is currently only available under Linux, and requires that the
+kernel was configured to include PPP filtering support (CONFIG_PPP_FILTER).
+.TP
+.B password \fIpassword\-string
+Specifies the password to use for authenticating to the peer. Use
+of this option is discouraged, as the password is likely to be visible
+to other users on the system (for example, by using ps(1)).
+.TP
+.B persist
+Do not exit after a connection is terminated; instead try to reopen
+the connection. The \fBmaxfail\fR option still has an effect on
+persistent connections.
+.TP
+.B plugin \fIfilename
+Load the shared library object file \fIfilename\fR as a plugin. This
+is a privileged option. If \fIfilename\fR does not contain a slash
+(/), pppd will look in the \fB/usr/lib/pppd/\fIversion\fR directory
+for the plugin, where
+\fIversion\fR is the version number of pppd (for example, 2.4.2).
+.TP
+.B predictor1
+Request that the peer compress frames that it sends using Predictor-1
+compression, and agree to compress transmitted frames with Predictor-1
+if requested. This option has no effect unless the kernel driver
+supports Predictor-1 compression.
+.TP
+.B privgroup \fIgroup\-name
+Allows members of group \fIgroup\-name\fR to use privileged options.
+This is a privileged option. Use of this option requires care as
+there is no guarantee that members of \fIgroup\-name\fR cannot use pppd
+to become root themselves. Consider it equivalent to putting the
+members of \fIgroup\-name\fR in the kmem or disk group.
+.TP
+.B proxyarp
+Add an entry to this system's ARP [Address Resolution Protocol] table
+with the IP address of the peer and the Ethernet address of this
+system. This will have the effect of making the peer appear to other
+systems to be on the local ethernet.
+.TP
+.B pty \fIscript
+Specifies that the command \fIscript\fR is to be used to communicate
+rather than a specific terminal device. Pppd will allocate itself a
+pseudo-tty master/slave pair and use the slave as its terminal
+device. The \fIscript\fR will be run in a child process with the
+pseudo-tty master as its standard input and output. An explicit
+device name may not be given if this option is used. (Note: if the
+\fIrecord\fR option is used in conjunction with the \fIpty\fR option,
+the child process will have pipes on its standard input and output.)
+.TP
+.B receive\-all
+With this option, pppd will accept all control characters from the
+peer, including those marked in the receive asyncmap. Without this
+option, pppd will discard those characters as specified in RFC1662.
+This option should only be needed if the peer is buggy.
+.TP
+.B record \fIfilename
+Specifies that pppd should record all characters sent and received to
+a file named \fIfilename\fR. This file is opened in append mode,
+using the user's user-ID and permissions. This option is implemented
+using a pseudo-tty and a process to transfer characters between the
+pseudo-tty and the real serial device, so it will increase the latency
+and CPU overhead of transferring data over the ppp interface. The
+characters are stored in a tagged format with timestamps, which can be
+displayed in readable form using the pppdump(8) program.
+.TP
+.B remotename \fIname
+Set the assumed name of the remote system for authentication purposes
+to \fIname\fR.
+.TP
+.B remotenumber \fInumber
+Set the assumed telephone number of the remote system for authentication
+purposes to \fInumber\fR.
+.TP
+.B refuse\-chap
+With this option, pppd will not agree to authenticate itself to the
+peer using CHAP.
+.TP
+.B refuse\-mschap
+With this option, pppd will not agree to authenticate itself to the
+peer using MS\-CHAP.
+.TP
+.B refuse\-mschap\-v2
+With this option, pppd will not agree to authenticate itself to the
+peer using MS\-CHAPv2.
+.TP
+.B refuse\-eap
+With this option, pppd will not agree to authenticate itself to the
+peer using EAP.
+.TP
+.B refuse\-pap
+With this option, pppd will not agree to authenticate itself to the
+peer using PAP.
+.TP
+.B require\-chap
+Require the peer to authenticate itself using CHAP [Challenge
+Handshake Authentication Protocol] authentication.
+.TP
+.B require\-mppe
+Require the use of MPPE (Microsoft Point to Point Encryption). This
+option disables all other compression types. This option enables
+both 40-bit and 128-bit encryption. In order for MPPE to successfully
+come up, you must have authenticated with either MS\-CHAP or MS\-CHAPv2.
+This option is presently only supported under Linux, and only if your
+kernel has been configured to include MPPE support.
+.TP
+.B require\-mppe\-40
+Require the use of MPPE, with 40-bit encryption.
+.TP
+.B require\-mppe\-128
+Require the use of MPPE, with 128-bit encryption.
+.TP
+.B require\-mschap
+Require the peer to authenticate itself using MS\-CHAP [Microsoft Challenge
+Handshake Authentication Protocol] authentication.
+.TP
+.B require\-mschap\-v2
+Require the peer to authenticate itself using MS\-CHAPv2 [Microsoft Challenge
+Handshake Authentication Protocol, Version 2] authentication.
+.TP
+.B require\-eap
+Require the peer to authenticate itself using EAP [Extensible
+Authentication Protocol] authentication.
+.TP
+.B require\-pap
+Require the peer to authenticate itself using PAP [Password
+Authentication Protocol] authentication.
+.TP
+.B set \fIname\fR=\fIvalue
+Set an environment variable for scripts that are invoked by pppd.
+When set by a privileged source, the variable specified by \fIname\fR
+cannot be changed by options contained in an unprivileged source. See
+also the \fIunset\fR option and the environment described in
+\fISCRIPTS\fR.
+.TP
+.B show\-password
+When logging the contents of PAP packets, this option causes pppd to
+show the password string in the log message.
+.TP
+.B silent
+With this option, pppd will not transmit LCP packets to initiate a
+connection until a valid LCP packet is received from the peer (as for
+the `passive' option with ancient versions of pppd).
+.TP
+.B srp\-interval \fIn
+If this parameter is given and pppd uses EAP SRP\-SHA1 to authenticate
+the peer (i.e., is the server), then pppd will use the optional
+lightweight SRP rechallenge mechanism at intervals of \fIn\fR
+seconds. This option is faster than \fBeap\-interval\fR
+reauthentication because it uses a hash\-based mechanism and does not
+derive a new session key.
+.TP
+.B srp\-pn\-secret \fIstring
+Set the long-term pseudonym-generating secret for the server. This
+value is optional and if set, needs to be known at the server
+(authenticator) side only, and should be different for each server (or
+poll of identical servers). It is used along with the current date to
+generate a key to encrypt and decrypt the client's identity contained
+in the pseudonym.
+.TP
+.B srp\-use\-pseudonym
+When operating as an EAP SRP\-SHA1 client, attempt to use the pseudonym
+stored in ~/.ppp_pseudonym first as the identity, and save in this
+file any pseudonym offered by the peer during authentication.
+.TP
+.B stop\-bits \fIn
+Set the number of stop bits for the serial port. Valid values are 1 or 2.
+The default value is 1.
+.TP
+.B sync
+Use synchronous HDLC serial encoding instead of asynchronous.
+The device used by pppd with this option must have sync support.
+Currently supports Microgate SyncLink adapters
+under Linux and FreeBSD 2.2.8 and later.
+.TP
+.B tls-verify-method \fIstring
+(EAP-TLS, or PEAP) Match the value specified for \fIremotename\fR to that that
+of the X509 certificates subject name, common name, or suffix of the common
+name. Respective values allowed for this option is: \fInone\fR, \fIsubject\fR,
+\fIname\fR, or \fIsuffix\fR. The default value for this option is \fIname\fR.
+.TP
+.B tls-verify-key-usage
+(EAP-TLS, or PEAP) Enables examination of peer certificate's purpose, and
+extended key usage attributes.
+.TP
+.B unit \fInum
+Sets the ppp unit number (for a ppp0 or ppp1 etc interface name) for outbound
+connections. If the unit is already in use a dynamically allocated number will
+be used.
+.TP
+.B ifname \fIstring
+Set the ppp interface name for outbound connections. If the interface name is
+already in use, or if the name cannot be used for any other reason, pppd will
+terminate.
+.TP
+.B unset \fIname
+Remove a variable from the environment variable for scripts that are
+invoked by pppd. When specified by a privileged source, the variable
+\fIname\fR cannot be set by options contained in an unprivileged
+source. See also the \fIset\fR option and the environment described
+in \fISCRIPTS\fR.
+.TP
+.B updetach
+With this option, pppd will detach from its controlling terminal once
+it has successfully established the ppp connection (to the point where
+the first network control protocol, usually the IP control protocol,
+has come up).
+.TP
+.B up_sdnotify
+Use this option to run pppd in systemd service units of Type=notify
+(\fBup_sdnotify\fR implies \fBnodetach\fR).
+When \fBup_sdnotify\fR is enabled, pppd will notify systemd once
+it has successfully established the ppp connection (to the point where
+the first network control protocl, usually the IP control protocol,
+has come up). This option is only availble when pppd is compiled with
+systemd support.
+.TP
+.B usehostname
+Enforce the use of the hostname (with domain name appended, if given)
+as the name of the local system for authentication purposes (overrides
+the \fIname\fR option). This option is not normally needed since the
+\fIname\fR option is privileged.
+.TP
+.B usepeerdns
+Ask the peer for up to 2 DNS server addresses. The addresses supplied
+by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
+environment variables DNS1 and DNS2, and the environment variable
+USEPEERDNS will be set to 1. In addition, pppd will create an
+/etc/ppp/resolv.conf file containing one or two nameserver lines with
+the address(es) supplied by the peer.
+.TP
+.B usepeerwins
+Ask the peer for up to 2 WINS server addresses. The addresses supplied
+by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
+environment variables WINS1 and WINS2, and the environment variable
+USEPEERWINS will be set to 1.
+.LP
+Please note that some modems (like the Huawei E220) requires this option in
+order to avoid a race condition that results in the incorrect DNS servers
+being assigned.
+.TP
+.B user \fIname
+Sets the name used for authenticating the local system to the peer to
+\fIname\fR.
+.TP
+.B vj\-max\-slots \fIn
+Sets the number of connection slots to be used by the Van Jacobson
+TCP/IP header compression and decompression code to \fIn\fR, which
+must be between 2 and 16 (inclusive).
+.TP
+.B welcome \fIscript
+Run the executable or shell command specified by \fIscript\fR before
+initiating PPP negotiation, after the connect script (if any) has
+completed. A value for this option from a privileged source cannot be
+overridden by a non-privileged user.
+.TP
+.B xonxoff
+Use software flow control (i.e. XON/XOFF) to control the flow of data on
+the serial port.
+.SH PPPOE OPTIONS
+To establish PPP link over Ethernet (PPPoE) it is needed to load pppd's
+\fBplugin pppoe.so\fR and then specify option \fBnic-\fIinterface\fR
+instead of modem options \fIttyname\fR and \fIspeed\fR.
+Recognized pppd's PPPoE options are:
+.TP
+.B nic-\fIinterface
+Use the ethernet device \fIinterface\fR to communicate with the peer.
+For example, establishing PPPoE link on \fIeth0\fR interface is done
+by specifying ppp'd option \fBnic-eth0\fR. Prefix \fBnic-\fR for this
+option may be avoided if interface name is unambiguous and does not
+look like any other pppd's option.
+.TP
+.B pppoe-service \fIname
+Connect to specified PPPoE service name. For backward compatibility also
+\fBrp_pppoe_service\fP option name is supported.
+.TP
+.B pppoe-ac \fIname
+Connect to specified PPPoE access concentrator name. For backward
+compatibility also \fBrp_pppoe_ac\fP option name is supported.
+.TP
+.B pppoe-sess \fIsessid\fP:\fImacaddr
+Attach to existing PPPoE session. For backward compatibility also
+\fBrp_pppoe_sess\fP option name is supported.
+.TP
+.B pppoe-verbose \fIn
+Be verbose about discovered access concentrators. When set to 2 or bigger
+value then dump also discovery packets. For backward compatibility also
+\fBrp_pppoe_verbose\fP option name is supported.
+.TP
+.B pppoe-mac \fImacaddr
+Connect to specified MAC address.
+.TP
+.B pppoe-host-uniq \fIstring
+Set the PPPoE Host-Uniq tag to the supplied hex string.
+By default PPPoE Host-Uniq tag is set to the pppd's process PID.
+For backward compatibility this option may be specified without
+\fBpppoe-\fP prefix.
+.TP
+.B pppoe-padi-timeout \fIn
+Initial timeout for discovery packets in seconds (default 5).
+.TP
+.B pppoe-padi-attempts \fIn
+Number of discovery attempts (default 3).
+.SH OPTIONS FILES
+Options can be taken from files as well as the command line. Pppd
+reads options from the files /etc/ppp/options, ~/.ppprc and
+/etc/ppp/options.\fIttyname\fR (in that order) before processing the
+options on the command line. (In fact, the command-line options are
+scanned to find the terminal name before the options.\fIttyname\fR
+file is read.) In forming the name of the options.\fIttyname\fR file,
+the initial /dev/ is removed from the terminal name, and any remaining
+/ characters are replaced with dots.
+.PP
+An options file is parsed into a series of words, delimited by
+whitespace. Whitespace can be included in a word by enclosing the
+word in double-quotes ("). A backslash (\e) quotes the following character.
+A hash (#) starts a comment, which continues until the end of the
+line. There is no restriction on using the \fIfile\fR or \fIcall\fR
+options within an options file.
+.SH SECURITY
+.I pppd
+provides system administrators with sufficient access control that PPP
+access to a server machine can be provided to legitimate users without
+fear of compromising the security of the server or the network it's
+on. This control is provided through restrictions on which IP
+addresses the peer may use, based on its authenticated identity (if
+any), and through restrictions on which options a non-privileged user
+may use. Several of pppd's options are privileged, in particular
+those which permit potentially insecure configurations; these options
+are only accepted in files which are under the control of the system
+administrator, or if pppd is being run by root.
+.PP
+The default behaviour of pppd is to allow an unauthenticated peer to
+use a given IP address only if the system does not already have a
+route to that IP address. For example, a system with a
+permanent connection to the wider internet will normally have a
+default route, and thus all peers will have to authenticate themselves
+in order to set up a connection. On such a system, the \fIauth\fR
+option is the default. On the other hand, a system where the
+PPP link is the only connection to the internet will not normally have
+a default route, so the peer will be able to use almost any IP address
+without authenticating itself.
+.PP
+As indicated above, some security-sensitive options are privileged,
+which means that they may not be used by an ordinary non-privileged
+user running a setuid-root pppd, either on the command line, in the
+user's ~/.ppprc file, or in an options file read using the \fIfile\fR
+option. Privileged options may be used in /etc/ppp/options file or in
+an options file read using the \fIcall\fR option. If pppd is being
+run by the root user, privileged options can be used without
+restriction.
+.PP
+When opening the device, pppd uses either the invoking user's user ID
+or the root UID (that is, 0), depending on whether the device name was
+specified by the user or the system administrator. If the device name
+comes from a privileged source, that is, /etc/ppp/options or an
+options file read using the \fIcall\fR option, pppd uses full root
+privileges when opening the device. Thus, by creating an appropriate
+file under /etc/ppp/peers, the system administrator can allow users to
+establish a ppp connection via a device which they would not normally
+have permission to access. Otherwise pppd uses the invoking user's
+real UID when opening the device.
+.SH AUTHENTICATION
+Authentication is the process whereby one peer convinces the other of
+its identity. This involves the first peer sending its name to the
+other, together with some kind of secret information which could only
+come from the genuine authorized user of that name. In such an
+exchange, we will call the first peer the "client" and the other the
+"server". The client has a name by which it identifies itself to the
+server, and the server also has a name by which it identifies itself
+to the client. Generally the genuine client shares some secret (or
+password) with the server, and authenticates itself by proving that it
+knows that secret. Very often, the names used for authentication
+correspond to the internet hostnames of the peers, but this is not
+essential.
+.LP
+At present, pppd supports three authentication protocols: the Password
+Authentication Protocol (PAP), Challenge Handshake Authentication
+Protocol (CHAP), and Extensible Authentication Protocol (EAP). PAP
+involves the client sending its name and a cleartext password to the
+server to authenticate itself. In contrast, the server initiates the
+CHAP authentication exchange by sending a challenge to the client (the
+challenge packet includes the server's name). The client must respond
+with a response which includes its name plus a hash value derived from
+the shared secret and the challenge, in order to prove that it knows
+the secret. EAP supports CHAP-style authentication, and also includes
+the SRP\-SHA1 mechanism, which is resistant to dictionary-based attacks
+and does not require a cleartext password on the server side.
+.LP
+The PPP protocol, being symmetrical, allows both peers to require the
+other to authenticate itself. In that case, two separate and
+independent authentication exchanges will occur. The two exchanges
+could use different authentication protocols, and in principle,
+different names could be used in the two exchanges.
+.LP
+The default behaviour of pppd is to agree to authenticate if
+requested, and to not require authentication from the peer. However,
+pppd will not agree to authenticate itself with a particular protocol
+if it has no secrets which could be used to do so.
+.LP
+Pppd stores secrets for use in authentication in secrets
+files (/etc/ppp/pap\-secrets for PAP, /etc/ppp/chap\-secrets for CHAP,
+MS\-CHAP, MS\-CHAPv2, and EAP MD5-Challenge, and /etc/ppp/srp\-secrets
+for EAP SRP\-SHA1).
+All secrets files have the same format. The secrets files can
+contain secrets for pppd to use in authenticating itself to other
+systems, as well as secrets for pppd to use when authenticating other
+systems to itself.
+.LP
+Each line in a secrets file contains one secret. A given secret is
+specific to a particular combination of client and server - it can
+only be used by that client to authenticate itself to that server.
+Thus each line in a secrets file has at least 3 fields: the name of
+the client, the name of the server, and the secret. These fields may
+be followed by a list of the IP addresses that the specified client
+may use when connecting to the specified server.
+.LP
+A secrets file is parsed into words as for a options file, so the
+client name, server name and secrets fields must each be one word,
+with any embedded spaces or other special characters quoted or
+escaped. Note that case is significant in the client and server names
+and in the secret.
+.LP
+If the secret starts with an `@', what follows is assumed to be the
+name of a file from which to read the secret. A "*" as the client or
+server name matches any name. When selecting a secret, pppd takes the
+best match, i.e. the match with the fewest wildcards.
+.LP
+Any following words on the same line are taken to be a list of
+acceptable IP addresses for that client. If there are only 3 words on
+the line, or if the first word is "\-", then all IP addresses are
+disallowed. To allow any address, use "*". A word starting with "!"
+indicates that the specified address is \fInot\fR acceptable. An
+address may be followed by "/" and a number \fIn\fR, to indicate a
+whole subnet, i.e. all addresses which have the same value in the most
+significant \fIn\fR bits. In this form, the address may be followed
+by a plus sign ("+") to indicate that one address from the subnet is
+authorized, based on the ppp network interface unit number in use.
+In this case, the host part of the address will be set to the unit
+number plus one.
+.LP
+Thus a secrets file contains both secrets for use in authenticating
+other hosts, plus secrets which we use for authenticating ourselves to
+others. When pppd is authenticating the peer (checking the peer's
+identity), it chooses a secret with the peer's name in the first
+field and the name of the local system in the second field. The
+name of the local system defaults to the hostname, with the domain
+name appended if the \fIdomain\fR option is used. This default can be
+overridden with the \fIname\fR option, except when the
+\fIusehostname\fR option is used. (For EAP SRP\-SHA1, see the
+srp\-entry(8) utility for generating proper validator entries to be
+used in the "secret" field.)
+.LP
+When pppd is choosing a secret to use in authenticating itself to the
+peer, it first determines what name it is going to use to identify
+itself to the peer. This name can be specified by the user with the
+\fIuser\fR option. If this option is not used, the name defaults to
+the name of the local system, determined as described in the previous
+paragraph. Then pppd looks for a secret with this name in the first
+field and the peer's name in the second field. Pppd will know the
+name of the peer if CHAP or EAP authentication is being used, because
+the peer will have sent it in the challenge packet. However, if PAP
+is being used, pppd will have to determine the peer's name from the
+options specified by the user. The user can specify the peer's name
+directly with the \fIremotename\fR option. Otherwise, if the remote
+IP address was specified by a name (rather than in numeric form), that
+name will be used as the peer's name. Failing that, pppd will use the
+null string as the peer's name.
+.LP
+When authenticating the peer with PAP, the supplied password is first
+compared with the secret from the secrets file. If the password
+doesn't match the secret, the password is encrypted using crypt() and
+checked against the secret again. Thus secrets for authenticating the
+peer can be stored in encrypted form if desired. If the
+\fIpapcrypt\fR option is given, the first (unencrypted) comparison is
+omitted, for better security.
+.LP
+Furthermore, if the \fIlogin\fR option was specified, the username and
+password are also checked against the system password database. Thus,
+the system administrator can set up the pap\-secrets file to allow PPP
+access only to certain users, and to restrict the set of IP addresses
+that each user can use. Typically, when using the \fIlogin\fR option,
+the secret in /etc/ppp/pap\-secrets would be "", which will match any
+password supplied by the peer. This avoids the need to have the same
+secret in two places.
+.LP
+Authentication must be satisfactorily completed before IPCP (or any
+other Network Control Protocol) can be started. If the peer is
+required to authenticate itself, and fails to do so, pppd will
+terminated the link (by closing LCP). If IPCP negotiates an
+unacceptable IP address for the remote host, IPCP will be closed. IP
+packets can only be sent or received when IPCP is open.
+.LP
+In some cases it is desirable to allow some hosts which can't
+authenticate themselves to connect and use one of a restricted set of
+IP addresses, even when the local host generally requires
+authentication. If the peer refuses to authenticate itself when
+requested, pppd takes that as equivalent to authenticating with PAP
+using the empty string for the username and password. Thus, by adding
+a line to the pap\-secrets file which specifies the empty string for
+the client and password, it is possible to allow restricted access to
+hosts which refuse to authenticate themselves.
+.SH ROUTING
+.LP
+When IPCP negotiation is completed successfully, pppd will inform the
+kernel of the local and remote IP addresses for the ppp interface.
+This is sufficient to create a host route to the remote end of the
+link, which will enable the peers to exchange IP packets.
+Communication with other machines generally requires further
+modification to routing tables and/or ARP (Address Resolution
+Protocol) tables. In most cases the \fIdefaultroute\fR and/or
+\fIproxyarp\fR options are sufficient for this, but in some cases
+further intervention is required. The /etc/ppp/ip\-up script can be
+used for this.
+.LP
+Sometimes it is desirable to add a default route through the remote
+host, as in the case of a machine whose only connection to the
+Internet is through the ppp interface. The \fIdefaultroute\fR option
+causes pppd to create such a default route when IPCP comes up, and
+delete it when the link is terminated.
+.LP
+In some cases it is desirable to use proxy ARP, for example on a
+server machine connected to a LAN, in order to allow other hosts to
+communicate with the remote host. The \fIproxyarp\fR option causes
+pppd to look for a network interface on the same subnet as the remote
+host (an interface supporting broadcast and ARP, which is up and not a
+point-to-point or loopback interface). If found, pppd creates a
+permanent, published ARP entry with the IP address of the remote host
+and the hardware address of the network interface found.
+.LP
+When the \fIdemand\fR option is used, the interface IP addresses have
+already been set at the point when IPCP comes up. If pppd has not
+been able to negotiate the same addresses that it used to configure
+the interface (for example when the peer is an ISP that uses dynamic
+IP address assignment), pppd has to change the interface IP addresses
+to the negotiated addresses. This may disrupt existing connections,
+and the use of demand dialling with peers that do dynamic IP address
+assignment is not recommended.
+.SH MULTILINK
+Multilink PPP provides the capability to combine two or more PPP links
+between a pair of machines into a single `bundle', which appears as a
+single virtual PPP link which has the combined bandwidth of the
+individual links. Currently, multilink PPP is only supported under
+Linux.
+.LP
+Pppd detects that the link it is controlling is connected to the same
+peer as another link using the peer's endpoint discriminator and the
+authenticated identity of the peer (if it authenticates itself). The
+endpoint discriminator is a block of data which is hopefully unique
+for each peer. Several types of data can be used, including
+locally-assigned strings of bytes, IP addresses, MAC addresses,
+randomly strings of bytes, or E\-164 phone numbers. The endpoint
+discriminator sent to the peer by pppd can be set using the endpoint
+option.
+.LP
+In some circumstances the peer may send no endpoint discriminator or a
+non-unique value. The bundle option adds an extra string which is
+added to the peer's endpoint discriminator and authenticated identity
+when matching up links to be joined together in a bundle. The bundle
+option can also be used to allow the establishment of multiple bundles
+between the local system and the peer. Pppd uses a TDB database in
+/var/run/pppd2.tdb to match up links.
+.LP
+Assuming that multilink is enabled and the peer is willing to
+negotiate multilink, then when pppd is invoked to bring up the first
+link to the peer, it will detect that no other link is connected to
+the peer and create a new bundle, that is, another ppp network
+interface unit. When another pppd is invoked to bring up another link
+to the peer, it will detect the existing bundle and join its link to
+it.
+.LP
+If the first link terminates (for example, because of a hangup or a
+received LCP terminate-request) the bundle is not destroyed unless
+there are no other links remaining in the bundle. Rather than
+exiting, the first pppd keeps running after its link terminates, until
+all the links in the bundle have terminated. If the first pppd
+receives a SIGTERM or SIGINT signal, it will destroy the bundle and
+send a SIGHUP to the pppd processes for each of the links in the
+bundle. If the first pppd receives a SIGHUP signal, it will terminate
+its link but not the bundle.
+.LP
+Note: demand mode is not currently supported with multilink.
+.SH EXAMPLES
+.LP
+The following examples assume that the /etc/ppp/options file contains
+the \fIauth\fR option (as in the default /etc/ppp/options file in the
+ppp distribution).
+.LP
+Probably the most common use of pppd is to dial out to an ISP. This
+can be done with a command such as
+.IP
+pppd call isp
+.LP
+where the /etc/ppp/peers/isp file is set up by the system
+administrator to contain something like this:
+.IP
+ttyS0 19200 crtscts
+.br
+connect '/usr/sbin/chat \-v \-f /etc/ppp/chat\-isp'
+.br
+noauth
+.LP
+In this example, we are using chat to dial the ISP's modem and go
+through any logon sequence required. The /etc/ppp/chat\-isp file
+contains the script used by chat; it could for example contain
+something like this:
+.IP
+ABORT "NO CARRIER"
+.br
+ABORT "NO DIALTONE"
+.br
+ABORT "ERROR"
+.br
+ABORT "NO ANSWER"
+.br
+ABORT "BUSY"
+.br
+ABORT "Username/Password Incorrect"
+.br
+"" "at"
+.br
+OK "at&d0&c1"
+.br
+OK "atdt2468135"
+.br
+"name:" "^Umyuserid"
+.br
+"word:" "\eqmypassword"
+.br
+"ispts" "\eq^Uppp"
+.br
+"~\-^Uppp\-~"
+.LP
+See the chat(8) man page for details of chat scripts.
+.LP
+Pppd can also be used to provide a dial-in ppp service for users. If
+the users already have login accounts, the simplest way to set up the
+ppp service is to let the users log in to their accounts and run pppd
+(installed setuid-root) with a command such as
+.IP
+pppd proxyarp
+.LP
+To allow a user to use the PPP facilities, you need to allocate an IP
+address for that user's machine and create an entry in
+/etc/ppp/pap\-secrets, /etc/ppp/chap\-secrets, or /etc/ppp/srp\-secrets
+(depending on which authentication method the PPP implementation on
+the user's machine supports), so that the user's machine can
+authenticate itself. For example, if Joe has a machine called
+"joespc" that is to be allowed to dial in to the machine called
+"server" and use the IP address joespc.my.net, you would add an entry
+like this to /etc/ppp/pap\-secrets or /etc/ppp/chap\-secrets:
+.IP
+joespc server "joe's secret" joespc.my.net
+.LP
+(See srp\-entry(8) for a means to generate the server's entry when
+SRP\-SHA1 is in use.)
+Alternatively, you can create a username called (for example) "ppp",
+whose login shell is pppd and whose home directory is /etc/ppp.
+Options to be used when pppd is run this way can be put in
+/etc/ppp/.ppprc.
+.LP
+If your serial connection is any more complicated than a piece of
+wire, you may need to arrange for some control characters to be
+escaped. In particular, it is often useful to escape XON (^Q) and
+XOFF (^S), using \fIasyncmap a0000\fR. If the path includes a telnet,
+you probably should escape ^] as well (\fIasyncmap 200a0000\fR). If
+the path includes an rlogin, you will need to use the \fIescape ff\fR
+option on the end which is running the rlogin client, since many
+rlogin implementations are not transparent; they will remove the
+sequence [0xff, 0xff, 0x73, 0x73, followed by any 8 bytes] from the
+stream.
+.SH DIAGNOSTICS
+.LP
+Messages are sent to the syslog daemon using facility LOG_DAEMON.
+(This can be overridden by recompiling pppd with the macro
+LOG_PPP defined as the desired facility.) See the syslog(8)
+documentation for details of where the syslog daemon will write the
+messages. On most systems, the syslog daemon uses the
+/etc/syslog.conf file to specify the destination(s) for syslog
+messages. You may need to edit that file to suit.
+.LP
+The \fIdebug\fR option causes the contents of all control packets sent
+or received to be logged, that is, all LCP, PAP, CHAP, EAP, or IPCP packets.
+This can be useful if the PPP negotiation does not succeed or if
+authentication fails.
+If debugging is enabled at compile time, the \fIdebug\fR option also
+causes other debugging messages to be logged.
+.LP
+Debugging can also be enabled or disabled by sending a SIGUSR1 signal
+to the pppd process. This signal acts as a toggle.
+.SH EXIT STATUS
+The exit status of pppd is set to indicate whether any error was
+detected, or the reason for the link being terminated. The values
+used are:
+.TP
+.B 0
+Pppd has detached, or otherwise the connection was successfully
+established and terminated at the peer's request.
+.TP
+.B 1
+An immediately fatal error of some kind occurred, such as an essential
+system call failing, or running out of virtual memory.
+.TP
+.B 2
+An error was detected in processing the options given, such as two
+mutually exclusive options being used.
+.TP
+.B 3
+Pppd is not setuid-root and the invoking user is not root.
+.TP
+.B 4
+The kernel does not support PPP, for example, the PPP kernel driver is
+not included or cannot be loaded.
+.TP
+.B 5
+Pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP
+signal.
+.TP
+.B 6
+The serial port could not be locked.
+.TP
+.B 7
+The serial port could not be opened.
+.TP
+.B 8
+The connect script failed (returned a non-zero exit status).
+.TP
+.B 9
+The command specified as the argument to the \fIpty\fR option could
+not be run.
+.TP
+.B 10
+The PPP negotiation failed, that is, it didn't reach the point where
+at least one network protocol (e.g. IP) was running.
+.TP
+.B 11
+The peer system failed (or refused) to authenticate itself.
+.TP
+.B 12
+The link was established successfully and terminated because it was
+idle.
+.TP
+.B 13
+The link was established successfully and terminated because the
+connect time limit was reached.
+.TP
+.B 14
+Callback was negotiated and an incoming call should arrive shortly.
+.TP
+.B 15
+The link was terminated because the peer is not responding to echo
+requests.
+.TP
+.B 16
+The link was terminated by the modem hanging up.
+.TP
+.B 17
+The PPP negotiation failed because serial loopback was detected.
+.TP
+.B 18
+The init script failed (returned a non-zero exit status).
+.TP
+.B 19
+We failed to authenticate ourselves to the peer.
+.SH SCRIPTS
+Pppd invokes scripts at various stages in its processing which can be
+used to perform site-specific ancillary processing. These scripts are
+usually shell scripts, but could be executable code files instead.
+Pppd does not wait for the scripts to finish (except for the ip-pre-up
+script). The scripts are
+executed as root (with the real and effective user-id set to 0), so
+that they can do things such as update routing tables or run
+privileged daemons. Be careful that the contents of these scripts do
+not compromise your system's security. Pppd runs the scripts with
+standard input, output and error redirected to /dev/null, and with an
+environment that is empty except for some environment variables that
+give information about the link. The environment variables that pppd
+sets are:
+.TP
+.B DEVICE
+The name of the serial tty device being used.
+.TP
+.B IFNAME
+The name of the network interface being used.
+.TP
+.B IPLOCAL
+The IP address for the local end of the link. This is only set when
+IPCP has come up.
+.TP
+.B IPREMOTE
+The IP address for the remote end of the link. This is only set when
+IPCP has come up.
+.TP
+.B LLLOCAL
+The Link-Local IPv6 address for the local end of the link. This is only
+set when IPV6CP has come up.
+.TP
+.B LLREMOTE
+The Link-Local IPv6 address for the remote end of the link. This is only
+set when IPV6CP has come up.
+.TP
+.B PEERNAME
+The authenticated name of the peer. This is only set if the peer
+authenticates itself.
+.TP
+.B SPEED
+The baud rate of the tty device.
+.TP
+.B ORIG_UID
+The real user-id of the user who invoked pppd.
+.TP
+.B PPPLOGNAME
+The username of the real user-id that invoked pppd. This is always set.
+.P
+For the ip-down and auth-down scripts, pppd also sets the following
+variables giving statistics for the connection:
+.TP
+.B CONNECT_TIME
+The number of seconds from when the PPP negotiation started until the
+connection was terminated.
+.TP
+.B BYTES_SENT
+The number of bytes sent (at the level of the serial port) during the
+connection.
+.TP
+.B BYTES_RCVD
+The number of bytes received (at the level of the serial port) during
+the connection.
+.TP
+.B LINKNAME
+The logical name of the link, set with the \fIlinkname\fR option.
+.TP
+.B CALL_FILE
+The value of the \fIcall\fR option.
+.TP
+.B DNS1
+If the peer supplies DNS server addresses, this variable is set to the
+first DNS server address supplied (whether or not the usepeerdns
+option was given).
+.TP
+.B DNS2
+If the peer supplies DNS server addresses, this variable is set to the
+second DNS server address supplied (whether or not the usepeerdns
+option was given).
+.TP
+.B WINS1
+If the peer supplies WINS server addresses, this variable is set to the
+first WINS server address supplied.
+.TP
+.B WINS2
+If the peer supplies WINS server addresses, this variable is set to the
+second WINS server address supplied.
+.P
+.P
+Pppd invokes the following scripts, if they exist. It is not an error
+if they don't exist.
+.TP
+.B /etc/ppp/auth\-up
+A program or script which is executed after the remote system
+successfully authenticates itself. It is executed with the parameters
+.IP
+\fIinterface\-name peer\-name user\-name tty\-device speed ipparam\fR
+.IP
+Note that this script is not executed if the peer doesn't authenticate
+itself, for example when the \fInoauth\fR option is used.
+.TP
+.B /etc/ppp/auth\-down
+A program or script which is executed when the link goes down, if
+/etc/ppp/auth\-up was previously executed. It is executed in the same
+manner with the same parameters as /etc/ppp/auth\-up.
+.TP
+.B /etc/ppp/ip\-pre\-up
+A program or script which is executed just before the ppp network
+interface is brought up. It is executed with the same parameters as
+the ip\-up script (below). At this point the interface exists and has
+IP addresses assigned but is still down. This can be used to
+add firewall rules before any IP traffic can pass through the
+interface. Pppd will wait for this script to finish before bringing
+the interface up, so this script should run quickly.
+.TP
+.B /etc/ppp/ip\-up
+A program or script which is executed when the link is available for
+sending and receiving IP packets (that is, IPCP has come up). It is
+executed with the parameters
+.IP
+\fIinterface\-name tty\-device speed local\-IP\-address
+remote\-IP\-address ipparam\fR
+.TP
+.B /etc/ppp/ip\-down
+A program or script which is executed when the link is no longer
+available for sending and receiving IP packets. This script can be
+used for undoing the effects of the /etc/ppp/ip\-up and
+/etc/ppp/ip\-pre\-up scripts. It is
+invoked in the same manner and with the same parameters as the ip\-up
+script.
+.TP
+.B /etc/ppp/ipv6\-up
+Like /etc/ppp/ip\-up, except that it is executed when the link is available
+for sending and receiving IPv6 packets. It is executed with the parameters
+.IP
+\fIinterface\-name tty\-device speed local\-link\-local\-address
+remote\-link\-local\-address ipparam\fR
+.TP
+.B /etc/ppp/ipv6\-down
+Similar to /etc/ppp/ip\-down, but it is executed when IPv6 packets can no
+longer be transmitted on the link. It is executed with the same parameters
+as the ipv6\-up script.
+.TP
+.B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
+Process-ID for pppd process on ppp interface unit \fIn\fR.
+.TP
+.B /var/run/ppp\-\fIname\fB.pid \fR(BSD or Linux),
+\fB/etc/ppp/ppp\-\fIname\fB.pid \fR(others)
+Process-ID for pppd process for logical link \fIname\fR (see the
+\fIlinkname\fR option).
+.TP
+.B /var/run/pppd2.tdb
+Database containing information about pppd processes, interfaces and
+links, used for matching links to bundles in multilink operation. May
+be examined by external programs to obtain information about running
+pppd instances, the interfaces and devices they are using, IP address
+assignments, etc.
+.B /etc/ppp/pap\-secrets
+Usernames, passwords and IP addresses for PAP authentication. This
+file should be owned by root and not readable or writable by any other
+user. Pppd will log a warning if this is not the case.
+.TP
+.B /etc/ppp/chap\-secrets
+Names, secrets and IP addresses for CHAP/MS\-CHAP/MS\-CHAPv2 authentication.
+As for /etc/ppp/pap\-secrets, this file should be owned by root and not
+readable or writable by any other user. Pppd will log a warning if
+this is not the case.
+.TP
+.B /etc/ppp/srp\-secrets
+Names, secrets, and IP addresses for EAP authentication. As for
+/etc/ppp/pap\-secrets, this file should be owned by root and not
+readable or writable by any other user. Pppd will log a warning if
+this is not the case.
+.TP
+.B ~/.ppp_pseudonym
+Saved client-side SRP\-SHA1 pseudonym. See the \fIsrp\-use\-pseudonym\fR
+option for details.
+.TP
+.B /etc/ppp/options
+System default options for pppd, read before user default options or
+command-line options.
+.TP
+.B ~/.ppprc
+User default options, read before /etc/ppp/options.\fIttyname\fR.
+.TP
+.B /etc/ppp/options.\fIttyname
+System default options for the serial port being used, read after
+~/.ppprc. In forming the \fIttyname\fR part of this
+filename, an initial /dev/ is stripped from the port name (if
+present), and any slashes in the remaining part are converted to
+dots.
+.TP
+.B /etc/ppp/peers
+A directory containing options files which may contain privileged
+options, even if pppd was invoked by a user other than root. The
+system administrator can create options files in this directory to
+permit non-privileged users to dial out without requiring the peer to
+authenticate, but only to certain trusted peers.
+.SH SEE ALSO
+.BR chat (8),
+.BR pppstats (8)
+.TP
+.B RFC1144
+Jacobson, V.
+\fICompressing TCP/IP headers for low-speed serial links.\fR
+February 1990.
+.TP
+.B RFC1321
+Rivest, R.
+.I The MD5 Message-Digest Algorithm.
+April 1992.
+.TP
+.B RFC1332
+McGregor, G.
+.I PPP Internet Protocol Control Protocol (IPCP).
+May 1992.
+.TP
+.B RFC1334
+Lloyd, B.; Simpson, W.A.
+.I PPP authentication protocols.
+October 1992.
+.TP
+.B RFC1661
+Simpson, W.A.
+.I The Point-to-Point Protocol (PPP).
+July 1994.
+.TP
+.B RFC1662
+Simpson, W.A.
+.I PPP in HDLC-like Framing.
+July 1994.
+.TP
+.B RFC1990
+Sklower, K.; et al.,
+.I The PPP Multilink Protocol (MP).
+August 1996.
+.TP
+.B RFC2284
+Blunk, L.; Vollbrecht, J.,
+.I PPP Extensible Authentication Protocol (EAP).
+March 1998.
+.TP
+.B RFC2472
+Haskin, D.
+.I IP Version 6 over PPP
+December 1998.
+.TP
+.B RFC2945
+Wu, T.,
+.I The SRP Authentication and Key Exchange System
+September 2000.
+.TP
+.B draft\-ietf\-pppext\-eap\-srp\-03.txt
+Carlson, J.; et al.,
+.I EAP SRP\-SHA1 Authentication Protocol.
+July 2001.
+.SH NOTES
+Some limited degree of control can be exercised over a running pppd
+process by sending it a signal from the list below.
+.TP
+.B SIGINT, SIGTERM
+These signals cause pppd to terminate the link (by closing LCP),
+restore the serial device settings, and exit. If a connector or
+disconnector process is currently running, pppd will send the same
+signal to its process group, so as to terminate the connector or
+disconnector process.
+.TP
+.B SIGHUP
+This signal causes pppd to terminate the link, restore the serial
+device settings, and close the serial device. If the \fIpersist\fR or
+\fIdemand\fR option has been specified, pppd will try to reopen the
+serial device and start another connection (after the holdoff period).
+Otherwise pppd will exit. If this signal is received during the
+holdoff period, it causes pppd to end the holdoff period immediately.
+If a connector or disconnector process is running, pppd will send the
+same signal to its process group.
+.TP
+.B SIGUSR1
+This signal toggles the state of the \fIdebug\fR option.
+.TP
+.B SIGUSR2
+This signal causes pppd to renegotiate compression. This can be
+useful to re-enable compression after it has been disabled as a result
+of a fatal decompression error. (Fatal decompression errors generally
+indicate a bug in one or other implementation.)
+
+.SH AUTHORS
+Paul Mackerras (paulus@samba.org), based on earlier work by
+Drew Perkins,
+Brad Clements,
+Karl Fox,
+Greg Christy,
+and
+Brad Parker.
+
+.SH COPYRIGHT
+Pppd is copyrighted and made available under conditions which provide
+that it may be copied and used in source or binary forms provided that
+the conditions listed below are met. Portions of pppd are covered by
+the following copyright notices:
+.LP
+Copyright (c) 1984-2000 Carnegie Mellon University. All rights
+reserved.
+.br
+Copyright (c) 1993-2004 Paul Mackerras. All rights reserved.
+.br
+Copyright (c) 1995 Pedro Roque Marques. All rights reserved.
+.br
+Copyright (c) 1995 Eric Rosenquist. All rights reserved.
+.br
+Copyright (c) 1999 Tommi Komulainen. All rights reserved.
+.br
+Copyright (C) Andrew Tridgell 1999
+.br
+Copyright (c) 2000 by Sun Microsystems, Inc. All rights reserved.
+.br
+Copyright (c) 2001 by Sun Microsystems, Inc. All rights reserved.
+.br
+Copyright (c) 2002 Google, Inc. All rights reserved.
+.LP
+The copyright notices contain the following statements.
+.LP
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+.LP
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+.LP
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+.LP
+3. The name "Carnegie Mellon University" must not be used to
+ endorse or promote products derived from this software without
+ prior written permission. For permission or any legal
+ details, please contact
+.br
+ Office of Technology Transfer
+.br
+ Carnegie Mellon University
+.br
+ 5000 Forbes Avenue
+.br
+ Pittsburgh, PA 15213-3890
+.br
+ (412) 268-4387, fax: (412) 268-7395
+.br
+ tech-transfer@andrew.cmu.edu
+.LP
+3b. The name(s) of the authors of this software must not be used to
+ endorse or promote products derived from this software without
+ prior written permission.
+.LP
+4. Redistributions of any form whatsoever must retain the following
+ acknowledgements:
+.br
+ "This product includes software developed by Computing Services
+ at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+.br
+ "This product includes software developed by Paul Mackerras
+ <paulus@samba.org>".
+.br
+ "This product includes software developed by Pedro Roque Marques
+ <pedro_m@yahoo.com>".
+.br
+ "This product includes software developed by Tommi Komulainen
+ <Tommi.Komulainen@iki.fi>".
+.LP
+CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.LP
+THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/upstream/fedora-40/man8/pppdump.8 b/upstream/fedora-40/man8/pppdump.8
new file mode 100644
index 00000000..1116b856
--- /dev/null
+++ b/upstream/fedora-40/man8/pppdump.8
@@ -0,0 +1,67 @@
+.\" @(#) $Id: pppdump.8,v 1.2 2004/11/13 12:22:49 paulus Exp $
+.TH PPPDUMP 8 "1 April 1999"
+.SH NAME
+pppdump \- convert PPP record file to readable format
+.SH SYNOPSIS
+.B pppdump
+[
+.B \-h
+|
+.B \-p
+[
+.B \-d
+]] [
+.B \-r
+] [
+.B \-a
+] [
+.B \-m \fImru
+] [
+.I file \fR...
+]
+.ti 12
+.SH DESCRIPTION
+The
+.B pppdump
+utility converts the files written using the \fIrecord\fR option of
+.B pppd
+into a human-readable format. If one or more filenames are specified,
+.B pppdump
+will read each in turn; otherwise it will read its standard input. In
+each case the result is written to standard output.
+.PP
+The options are as follows:
+.TP
+.B \-h
+Prints the bytes sent and received in hexadecimal. If neither this
+option nor the \fB\-p\fR option is specified, the bytes are printed as
+the characters themselves, with non-printing and non-ASCII characters
+printed as escape sequences.
+.TP
+.B \-p
+Collects the bytes sent and received into PPP packets, interpreting
+the async HDLC framing and escape characters and checking the FCS
+(frame check sequence) of each packet. The packets are printed as hex
+values and as characters (non-printable characters are printed as
+`.').
+.TP
+.B \-d
+With the \fB\-p\fR option, this option causes
+.B pppdump
+to decompress packets which have been compressed with the BSD-Compress
+or Deflate methods.
+.TP
+.B \-r
+Reverses the direction indicators, so that `sent' is printed for
+bytes or packets received, and `rcvd' is printed for bytes or packets
+sent.
+.TP
+.B \-a
+Prints absolute times.
+.TP
+.B \-m \fImru
+Use \fImru\fR as the MRU (maximum receive unit) for both directions of
+the link when checking for over-length PPP packets (with the \fB\-p\fR
+option).
+.SH SEE ALSO
+pppd(8)
diff --git a/upstream/fedora-40/man8/pppoe-discovery.8 b/upstream/fedora-40/man8/pppoe-discovery.8
new file mode 100644
index 00000000..523ef8c4
--- /dev/null
+++ b/upstream/fedora-40/man8/pppoe-discovery.8
@@ -0,0 +1,86 @@
+.\" pppoe-discovery.8 written by
+.\" Ben Hutchings <ben@decadentplace.org.uk>, based on pppoe.8.
+.\" Licenced under the GPL version 2 or later.
+.TH PPPOE-DISCOVERY 8
+.SH NAME
+pppoe\-discovery \- perform PPPoE discovery
+.SH SYNOPSIS
+.B pppoe\-discovery
+[
+.I options
+]
+.br
+.BR pppoe\-discovery " { " \-V " | " \-h " }"
+.SH DESCRIPTION
+.LP
+\fBpppoe\-discovery\fR performs the same discovery process as
+\fBpppoe\fR, but does not initiate a session.
+It sends a PADI packet and then prints the names of access
+concentrators in each PADO packet it receives.
+.SH OPTIONS
+.TP
+.BI \-I " interface"
+.RS
+The \fB\-I\fR option specifies the Ethernet interface to use.
+Under Linux, it is typically eth0 or eth1.
+The interface should be \(lqup\(rq before you start
+\fBpppoe\-discovery\fR, but should \fInot\fR be configured to have an
+IP address.
+This option is mandatory.
+.RE
+.TP
+.BI \-D " file_name"
+.RS
+The \fB\-D\fR option causes every packet to be dumped to the specified
+\fIfile_name\fR.
+This is intended for debugging only.
+.RE
+.TP
+.B \-U
+.RS
+Causes \fBpppoe\-discovery\fR to use the Host-Uniq tag in its discovery
+packets.
+This lets you run multiple instances of \fBpppoe\-discovery\fR and/or
+\fBpppoe\fR without having their discovery packets interfere with one
+another.
+You must supply this option to \fIall\fR instances that you intend to
+run simultaneously.
+.RE
+.TP
+.BI \-S " service_name"
+.RS
+Specifies the desired service name.
+\fBpppoe\-discovery\fR will only accept access concentrators which can
+provide the specified service.
+In most cases, you should \fInot\fR specify this option.
+Use it only if you know that there are multiple access concentrators
+or know that you need a specific service name.
+.RE
+.TP
+.BI \-C " ac_name"
+.RS
+Specifies the desired access concentrator name.
+\fBpppoe\-discovery\fR will only accept the specified access
+concentrator.
+In most cases, you should \fInot\fR specify this option.
+Use it only if you know that there are multiple access concentrators.
+If both the \fB\-S\fR and \fB\-C\fR options are specified, they must
+\fIboth\fR match.
+.RE
+.TP
+.B \-A
+.RS
+This option is accepted for compatibility with \fBpppoe\fR, but has no
+effect.
+.RE
+.TP
+.BR \-V " | " \-h
+.RS
+Either of these options causes \fBpppoe\-discovery\fR to print its
+version number and usage information, then exit.
+.RE
+.SH AUTHORS
+\fBpppoe\-discovery\fR was written by Marco d'Itri <md@linux.it>,
+based on \fBpppoe\fR by Dianne Skoll <dianne@skoll.ca>.
+.SH SEE ALSO
+pppoe(8), pppoe-sniff(8)
diff --git a/upstream/fedora-40/man8/pppstats.8 b/upstream/fedora-40/man8/pppstats.8
new file mode 100644
index 00000000..cabf4d7a
--- /dev/null
+++ b/upstream/fedora-40/man8/pppstats.8
@@ -0,0 +1,222 @@
+.\" @(#) $Id: pppstats.8,v 1.4 2004/11/13 12:22:49 paulus Exp $
+.TH PPPSTATS 8 "26 June 1995"
+.SH NAME
+pppstats \- print PPP statistics
+.SH SYNOPSIS
+.B pppstats
+[
+.B \-a
+] [
+.B \-d
+] [
+.B \-v
+] [
+.B \-r
+] [
+.B \-z
+] [
+.B \-c
+.I <count>
+] [
+.B \-w
+.I <secs>
+] [
+.I interface
+]
+.ti 12
+.SH DESCRIPTION
+The
+.B pppstats
+utility reports PPP\-related statistics at regular intervals for the
+specified PPP interface. If the interface is unspecified, it will
+default to ppp0.
+The display is split horizontally
+into input and output sections containing columns of statistics
+describing the properties and volume of packets received and
+transmitted by the interface.
+.PP
+The options are as follows:
+.TP
+.B \-a
+Display absolute values rather than deltas. With this option, all
+reports show statistics for the time since the link was initiated.
+Without this option, the second and subsequent reports show statistics
+for the time since the last report.
+.TP
+.B \-d
+Show data rate (kB/s) instead of bytes.
+.TP
+.B \-c \fIcount
+Repeat the display
+.I count
+times. If this option is not specified, the default repeat count is 1
+if the
+.B \-w
+option is not specified, otherwise infinity.
+.TP
+.B \-r
+Display additional statistics summarizing the compression ratio
+achieved by the packet compression algorithm in use.
+.TP
+.B \-v
+Display additional statistics relating to the performance of the Van
+Jacobson TCP header compression algorithm.
+.TP
+.B \-w \fIwait
+Pause
+.I wait
+seconds between each display. If this option is not specified, the
+default interval is 5 seconds.
+.TP
+.B \-z
+Instead of the standard display, show statistics indicating the
+performance of the packet compression algorithm in use.
+.PP
+The following fields are printed on the input side when the
+.B \-z
+option is not used:
+.TP
+.B IN
+The total number of bytes received by this interface.
+.TP
+.B PACK
+The total number of packets received by this interface.
+.TP
+.B VJCOMP
+The number of header-compressed TCP packets received by this interface.
+.TP
+.B VJUNC
+The number of header-uncompressed TCP packets received by this
+interface. Not reported when the
+.B \-r
+option is specified.
+.TP
+.B VJERR
+The number of corrupted or bogus header-compressed TCP packets
+received by this interface. Not reported when the
+.B \-r
+option is specified.
+.TP
+.B VJTOSS
+The number of VJ header-compressed TCP packets dropped on reception by
+this interface because of preceding errors. Only reported when the
+.B \-v
+option is specified.
+.TP
+.B NON-VJ
+The total number of non-TCP packets received by this interface. Only
+reported when the
+.B \-v
+option is specified.
+.TP
+.B RATIO
+The compression ratio achieved for received packets by the
+packet compression scheme in use, defined as the uncompressed size
+divided by the compressed size.
+Only reported when the
+.B \-r
+option is specified.
+.TP
+.B UBYTE
+The total number of bytes received, after decompression of compressed
+packets. Only reported when the
+.B \-r
+option is specified.
+.PP
+The following fields are printed on the output side:
+.TP
+.B OUT
+The total number of bytes transmitted from this interface.
+.TP
+.B PACK
+The total number of packets transmitted from this interface.
+.TP
+.B VJCOMP
+The number of TCP packets transmitted from this interface with
+VJ-compressed TCP headers.
+.TP
+.B VJUNC
+The number of TCP packets transmitted from this interface with
+VJ-uncompressed TCP headers.
+Not reported when the
+.B \-r
+option is specified.
+.TP
+.B NON-VJ
+The total number of non-TCP packets transmitted from this interface.
+Not reported when the
+.B \-r
+option is specified.
+.TP
+.B VJSRCH
+The number of searches for the cached header entry for a VJ header
+compressed TCP packet. Only reported when the
+.B \-v
+option is specified.
+.TP
+.B VJMISS
+The number of failed searches for the cached header entry for a
+VJ header compressed TCP packet. Only reported when the
+.B \-v
+option is specified.
+.TP
+.B RATIO
+The compression ratio achieved for transmitted packets by the
+packet compression scheme in use, defined as the size
+before compression divided by the compressed size.
+Only reported when the
+.B \-r
+option is specified.
+.TP
+.B UBYTE
+The total number of bytes to be transmitted, before packet compression
+is applied. Only reported when the
+.B \-r
+option is specified.
+.PP
+When the
+.B \-z
+option is specified,
+.B pppstats
+instead displays the following fields, relating to the packet
+compression algorithm currently in use. If packet compression is not
+in use, these fields will all display zeroes. The fields displayed on
+the input side are:
+.TP
+.B COMPRESSED BYTE
+The number of bytes of compressed packets received.
+.TP
+.B COMPRESSED PACK
+The number of compressed packets received.
+.TP
+.B INCOMPRESSIBLE BYTE
+The number of bytes of incompressible packets (that is, those which
+were transmitted in uncompressed form) received.
+.TP
+.B INCOMPRESSIBLE PACK
+The number of incompressible packets received.
+.TP
+.B COMP RATIO
+The recent compression ratio for incoming packets, defined as the
+uncompressed size divided by the compressed size (including both
+compressible and incompressible packets).
+.PP
+The fields displayed on the output side are:
+.TP
+.B COMPRESSED BYTE
+The number of bytes of compressed packets transmitted.
+.TP
+.B COMPRESSED PACK
+The number of compressed packets transmitted.
+.TP
+.B INCOMPRESSIBLE BYTE
+The number of bytes of incompressible packets transmitted (that is,
+those which were transmitted in uncompressed form).
+.TP
+.B INCOMPRESSIBLE PACK
+The number of incompressible packets transmitted.
+.TP
+.B COMP RATIO
+The recent compression ratio for outgoing packets.
+.SH SEE ALSO
+pppd(8)
diff --git a/upstream/fedora-40/man8/praliases.8 b/upstream/fedora-40/man8/praliases.8
new file mode 100644
index 00000000..74d11100
--- /dev/null
+++ b/upstream/fedora-40/man8/praliases.8
@@ -0,0 +1,57 @@
+.\" Copyright (c) 1998-2000, 2008 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: praliases.8,v 8.20 2013-11-22 20:51:53 ca Exp $
+.\"
+.TH PRALIASES 8 "$Date: 2013-11-22 20:51:53 $"
+.SH NAME
+praliases
+\- display system mail aliases
+.SH SYNOPSIS
+.B praliases
+.RB [ \-C
+.IR file ]
+.RB [ \-f
+.IR file ]
+.RB [\c
+.IR key
+.IR ... ]
+.SH DESCRIPTION
+The
+.B praliases
+utility displays the current system aliases,
+one per line, in no particular order.
+The special internal @:@ alias will be displayed if present.
+.PP
+The options are as follows:
+.TP
+.BI "\-C " file
+Read the specified sendmail configuration file instead of the default
+.B sendmail
+configuration file.
+.TP
+.BI "\-f " file
+Read the specified file instead of the configured
+.B sendmail
+system aliases file(s).
+.PP
+If one or more keys are specified on the command line,
+only entries which match those keys are displayed.
+.PP
+The
+.B praliases
+utility exits 0 on success, and >0 if an error occurs.
+.SH FILES
+.TP 2.5i
+/etc/mail/sendmail.cf
+The default
+.B sendmail
+configuration file.
+.SH SEE ALSO
+mailq(1),
+sendmail(8)
diff --git a/upstream/fedora-40/man8/quotacheck.8 b/upstream/fedora-40/man8/quotacheck.8
new file mode 100644
index 00000000..fe020f49
--- /dev/null
+++ b/upstream/fedora-40/man8/quotacheck.8
@@ -0,0 +1,197 @@
+.TH quotacheck 8 "Fri Jul 20 2001"
+.SH NAME
+quotacheck \- scan a filesystem for disk usage, create, check and repair quota files
+.SH SYNOPSIS
+.B quotacheck
+[
+.B \-gubcfinvdMmR
+] [
+.B \-F
+.I quota-format
+]
+.B \-a
+|
+.I filesystem
+.br
+.SH DESCRIPTION
+.B quotacheck
+examines each filesystem, builds a table of current disk usage, and
+compares this table against that recorded in the disk quota file for the
+filesystem (this step is omitted if option
+.B -c
+is specified). If any inconsistencies are detected, both the quota file
+and the current system copy of the incorrect quotas are updated (the
+latter only occurs if an active filesystem is checked which is not advised).
+By default, only user quotas are checked.
+.B quotacheck
+expects each filesystem to be checked to have quota files named
+.I [a]quota.user
+and
+.I [a]quota.group
+located at the root of the associated filesystem. If a file is not
+present,
+.B quotacheck
+will create it.
+.PP
+If the quota file is corrupted,
+.B quotacheck
+tries to save as much data as possible. Rescuing data may need user
+intervention. With no additional options
+.B quotacheck
+will simply exit in such a situation. When in interactive mode (option
+.BR -i )
+, the user is asked for advice. Advice can also be provided from command
+line (see option
+.BR -n )
+, which is useful when
+.B quotacheck
+is run automatically (ie. from script) and failure is unacceptable.
+.PP
+.B quotacheck
+should be run each time the system boots and mounts non-valid filesystems.
+This is most likely to happen after a system crash.
+.PP
+It is strongly recommended to run
+.B quotacheck
+with quotas turned off for the filesystem. Otherwise, possible damage
+or loss to data in the quota files can result. It is also unwise to
+run
+.B quotacheck
+on a live filesystem as actual usage may change during the scan. To
+prevent this,
+.B quotacheck
+tries to remount the filesystem read-only before starting the scan.
+After the scan is done it remounts the filesystem read-write. You can
+disable this with option
+.BR \-m .
+You can also make
+.B quotacheck
+ignore the failure to remount the filesystem read-only with option
+.BR \-M .
+.SH OPTIONS
+.TP
+.B -b, --backup
+Forces
+.B quotacheck
+to make backups of the quota file before writing the new data.
+.TP
+.B -v, --verbose
+.B quotacheck
+reports its operation as it progresses. Normally it operates silently.
+If the option is specified twice, also the current directory is printed (note
+that printing can slow down the scan measurably).
+.TP
+.B -d, --debug
+Enable debugging mode. It will result in a lot of information which can
+be used in debugging the program. The output is very verbose and the
+scan will be slow.
+.TP
+.B -u, --user
+Only user quotas listed in
+.I /etc/mtab
+or on the filesystems specified are to be checked. This is the default action.
+.TP
+.B -g, --group
+Only group quotas listed in
+.I /etc/mtab
+or on the filesystems specified are to be checked.
+.TP
+.B -c, --create-files
+Don't read existing quota files. Just perform a new scan and save it to disk.
+.B quotacheck
+also skips scanning of old quota files when they are not found.
+.TP
+.B -f, --force
+Forces checking and writing of new quota files on filesystems with quotas
+enabled. This is not recommended as the created quota files may be out of sync.
+.TP
+.B -M, --try-remount
+This flag forces checking of filesystem in read-write mode if a remount
+fails. Do this only when you are sure no process will write to a
+filesystem while scanning.
+.TP
+.B -m, --no-remount
+Don't try to remount filesystem read-only. See comment with option
+.BR \-M .
+.TP
+.B -i, --interactive
+Interactive mode. By default
+.B quotacheck
+exits when it finds an error. In interactive mode user is asked for
+input instead. See option
+.BR \-n .
+.TP
+.B -n, --use-first-dquot
+If the quota files become corrupted, it is possible for duplicate
+entries for a single user or group ID to exist. Normally in this case,
+.B quotacheck
+exits or asks user for input. When this option is set, the first entry found
+is always used (this option works in interactive mode too).
+.TP
+.B -F, --format=\f2format-name\f1
+Check and fix quota files of specified format (ie. don't perform format
+auto-detection). This is recommended as detection might not work well on
+corrupted quota files. Possible format names are:
+.B vfsold
+Original quota format with 16-bit UIDs / GIDs,
+.B vfsv0
+Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits,
+.B vfsv1
+Quota format with 64-bit quota limits and usage,
+.B rpc
+(quota over NFS),
+.B xfs
+(quota on XFS filesystem)
+.TP
+.B -a, --all
+Check all mounted non-NFS filesystems in
+.B /etc/mtab
+.TP
+.B -R, --exclude-root
+When used together with the
+.B \-a
+option, all filesystems except for the root filesystem are checked for
+quotas.
+
+.SH NOTE
+.B quotacheck
+should only be run by super-user. Non-privileged users are presumably
+not allowed to read all the directories on the given filesystem.
+
+.SH "SEE ALSO"
+.BR quota (1),
+.BR quotactl (2),
+.BR fstab (5),
+.BR quotaon (8),
+.BR repquota (8),
+.BR convertquota (8),
+.BR setquota (8),
+.BR edquota (8),
+.BR fsck (8),
+.BR efsck (8),
+.BR e2fsck (8),
+.BR xfsck (8)
+
+.SH FILES
+.PD 0
+.TP 15
+.B aquota.user or aquota.group
+located at filesystem root with quotas (version 2 quota, non-XFS
+filesystems)
+.TP 15
+.B quota.user or quota.group
+located at filesystem root with quotas (version 1 quota, non-XFS
+filesystems)
+.TP
+.B /etc/mtab
+names and locations of mounted filesystems
+.SH AUTHOR
+Jan Kara \<jack@suse.cz\>
+.br
+Based on old
+.B quotacheck
+by:
+.br
+Edvard Tuinder \<ed@elm.net\>
+.br
+Marco van Wieringen \<mvw@planets.elm.net\>
diff --git a/upstream/fedora-40/man8/quotaon.8 b/upstream/fedora-40/man8/quotaon.8
new file mode 100644
index 00000000..0a2d2680
--- /dev/null
+++ b/upstream/fedora-40/man8/quotaon.8
@@ -0,0 +1,224 @@
+.TH QUOTAON 8
+.UC 4
+.SH NAME
+quotaon, quotaoff \- turn filesystem quotas on and off
+.SH SYNOPSIS
+.B quotaon
+[
+.B \-vugfp
+] [
+.B \-F
+.I format-name
+]
+.IR filesystem .\|.\|.
+.br
+.B quotaon
+[
+.B \-avugPfp
+] [
+.B \-F
+.I format-name
+]
+.LP
+.B quotaoff
+[
+.B \-vugPp
+]
+[
+.B \-x
+.I state
+]
+.IR filesystem .\|.\|.
+.br
+.B quotaoff
+[
+.B \-avugp
+]
+.SH DESCRIPTION
+.SS quotaon
+.IX "quotaon command" "" "\fLquotaon\fP \(em turn filesystem quotas on"
+.IX "user quotas" "quotaon command" "" "\fLquotaon\fP \(em turn filesystem quotas on"
+.IX "disk quotas" "quotaon command" "" "\fLquotaon\fP \(em turn filesystem quotas on"
+.IX "quotas" "quotaon command" "" "\fLquotaon\fP \(em turn filesystem quotas on"
+.IX "filesystem" "quotaon command" "" "\fLquotaon\fP \(em turn filesystem quotas on"
+.LP
+.B quotaon
+announces to the system that disk quotas should be enabled on one or
+more filesystems. The filesystem quota files must be present in the root
+directory of the specified filesystem and be named either
+.IR aquota.user
+(for version 2 user quota),
+.IR quota.user
+(for version 1 user quota),
+.IR aquota.group
+(for version 2 group quota), or
+.IR quota.group
+(for version 1 group quota).
+.PP
+XFS filesystems are a special case - XFS considers quota
+information as filesystem metadata and uses journaling to provide
+a higher level guarantee of consistency.
+There are two components to the XFS disk quota system:
+accounting and limit enforcement.
+XFS filesystems require that quota accounting be turned on at mount time.
+It is possible to enable and disable limit enforcement on an XFS
+filesystem after quota accounting is already turned on.
+The default is to turn on both accounting and enforcement.
+.PP
+The XFS quota implementation does not maintain quota information in
+user-visible files, but rather stores this information internally.
+.SS quotaoff
+.IX "quotaoff command" "" "\fLquotaoff\fP \(em turn filesystem quotas off"
+.IX "user quotas" "quotaoff command" "" "\fLquotaoff\fP \(em turn filesystem quotas off"
+.IX "disk quotas" "quotaoff command" "" "\fLquotaoff\fP \(em turn filesystem quotas off"
+.IX "quotas" "quotaoff command" "" "\fLquotaoff\fP \(em turn filesystem quotas off"
+.IX "filesystem" "quotaoff command" "" "\fLquotaoff\fP \(em turn filesystem quotas off"
+.LP
+.B quotaoff
+announces to the system that the specified filesystems should
+have any disk quotas turned off.
+.SH OPTIONS
+.SS quotaon
+.TP
+.B -F, --format=\f2format-name\f1
+Report quota for specified format (ie. don't perform format autodetection).
+Possible format names are:
+.B vfsold
+Original quota format with 16-bit UIDs / GIDs,
+.B vfsv0
+Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits,
+.B vfsv1
+Quota format with 64-bit quota limits and usage,
+.B xfs
+(quota on XFS filesystem)
+.TP
+.B -a, --all
+All automatically mounted (no
+.B noauto
+option) non-NFS filesystems in
+.B /etc/fstab
+with quotas will have their quotas turned on.
+This is normally used at boot time to enable quotas.
+.TP
+.B -v, --verbose
+Display a message for each filesystem where quotas are turned on.
+.TP
+.B -u, --user
+Manipulate user quotas. This is the default.
+.TP
+.B -g, --group
+Manipulate group quotas.
+.TP
+.B -P, --project
+Manipulate project quotas.
+.TP
+.B -p, --print-state
+Instead of turning quotas on just print state of quotas (ie. whether. quota is on or off)
+.TP
+.B -x, --xfs-command enforce
+Switch on limit enforcement for XFS filesystems. This is the default action for
+any XFS filesystem. This option is only applicable to XFS, and is silently
+ignored for other filesystem types.
+.TP
+.B -f, --off
+Make
+.B quotaon
+behave like being called as
+.BR quotaoff .
+.SS quotaoff
+.TP
+.B -F, --format=\f2format-name\f1
+Report quota for specified format (ie. don't perform format autodetection).
+Possible format names are:
+.B vfsold
+(version 1 quota),
+.B vfsv0
+(version 2 quota),
+.B xfs
+(quota on XFS filesystem)
+.TP
+.B -a, --all
+Force all filesystems in
+.B /etc/fstab
+to have their quotas disabled.
+.TP
+.B -v, --verbose
+Display a message for each filesystem affected.
+.TP
+.B -u, --user
+Manipulate user quotas. This is the default.
+.TP
+.B -g, --group
+Manipulate group quotas.
+.TP
+.B -P, --project
+Manipulate project quotas.
+.TP
+.B -p, --print-state
+Instead of turning quotas off just print state of quotas (ie. whether. quota is on or off)
+.TP
+.B -x, --xfs-command delete
+Free up the space used to hold quota information (maintained
+internally) within XFS.
+This option is only applicable to XFS, and is silently
+ignored for other filesystem types.
+It can only be used on a filesystem with quota previously turned off.
+.TP
+.B -x, --xfs-command enforce
+Switch off limit enforcement for XFS filesystems (perform quota accounting
+only). This is the default action for any XFS filesystem. This option is only
+applicable to XFS, and is silently ignored for other filesystem types.
+.TP
+.B -x, --xfs-command account
+This option can be used to disable quota accounting. It is not possible to
+enable quota accounting by quota tools. Use
+.IR mount (8)
+for that. This option is only applicable to XFS filesystems, and is silently
+ignored for other filesystem types.
+.SH "NOTES ON XFS FILESYSTEMS"
+To enable quotas on an XFS filesystem, use
+.IR mount (8)
+or
+.B /etc/fstab
+quota option to enable both accounting and limit enforcement.
+.B quotaon
+utility cannot be used for this purpose.
+.PP
+Turning on quotas on an XFS root filesystem requires the quota mount
+options be passed into the kernel at boot time through the Linux
+.B rootflags
+boot option.
+.PP
+To turn off quota limit enforcement on any XFS filesystem, first make
+sure that quota accounting and enforcement are both turned on using
+.B "repquota -v"
+.IR filesystem .
+Then, use
+.B "quotaoff -v
+.I filesystem
+to disable limit enforcement.
+This may be done while the filesystem is mounted.
+.PP
+Turning on quota limit enforcement on an XFS filesystem is
+achieved using
+.B "quotaon -v"
+.IR filesystem .
+This may be done while the filesystem is mounted.
+.SH FILES
+.PD 0
+.TP 20
+.B aquota.user or aquota.group
+quota file at the filesystem root (version 2 quota, non-XFS filesystems)
+.TP
+.B quota.user or quota.group
+quota file at the filesystem root (version 1 quota, non-XFS filesystems)
+.TP
+.B /etc/fstab
+default filesystems
+.PD
+.SH "SEE ALSO"
+.BR quotactl (2),
+.BR fstab (5),
+.BR quota_nld (8),
+.BR repquota (8),
+.BR warnquota (8)
diff --git a/upstream/fedora-40/man8/quotastats.8 b/upstream/fedora-40/man8/quotastats.8
new file mode 100644
index 00000000..6ebfccf7
--- /dev/null
+++ b/upstream/fedora-40/man8/quotastats.8
@@ -0,0 +1,41 @@
+.\" 2004, Max Vozeler <max@hinterhof.net>
+.\" Released under the Gnu GPL
+.TH QUOTASTATS 8 "April 2, 2004" "" "quota"
+.SH NAME
+.B quotastats
+\- Program to query quota statistics
+.SH SYNOPSIS
+.I /usr/sbin/quotastats
+.SH DESCRIPTION
+.B quotastats
+queries the kernel for quota statistics.
+It displays:
+.P
+.PD 0
+.RS 4
+.IP \[bu]
+Supported kernel quota version
+.IP \[bu]
+Number of dquot lookups
+.IP \[bu]
+Number of dquot drops
+.IP \[bu]
+Number of dquot reads
+.IP \[bu]
+Number of dquot writes
+.IP \[bu]
+Number of quotafile syncs
+.IP \[bu]
+Number of dquot cache hits
+.IP \[bu]
+Number of allocated dquots
+.IP \[bu]
+Number of free dquots
+.IP \[bu]
+Number of in use dquot entries (user/group)
+.RE
+.PD
+.SH OPTIONS
+None.
+.SH SEE ALSO
+.BR quota (1).
diff --git a/upstream/fedora-40/man8/rdma-dev.8 b/upstream/fedora-40/man8/rdma-dev.8
new file mode 100644
index 00000000..368cdc7c
--- /dev/null
+++ b/upstream/fedora-40/man8/rdma-dev.8
@@ -0,0 +1,98 @@
+.TH RDMA\-DEV 8 "06 Jul 2017" "iproute2" "Linux"
+.SH NAME
+rdma-dev \- RDMA device configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B rdma
+.RI "[ " OPTIONS " ]"
+.B dev
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-d\fR[\fIetails\fR] }
+
+.ti -8
+.B rdma dev show
+.RI "[ " DEV " ]"
+
+.ti -8
+.B rdma dev set
+.RI "[ " DEV " ]"
+.BR name
+.BR NEWNAME
+
+.ti -8
+.B rdma dev set
+.RI "[ " DEV " ]"
+.BR netns
+.BR NSNAME
+
+.ti -8
+.B rdma dev set
+.RI "[ " DEV " ]"
+.BR adaptive-moderation
+.BR [on/off]
+
+.ti -8
+.B rdma dev help
+
+.SH "DESCRIPTION"
+.SS rdma dev set - rename RDMA device or set network namespace or set RDMA device adaptive-moderation
+
+.SS rdma dev show - display RDMA device attributes
+
+.PP
+.I "DEV"
+- specifies the RDMA device to show.
+If this argument is omitted all devices are listed.
+
+.SH "EXAMPLES"
+.PP
+rdma dev
+.RS 4
+Shows the state of all RDMA devices on the system.
+.RE
+.PP
+rdma dev show mlx5_3
+.RS 4
+Shows the state of specified RDMA device.
+.RE
+.PP
+rdma dev set mlx5_3 name rdma_0
+.RS 4
+Renames the mlx5_3 device to rdma_0.
+.RE
+.PP
+rdma dev set mlx5_3 netns foo
+.RS 4
+Changes the network namespace of RDMA device to foo where foo is
+previously created using iproute2 ip command.
+.RE
+.PP
+rdma dev set mlx5_3 adaptive-moderation [on/off]
+.RS 4
+Sets the state of adaptive interrupt moderation for the RDMA device.
+.RE
+.RS 4
+This is a global setting for the RDMA device but the value is printed for each CQ individually because the state is constant from CQ allocation.
+.RE
+.PP
+
+.SH SEE ALSO
+.BR ip (8),
+.BR rdma (8),
+.BR rdma-link (8),
+.BR rdma-resource (8),
+.BR rdma-system (8),
+.BR rdma-statistic (8),
+.br
+
+.SH AUTHOR
+Leon Romanovsky <leonro@mellanox.com>
diff --git a/upstream/fedora-40/man8/rdma-link.8 b/upstream/fedora-40/man8/rdma-link.8
new file mode 100644
index 00000000..32f80228
--- /dev/null
+++ b/upstream/fedora-40/man8/rdma-link.8
@@ -0,0 +1,104 @@
+.TH RDMA\-LINK 8 "06 Jul 2017" "iproute2" "Linux"
+.SH NAME
+rdma-link \- rdma link configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B devlink
+.RI "[ " OPTIONS " ]"
+.B link
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-d\fR[\fIetails\fR] }
+
+.ti -8
+.B rdma link show
+.RI "[ " DEV/PORT_INDEX " ]"
+
+.ti -8
+.B rdma link add
+.BR NAME
+.BR type
+.BR TYPE
+.BR netdev
+.BR NETDEV
+
+.ti -8
+.B rdma link delete
+.RI NAME
+
+.ti -8
+.B rdma link help
+
+.SH "DESCRIPTION"
+.SS rdma link show - display rdma link attributes
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the RDMA link to show.
+If this argument is omitted all links are listed.
+
+.SS rdma link add NAME type TYPE netdev NETDEV - add an rdma link for the specified type to the network device
+.sp
+.BR NAME
+- specifies the new name of the rdma link to add
+
+.BR TYPE
+- specifies which rdma type to use. Link types:
+.sp
+.in +8
+.B rxe
+- Soft RoCE driver
+.sp
+.B siw
+- Soft iWARP driver
+.in -8
+
+.BR NETDEV
+- specifies the network device to which the link is bound
+
+.SS rdma link delete NAME - delete an rdma link
+.PP
+.BR NAME
+- specifies the name of the rdma link to delete
+.PP
+
+.SH "EXAMPLES"
+.PP
+rdma link show
+.RS 4
+Shows the state of all rdma links on the system.
+.RE
+.PP
+rdma link show mlx5_2/1
+.RS 4
+Shows the state of specified rdma link.
+.RE
+.PP
+rdma link add rxe_eth0 type rxe netdev eth0
+.RS 4
+Adds a RXE link named rxe_eth0 to network device eth0
+.RE
+.PP
+rdma link del rxe_eth0
+.RS 4
+Removes RXE link rxe_eth0
+.RE
+.PP
+
+.SH SEE ALSO
+.BR rdma (8),
+.BR rdma-dev (8),
+.BR rdma-resource (8),
+.BR rdma-statistic (8),
+.br
+
+.SH AUTHOR
+Leon Romanovsky <leonro@mellanox.com>
diff --git a/upstream/fedora-40/man8/rdma-resource.8 b/upstream/fedora-40/man8/rdma-resource.8
new file mode 100644
index 00000000..1035478d
--- /dev/null
+++ b/upstream/fedora-40/man8/rdma-resource.8
@@ -0,0 +1,125 @@
+.TH RDMA\-RESOURCE 8 "26 Dec 2017" "iproute2" "Linux"
+.SH NAME
+rdma-resource \- rdma resource configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B rdma
+.RI "[ " OPTIONS " ] " RESOURCE " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR RESOURCE " := { "
+.BR cm_id " | " cq " | " mr " | " pd " | " qp " | " ctx " | " srq " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-j\fR[\fIson\fR] |
+\fB\-d\fR[\fIetails\fR] }
+
+.ti -8
+.B rdma resource show
+.RI "[ " DEV/PORT_INDEX " ]"
+
+.ti -8
+.B rdma resource help
+
+.SH "DESCRIPTION"
+.SS rdma resource show - display rdma resource tracking information
+
+.PP
+.I "DEV/PORT_INDEX"
+- specifies the RDMA link to show.
+If this argument is omitted all links are listed.
+
+.SH "EXAMPLES"
+.PP
+rdma resource show
+.RS 4
+Shows summary for all devices on the system.
+.RE
+.PP
+rdma resource show mlx5_2
+.RS 4
+Shows the state of specified rdma device.
+.RE
+.PP
+rdma res show qp link mlx5_4
+.RS 4
+Get all QPs for the specific device.
+.RE
+.PP
+rdma res show qp link mlx5_4/1
+.RS 4
+Get QPs of specific port.
+.RE
+.PP
+rdma res show qp link mlx5_4/0
+.RS 4
+Provide illegal port number (0 is illegal).
+.RE
+.PP
+rdma res show qp link mlx5_4/-
+.RS 4
+Get QPs which have not assigned port yet.
+.RE
+.PP
+rdma res show qp link mlx5_4/- -d
+.RS 4
+Detailed view.
+.RE
+.PP
+rdma res show qp link mlx5_4/- -dd
+.RS 4
+Detailed view including driver-specific details.
+.RE
+.PP
+rdma res show qp link mlx5_4/1 lqpn 0-6
+.RS 4
+Limit to specific Local QPNs.
+.RE
+.PP
+rdma res show qp link mlx5_4/1 lqpn 6 -r
+.RS 4
+Driver specific details in raw format.
+.RE
+.PP
+rdma resource show cm_id dst-port 7174
+.RS 4
+Show CM_IDs with destination ip port of 7174.
+.RE
+.PP
+rdma resource show cm_id src-addr 172.16.0.100
+.RS 4
+Show CM_IDs bound to local ip address 172.16.0.100
+.RE
+.PP
+rdma resource show cq pid 30489
+.RS 4
+Show CQs belonging to pid 30489
+.RE
+.PP
+rdma resource show ctx ctxn 1
+.RS 4
+Show contexts that have index equal to 1.
+.RE
+.PP
+rdma resource show srq lqpn 5-7
+.RS 4
+Show SRQs that the QPs with lqpn 5-7 are associated with.
+.RE
+.PP
+
+.SH SEE ALSO
+.BR rdma (8),
+.BR rdma-dev (8),
+.BR rdma-link (8),
+.BR rdma-statistic (8),
+.br
+
+.SH AUTHOR
+Leon Romanovsky <leonro@mellanox.com>
diff --git a/upstream/fedora-40/man8/rdma-statistic.8 b/upstream/fedora-40/man8/rdma-statistic.8
new file mode 100644
index 00000000..7dd2b02c
--- /dev/null
+++ b/upstream/fedora-40/man8/rdma-statistic.8
@@ -0,0 +1,255 @@
+.TH RDMA\-STATISTIC 8 "27 June 2019" "iproute2" "Linux"
+.SH NAME
+rdma-statistic \- RDMA statistic counter configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B rdma
+.RI "[ " OPTIONS " ]"
+.B statistic
+.RI "{ " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B rdma statistic
+.RI "{ " OBJECT " }"
+.B show
+
+.ti -8
+.B rdma statistic
+.RI "[ " OBJECT " ]"
+.B show link
+.RI "[ " DEV/PORT_INDX " ]"
+.RI "[ " FILTER_NAME " " FILTER_VALUE " ]"
+
+.ti -8
+.B rdma statistic
+.IR OBJECT
+.B mode
+
+.ti -8
+.B rdma statistic
+.IR OBJECT
+.B set
+.IR COUNTER_SCOPE
+.RI "[ " DEV/PORT_INDEX " ]"
+.B auto
+.RI "{ " CRITERIA " | "
+.BR off " }"
+
+.ti -8
+.B rdma statistic
+.IR OBJECT
+.B bind
+.IR COUNTER_SCOPE
+.RI "[ " DEV/PORT_INDEX " ]"
+.RI "[ " OBJECT-ID " ]"
+.RI "[ " COUNTER-ID " ]"
+
+.ti -8
+.B rdma statistic
+.IR OBJECT
+.B unbind
+.IR COUNTER_SCOPE
+.RI "[ " DEV/PORT_INDEX " ]"
+.RI "[ " COUNTER-ID " ]"
+.RI "[ " OBJECT-ID " ]"
+
+.ti -8
+.B rdma statistic
+.B mode
+.B "[" supported "]"
+.B link
+.RI "[ " DEV/PORT_INDEX " ]"
+
+.ti -8
+.B rdma statistic
+.B set
+.B link
+.RI "[ " DEV/PORT_INDEX " ]"
+.B optional-counters
+.RI "[ " OPTIONAL-COUNTERS " ]"
+
+.ti -8
+.B rdma statistic
+.B unset
+.B link
+.RI "[ " DEV/PORT_INDEX " ]"
+.B optional-counters
+
+.ti -8
+.IR COUNTER_SCOPE " := "
+.RB "{ " link " | " dev " }"
+
+.ti -8
+.IR OBJECT " := "
+.RB "{ " qp " | " mr " }"
+
+.ti -8
+.IR CRITERIA " := "
+.RB "{ " type " | " pid " }"
+
+.ti -8
+.IR FILTER_NAME " := "
+.RB "{ " cntn " | " lqpn " | " pid " | " qp-type " }"
+
+.SH "DESCRIPTION"
+.SS rdma statistic [object] show - Queries the specified RDMA device for RDMA and driver-specific statistics. Show the default hw counters if object is not specified
+
+.PP
+.I "DEV"
+- specifies counters on this RDMA device to show.
+
+.I "PORT_INDEX"
+- specifies counters on this RDMA port to show.
+
+.I "FILTER_NAME
+- specifies a filter to show only the results matching it.
+
+.SS rdma statistic <object> set - configure counter statistic auto-mode for a specific device/port
+In auto mode all objects belong to one category are bind automatically to a single counter set. The "off" is global for all auto modes together. Not applicable for MR's.
+
+.SS rdma statistic <object> bind - manually bind an object (e.g., a qp) with a counter
+When bound the statistics of this object are available in this counter. Not applicable for MR's.
+
+.SS rdma statistic <object> unbind - manually unbind an object (e.g., a qp) from the counter previously bound
+When unbound the statistics of this object are no longer available in this counter; And if object id is not specified then all objects on this counter will be unbound. Not applicable for MR's.
+
+.I "COUNTER-ID"
+- specifies the id of the counter to be bound.
+If this argument is omitted then a new counter will be allocated.
+
+.SS rdma statistic mode - Display the enabled optional counters for each link.
+
+.SS rdma statistic mode supported - Display the supported optional counters for each link.
+
+.SS rdma statistic set - Enable a set of optional counters for a specific device/port.
+
+.I "OPTIONAL-COUNTERS"
+- specifies the name of the optional counters to enable. Optional counters that are not specified will be disabled. Note that optional counters are driver-specific.
+
+.SS rdma statistic unset - Disable all optional counters for a specific device/port.
+
+.SH "EXAMPLES"
+.PP
+rdma statistic show
+.RS 4
+Shows the state of the default counter of all RDMA devices on the system.
+.RE
+.PP
+rdma statistic show link mlx5_2/1
+.RS 4
+Shows the state of the default counter of specified RDMA port
+.RE
+.PP
+rdma statistic qp show
+.RS 4
+Shows the state of all qp counters of all RDMA devices on the system.
+.RE
+.PP
+rdma statistic qp show link mlx5_2/1
+.RS 4
+Shows the state of all qp counters of specified RDMA port.
+.RE
+.PP
+rdma statistic qp show link mlx5_2 pid 30489
+.RS 4
+Shows the state of all qp counters of specified RDMA port and belonging to pid 30489
+.RE
+.PP
+rdma statistic qp show link mlx5_2 qp-type UD
+.RS 4
+Shows the state of all qp counters of specified RDMA port and with QP type UD
+.RE
+.PP
+rdma statistic qp mode
+.RS 4
+List current counter mode on all devices
+.RE
+.PP
+rdma statistic qp mode link mlx5_2/1
+.RS 4
+List current counter mode of device mlx5_2 port 1
+.RE
+.PP
+rdma statistic qp set link mlx5_2/1 auto type on
+.RS 4
+On device mlx5_2 port 1, for each new user QP bind it with a counter automatically. Per counter for QPs with same qp type.
+.RE
+.PP
+rdma statistic qp set link mlx5_2/1 auto pid on
+.RS 4
+On device mlx5_2 port 1, for each new user QP bind it with a counter automatically. Per counter for QPs with same pid.
+.RE
+.PP
+rdma statistic qp set link mlx5_2/1 auto pid,type on
+.RS 4
+On device mlx5_2 port 1, for each new user QP bind it with a counter automatically. Per counter for QPs with same pid and same type.
+.RE
+.PP
+rdma statistic qp set link mlx5_2/1 auto off
+.RS 4
+Turn-off auto mode on device mlx5_2 port 1. The allocated counters can be manually accessed.
+.RE
+.PP
+rdma statistic qp bind link mlx5_2/1 lqpn 178
+.RS 4
+On device mlx5_2 port 1, allocate a counter and bind the specified qp on it
+.RE
+.PP
+rdma statistic qp unbind link mlx5_2/1 cntn 4 lqpn 178
+.RS 4
+On device mlx5_2 port 1, bind the specified qp on the specified counter
+.RE
+.PP
+rdma statistic qp unbind link mlx5_2/1 cntn 4
+.RS 4
+On device mlx5_2 port 1, unbind all QPs on the specified counter. After that this counter will be released automatically by the kernel.
+.RE
+.PP
+rdma statistic show mr
+.RS 4
+List all currently allocated MR's and their counters.
+.RE
+.PP
+rdma statistic show mr mrn 6
+.RS 4
+Dump a specific MR statistics with mrn 6. Dumps nothing if does not exists.
+.RE
+.PP
+rdma statistic mode link mlx5_2/1
+.RS 4
+Display the optional counters that was enabled on mlx5_2/1.
+.RE
+.PP
+rdma statistic mode supported link mlx5_2/1
+.RS 4
+Display the optional counters that mlx5_2/1 supports.
+.RE
+.PP
+rdma statistic set link mlx5_2/1 optional-counters cc_rx_ce_pkts,cc_rx_cnp_pkts
+.RS 4
+Enable the cc_rx_ce_pkts,cc_rx_cnp_pkts counters on device mlx5_2 port 1.
+.RE
+.PP
+rdma statistic unset link mlx5_2/1 optional-counters
+.RS 4
+Disable all the optional counters on device mlx5_2 port 1.
+.RE
+
+.SH SEE ALSO
+.BR rdma (8),
+.BR rdma-dev (8),
+.BR rdma-link (8),
+.BR rdma-resource (8),
+.br
+
+.SH AUTHORS
+Mark Zhang <markz@mellanox.com>
+.br
+Erez Alfasi <ereza@mellanox.com>
+.br
+Neta Ostrovsky <netao@nvidia.com>
diff --git a/upstream/fedora-40/man8/rdma-system.8 b/upstream/fedora-40/man8/rdma-system.8
new file mode 100644
index 00000000..554938eb
--- /dev/null
+++ b/upstream/fedora-40/man8/rdma-system.8
@@ -0,0 +1,108 @@
+.TH RDMA\-SYSTEM 8 "06 Jul 2017" "iproute2" "Linux"
+.SH NAME
+rdma-system \- RDMA subsystem configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B rdma
+.RI "[ " OPTIONS " ]"
+.B sys
+.RI " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-d\fR[\fIetails\fR] }
+
+.ti -8
+.B rdma system show
+
+.ti -8
+.B rdma system set
+.BR netns
+.BR NEWMODE
+
+.ti -8
+.B rdma system set
+.BR privileged-qkey
+.BR NEWSTATE
+
+.ti -8
+.B rdma system help
+
+.SH "DESCRIPTION"
+.SS rdma system set - set RDMA subsystem network namespace mode or
+privileged qkey mode
+
+.SS rdma system show - display RDMA subsystem network namespace mode and
+privileged qkey state
+
+.PP
+.I "NEWMODE"
+- specifies the RDMA subsystem mode. Either exclusive or shared.
+When user wants to assign dedicated RDMA device to a particular
+network namespace, exclusive mode should be set before creating
+any network namespace. If there are active network namespaces and if
+one or more RDMA devices exist, changing mode from shared to
+exclusive returns error code EBUSY.
+
+When RDMA subsystem is in shared mode, RDMA device is accessible in
+all network namespace. When RDMA device isolation among multiple
+network namespaces is not needed, shared mode can be used.
+
+It is preferred to not change the subsystem mode when there is active
+RDMA traffic running, even though it is supported.
+.PP
+.I "NEWSTATE"
+- Specifies the new state of the privileged-qkey parameter, either on or off.
+This parameter determines whether a non-privileged user is allowed to specify a
+controlled QKEY or not.
+
+.SH "EXAMPLES"
+.PP
+rdma system show
+.RS 4
+Shows the state of RDMA subsystem network namespace mode on the system and
+the state of privileged qkey parameter.
+.RE
+.PP
+rdma system set netns exclusive
+.RS 4
+Sets the RDMA subsystem in network namespace exclusive mode. In this mode RDMA devices
+are visible only in single network namespace.
+.RE
+.PP
+rdma system set netns shared
+.RS 4
+Sets the RDMA subsystem in network namespace shared mode. In this mode RDMA devices
+are shared among network namespaces.
+.RE
+.PP
+.PP
+rdma system set privileged-qkey on
+.RS 4
+Sets the privileged-qkey parameter to on. In this state non-privileged user
+is allowed to specify a controlled QKEY.
+.RE
+.PP
+rdma system set privileged-qkey off
+.RS 4
+Sets the privileged-qkey parameter to off. In this state non-privileged user
+is *not* allowed to specify a controlled QKEY.
+.RE
+.PP
+
+.SH SEE ALSO
+.BR rdma (8),
+.BR rdma-link (8),
+.BR rdma-resource (8),
+.BR network_namespaces (7),
+.BR namespaces (7),
+.br
+
+.SH AUTHOR
+Parav Pandit <parav@mellanox.com>
diff --git a/upstream/fedora-40/man8/rdma.8 b/upstream/fedora-40/man8/rdma.8
new file mode 100644
index 00000000..5088b9ec
--- /dev/null
+++ b/upstream/fedora-40/man8/rdma.8
@@ -0,0 +1,145 @@
+.TH RDMA 8 "28 Mar 2017" "iproute2" "Linux"
+.SH NAME
+rdma \- RDMA tool
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B rdma
+.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | "
+.BR help " }"
+.sp
+
+.ti -8
+.B rdma
+.RB "[ " -force " ] "
+.BI "-batch " filename
+.sp
+
+.ti -8
+.IR OBJECT " := { "
+.BR dev " | " link " | " resource " | " system " | " statistic " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR] |
+\fB\-d\fR[\fIetails\fR] |
+\fB\-j\fR[\fIson\fR] |
+\fB\-o\fR[\fIneline\fR] |
+\fB\-p\fR[\fIretty\fR] }
+
+.SH OPTIONS
+
+.TP
+.BR "\-V" , " -Version"
+Print the version of the
+.B rdma
+tool and exit.
+
+.TP
+.BR "\-b", " \-batch " <FILENAME>
+Read commands from provided file or standard input and invoke them.
+First failure will cause termination of rdma.
+
+.TP
+.BR "\-force"
+Don't terminate rdma on errors in batch mode.
+If there were any errors during execution of the commands, the application return code will be non zero.
+
+.TP
+.BR "\-d" , " --details"
+Output detailed information. Adding a second \-d includes driver-specific details.
+
+.TP
+.BR "\-r" , " --raw"
+Output includes driver-specific details in raw format.
+
+.TP
+.BR "\-p" , " --pretty"
+When combined with -j generate a pretty JSON output.
+
+.TP
+.BR "\-j" , " --json"
+Generate JSON output.
+
+.TP
+.BR "\-o" , " \-oneline"
+output each record on a single line, replacing line feeds
+with the
+.B '\e'
+character.
+
+.SS
+.I OBJECT
+
+.TP
+.B dev
+- RDMA device.
+
+.TP
+.B link
+- RDMA port related.
+
+.TP
+.B resource
+- RDMA resource configuration.
+
+.TP
+.B sys
+- RDMA subsystem related.
+
+.TP
+.B statistic
+- RDMA counter statistic related.
+
+.PP
+The names of all objects may be written in full or
+abbreviated form, for example
+.B stats
+can be abbreviated as
+.B stat
+or just
+.B s.
+
+.SS
+.I COMMAND
+
+Specifies the action to perform on the object.
+The set of possible actions depends on the object type.
+As a rule, it is possible to
+.B show
+(or
+.B list
+) objects, but some objects do not allow all of these operations
+or have some additional commands. The
+.B help
+command is available for all objects. It prints
+out a list of available commands and argument syntax conventions.
+.sp
+If no command is given, some default command is assumed.
+Usually it is
+.B list
+or, if the objects of this class cannot be listed,
+.BR "help" .
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR rdma-dev (8),
+.BR rdma-link (8),
+.BR rdma-resource (8),
+.BR rdma-system (8),
+.BR rdma-statistic (8),
+.br
+
+.SH REPORTING BUGS
+Report any bugs to the Linux RDMA mailing list
+.B <linux-rdma@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Leon Romanovsky <leonro@mellanox.com>
diff --git a/upstream/fedora-40/man8/repo-add.8 b/upstream/fedora-40/man8/repo-add.8
new file mode 100644
index 00000000..dc4ddb43
--- /dev/null
+++ b/upstream/fedora-40/man8/repo-add.8
@@ -0,0 +1,231 @@
+'\" t
+.\" Title: repo-add
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 2024-01-25
+.\" Manual: Pacman Manual
+.\" Source: Pacman 6.0.2
+.\" Language: English
+.\"
+.TH "REPO\-ADD" "8" "2024\-01\-25" "Pacman 6\&.0\&.2" "Pacman Manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+repo-add \- package database maintenance utility
+.SH "SYNOPSIS"
+.sp
+\fIrepo\-add\fR [options] <path\-to\-db> <package> [<package> \&...]
+.sp
+\fIrepo\-remove\fR [options] <path\-to\-db> <packagename> [<packagename> \&...]
+.SH "DESCRIPTION"
+.sp
+\fIrepo\-add\fR and \fIrepo\-remove\fR are two scripts to help build a package database for packages built with \fBmakepkg\fR(8) and installed with \fBpacman\fR(8)\&.
+.sp
+\fIrepo\-add\fR will update a package database by reading a built package file\&. Multiple packages to add can be specified on the command line\&.
+.sp
+If a matching \(lq\&.sig\(rq file is found alongside a package file, the signature will automatically be embedded into the database\&.
+.sp
+\fIrepo\-remove\fR will update a package database by removing the package name specified on the command line\&. Multiple packages to remove can be specified on the command line\&.
+.sp
+A package database is a tar file, optionally compressed\&. Valid extensions are \(lq\&.db\(rq followed by an archive extension of \(lq\&.tar\(rq, \(lq\&.tar\&.gz\(rq, \(lq\&.tar\&.bz2\(rq, \(lq\&.tar\&.xz\(rq, or \(lq\&.tar\&.Z\(rq\&. The file does not need to exist, but all parent directories must exist\&.
+.SH "COMMON OPTIONS"
+.PP
+\fB\-q, \-\-quiet\fR
+.RS 4
+Force this program to keep quiet and run silently except for warning and error messages\&.
+.RE
+.PP
+\fB\-s, \-\-sign\fR
+.RS 4
+Generate a PGP signature file using GnuPG\&. This will execute
+gpg \-\-detach\-sign \-\-use\-agent
+on the generated database to generate a detached signature file, using the GPG agent if it is available\&. The signature file will be the entire filename of the database with a \(lq\&.sig\(rq extension\&.
+.RE
+.PP
+\fB\-k, \-\-key\fR <key>
+.RS 4
+Specify a key to use when signing packages\&. Can also be specified using the GPGKEY environmental variable\&. If not specified in either location, the default key from the keyring will be used\&.
+.RE
+.PP
+\fB\-v, \-\-verify\fR
+.RS 4
+Verify the PGP signature of the database before updating the database\&. If the signature is invalid, an error is produced and the update does not proceed\&.
+.RE
+.PP
+\fB\-\-nocolor\fR
+.RS 4
+Remove color from
+\fIrepo\-add\fR
+and
+\fIrepo\-remove\fR
+output\&.
+.RE
+.SH "REPO\-ADD OPTIONS"
+.PP
+\fB\-n, \-\-new\fR
+.RS 4
+Only add packages that are not already in the database\&. Warnings will be printed upon detection of existing packages, but they will not be re\-added\&.
+.RE
+.PP
+\fB\-R, \-\-remove\fR
+.RS 4
+Remove old package files from the disk when updating their entry in the database\&.
+.RE
+.SH "EXAMPLE"
+.sp
+\fIrepo\-add\fR foo\&.db\&.tar\&.xz <pkg1> [<pkg2> \&...]
+.sp
+This creates two separate databases; a smaller database \(lqfoo\&.db\&.tar\&.xz\(rq used by pacman and a large database containing package file lists \(lqfoo\&.files\&.tar\&.xz\(rq for use by other utilities\&. While pacman can use the large database (if renamed with a db\&.tar* extension), there is currently no additional benefit for the larger download\&.
+.SH "SEE ALSO"
+.sp
+\fBmakepkg\fR(8), \fBpacman\fR(8)
+.sp
+See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
+.SH "BUGS"
+.sp
+Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
+.SH "AUTHORS"
+.sp
+Current maintainers:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Allan McRae <allan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eli Schwartz <eschwartz@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Morgan Adamiec <morganamilo@archlinux\&.org>
+.RE
+.sp
+Past major contributors:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Judd Vinet <jvinet@zeroflux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aurelien Foret <aurelien@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aaron Griffin <aaron@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dan McGee <dan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Xavier Chantry <shiningxc@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dave Reisner <dreisner@archlinux\&.org>
+.RE
+.sp
+For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
diff --git a/upstream/fedora-40/man8/repquota.8 b/upstream/fedora-40/man8/repquota.8
new file mode 100644
index 00000000..61af898f
--- /dev/null
+++ b/upstream/fedora-40/man8/repquota.8
@@ -0,0 +1,177 @@
+.TH REPQUOTA 8
+.UC 4
+.SH NAME
+repquota \- summarize quotas for a filesystem
+.SH SYNOPSIS
+.B /usr/sbin/repquota
+[
+.B \-vspiugP
+] [
+.B \-c
+|
+.B \-C
+] [
+.B \-t
+|
+.B \-n
+] [
+.B \-F
+.I format-name
+]
+.IR filesystem .\|.\|.
+.LP
+.B /usr/sbin/repquota
+[
+.B \-avtpsiugP
+] [
+.B \-c
+|
+.B \-C
+] [
+.B \-t
+|
+.B \-n
+] [
+.B \-F
+.I format-name
+]
+.SH DESCRIPTION
+.IX "repquota command" "" "\fLrepquota\fP \(em summarize quotas"
+.IX "user quotas" "repquota command" "" "\fLrepquota\fP \(em summarize quotas"
+.IX "disk quotas" "repquota command" "" "\fLrepquota\fP \(em summarize quotas"
+.IX "quotas" "repquota command" "" "\fLrepquota\fP \(em summarize quotas"
+.IX "filesystem" "repquota command" "" "\fLrepquota\fP \(em summarize quotas"
+.IX "summarize filesystem quotas repquota" "" "summarize filesystem quotas \(em \fLrepquota\fP"
+.IX "report filesystem quotas repquota" "" "report filesystem quotas \(em \fLrepquota\fP"
+.IX display "filesystem quotas \(em \fLrepquota\fP"
+.LP
+.B repquota
+prints a summary of the disc usage and quotas for the specified file
+systems. For each user the current number of files and amount of space
+(in kilobytes) is printed, along with any quota limits set with
+.BR edquota (8)
+or
+.BR setquota (8).
+In the second column repquota prints two characters marking which limits are
+exceeded. If user is over his space softlimit or reaches his space hardlimit in
+case softlimit is unset, the first character is '+'. Otherwise the character
+printed is '-'. The second character denotes the state of inode usage
+analogously.
+
+.B repquota
+has to translate ids of all users/groups/projects to names (unless option
+.B -n
+was specified) so it may take a while to
+print all the information. To make translating as fast as possible
+.B repquota
+tries to detect (by reading
+.BR /etc/nsswitch.conf )
+whether entries are stored in standard plain text file or in a database and either
+translates chunks of 1024 names or each name individually. You can override this
+autodetection by
+.B -c
+or
+.B -C
+options.
+.SH OPTIONS
+.TP
+.B -a, --all
+Report on all filesystems indicated in
+.B /etc/mtab
+to be read-write with quotas.
+.TP
+.B -v, --verbose
+Report all quotas, even if there is no usage. Be also more verbose about quotafile
+information.
+.TP
+.B -c, --cache
+Cache entries to report and translate uids/gids to names in big chunks by scanning
+all users (default). This is good (fast) behaviour when using /etc/passwd file.
+.TP
+.B -C, --no-cache
+Translate individual entries. This is faster when you have users stored in database.
+.TP
+.B -t, --truncate-names
+Truncate user/group names longer than 9 characters. This results in nicer output when
+there are such names.
+.TP
+.B -n, --no-names
+Don't resolve UIDs/GIDs to names. This can speedup printing a lot.
+.TP
+.B -s, --human-readable[=\f2units\f1]
+Try to report used space, number of used inodes and limits in more appropriate
+units than the default ones. Units can be also specified explicitely by an
+optional argument in format [
+.BR kgt
+],[
+.BR kgt
+] where the first character specifies space units and the second character
+specifies inode units.
+.TP
+.B -p, --raw-grace
+When user is in grace period, report time in seconds since epoch when his grace
+time runs out (or has run out). Field is '0' when no grace time is in effect.
+This is especially useful when parsing output by a script.
+.TP
+.B -i, --no-autofs
+Ignore mountpoints mounted by automounter.
+.TP
+.B \-F, --format=\f2format-name\f1
+Report quota for specified format (ie. don't perform format autodetection).
+Possible format names are:
+.B vfsold
+Original quota format with 16-bit UIDs / GIDs,
+.B vfsv0
+Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits,
+.B vfsv1
+Quota format with 64-bit quota limits and usage,
+.B xfs
+(quota on XFS filesystem)
+.TP
+.B -g, --group
+Report quotas for groups.
+.TP
+.B -P, --project
+Report quotas for projects.
+.TP
+.B -u, --user
+Report quotas for users. This is the default.
+.TP
+.B -O, --output=\f2format-name\f1
+Output quota report in the specified format.
+Possible format names are:
+.B default
+The default format, optimized for console viewing
+.B csv
+Comma-separated values, a text file with the columns delimited by commas
+.B xml
+Output is XML encoded, useful for processing with XSLT
+.LP
+Only the super-user may view quotas which are not their own.
+.SH FILES
+.PD 0
+.TP 20
+.BR aquota.user " or " aquota.group
+quota file at the filesystem root (version 2 quota, non-XFS filesystems)
+.TP
+.BR quota.user " or " quota.group
+quota file at the filesystem root (version 1 quota, non-XFS filesystems)
+.TP
+.B /etc/mtab
+default filesystems
+.TP
+.B /etc/passwd
+default set of users
+.TP
+.B /etc/group
+default set of groups
+.PD
+.SH SEE ALSO
+.BR quota (1),
+.BR quotactl (2),
+.BR edquota (8),
+.BR quotacheck (8),
+.BR quotaon (8),
+.BR quota_nld (8),
+.BR setquota (8),
+.BR warnquota (8)
diff --git a/upstream/fedora-40/man8/resize2fs.8 b/upstream/fedora-40/man8/resize2fs.8
new file mode 100644
index 00000000..52c9e848
--- /dev/null
+++ b/upstream/fedora-40/man8/resize2fs.8
@@ -0,0 +1,181 @@
+.\" -*- nroff -*-
+.\" Copyright 1997 by Theodore Ts'o. All Rights Reserved.
+.\"
+.\" .TH RESIZE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.TH RESIZE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+resize2fs \- ext2/ext3/ext4 file system resizer
+.SH SYNOPSIS
+.B resize2fs
+[
+.B \-fFpPMbs
+]
+[
+.B \-d
+.I debug-flags
+]
+[
+.B \-S
+.I RAID-stride
+]
+[
+.B \-z
+.I undo_file
+]
+.I device
+[
+.I size
+]
+.SH DESCRIPTION
+The
+.B resize2fs
+program will resize ext2, ext3, or ext4 file systems. It can be used to
+enlarge or shrink an unmounted file system located on
+.IR device .
+If the file system is mounted, it can be used to expand the size of the
+mounted file system, assuming the kernel and the file system supports
+on-line resizing. (Modern Linux 2.6 kernels will support on-line resize
+for file systems mounted using ext3 and ext4; ext3 file systems will
+require the use of file systems with the resize_inode feature enabled.)
+.PP
+The
+.I size
+parameter specifies the requested new size of the file system.
+If no units are specified, the units of the
+.I size
+parameter shall be the file system blocksize of the file system.
+Optionally, the
+.I size
+parameter may be suffixed by one of the following units
+designators: 'K', 'M', 'G', 'T' (either upper-case or lower-case) or 's'
+for power-of-two kilobytes, megabytes, gigabytes, terabytes or 512 byte
+sectors respectively. The
+.I size
+of the file system may never be larger than the size of the partition.
+If
+.I size
+parameter is not specified, it will default to the size of the partition.
+.PP
+The
+.B resize2fs
+program does not manipulate the size of partitions. If you wish to enlarge
+a file system, you must make sure you can expand the size of the
+underlying partition first. This can be done using
+.BR fdisk (8)
+by deleting the partition and recreating it with a larger size or using
+.BR lvextend (8),
+if you're using the logical volume manager
+.BR lvm (8).
+When
+recreating the partition, make sure you create it with the same starting
+disk cylinder as before! Otherwise, the resize operation will
+certainly not work, and you may lose your entire file system.
+After running
+.BR fdisk (8),
+run resize2fs to resize the ext2 file system
+to use all of the space in the newly enlarged partition.
+.PP
+If you wish to shrink an ext2 partition, first use
+.B resize2fs
+to shrink the size of file system. Then you may use
+.BR fdisk (8)
+to shrink the size of the partition. When shrinking the size of
+the partition, make sure you do not make it smaller than the new size
+of the ext2 file system!
+.PP
+The
+.B \-b
+and
+.B \-s
+options enable and disable the 64bit feature, respectively. The resize2fs
+program will, of course, take care of resizing the block group descriptors
+and moving other data blocks out of the way, as needed. It is not possible
+to resize the file system concurrent with changing the 64bit status.
+.SH OPTIONS
+.TP
+.B \-b
+Turns on the 64bit feature, resizes the group descriptors as necessary, and
+moves other metadata out of the way.
+.TP
+.B \-d \fIdebug-flags
+Turns on various resize2fs debugging features, if they have been compiled
+into the binary.
+.I debug-flags
+should be computed by adding the numbers of the desired features
+from the following list:
+.br
+ 2 \-\ Debug block relocations
+.br
+ 4 \-\ Debug inode relocations
+.br
+ 8 \-\ Debug moving the inode table
+.br
+ 16 \-\ Print timing information
+.br
+ 32 \-\ Debug minimum file system size (\-M) calculation
+.TP
+.B \-f
+Forces resize2fs to proceed with the file system resize operation, overriding
+some safety checks which resize2fs normally enforces.
+.TP
+.B \-F
+Flush the file system device's buffer caches before beginning. Only
+really useful for doing
+.B resize2fs
+time trials.
+.TP
+.B \-M
+Shrink the file system to minimize its size as much as possible,
+given the files stored in the file system.
+.TP
+.B \-p
+Print out percentage completion bars for each
+.B resize2fs
+phase during an offline (non-trivial) resize operation, so that the user
+can keep track of what the program is doing. (For very fast resize
+operations, no progress bars may be displayed.)
+.TP
+.B \-P
+Print an estimate of the number of file system blocks in the file system
+if it is shrunk using
+.BR resize2fs 's
+.B \-M
+option and then exit.
+.TP
+.B \-s
+Turns off the 64bit feature and frees blocks that are no longer in use.
+.TP
+.B \-S \fIRAID-stride
+The
+.B resize2fs
+program will heuristically determine the RAID stride that was specified
+when the file system was created. This option allows the user to
+explicitly specify a RAID stride setting to be used by resize2fs instead.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+resize2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH KNOWN BUGS
+The minimum size of the file system as estimated by resize2fs may be
+incorrect, especially for file systems with 1k and 2k blocksizes.
+.SH AUTHOR
+.B resize2fs
+was written by Theodore Ts'o <tytso@mit.edu>.
+.SH COPYRIGHT
+Resize2fs is Copyright 1998 by Theodore Ts'o and PowerQuest, Inc. All
+rights reserved.
+As of April, 2000
+.B Resize2fs
+may be redistributed under the terms of the GPL.
+.SH SEE ALSO
+.BR fdisk (8),
+.BR e2fsck (8),
+.BR mke2fs (8),
+.BR lvm (8),
+.BR lvextend (8)
diff --git a/upstream/fedora-40/man8/resizecons.8 b/upstream/fedora-40/man8/resizecons.8
new file mode 100644
index 00000000..2955f3b9
--- /dev/null
+++ b/upstream/fedora-40/man8/resizecons.8
@@ -0,0 +1,70 @@
+.\" @(#)man/man8/resizecons.8 1.0 Jan 17 12:04:28 MET 1995
+.TH RESIZECONS 8 "17 Jan 1995" "kbd"
+.SH NAME
+resizecons \- change kernel idea of the console size
+.SH SYNOPSIS
+.BI "resizecons " COLSxROWS
+.br
+.BI "resizecons -lines " ROWS
+.SH DESCRIPTION
+The
+.I resizecons
+command tries to change the videomode of the console.
+There are several aspects to this: (a) the kernel must know about it,
+(b) the hardware must know about it, (c) user programs must know
+about it, (d) the console font may have to be adapted.
+
+(a) The kernel is told about the change using the ioctl VT_RESIZE.
+This causes the kernel to reallocate console screen memory for
+all virtual consoles, and might fail if there is not enough memory.
+(In that case, try to disallocate some virtual consoles first.)
+If this ioctl succeeds, but a later step fails (e.g., because
+you do not have root permissions), you may be left with a very messy
+screen.
+
+The most difficult part of this is (b), since it requires detailed
+knowledge of the video card hardware, and the setting of numerous
+registers. Only changing the number of rows is slightly easier, and
+.I resizecons
+will try to do that itself, when given the
+.I -lines
+option. (Probably, root permission will be required.)
+The command
+.I "resizecons COLSxROWS"
+will execute
+.I "restoretextmode -r COLSxROWS"
+(and hence requires that you have svgalib installed). Here COLSxROWS
+is a file that was created earlier by
+.I "restoretextmode -w COLSxROWS."
+Again, either root permissions are required, or
+.I restoretextmode
+has to be suid root.
+
+In order to deal with (c),
+.I resizecons
+does a `stty rows ROWS cols COLS' for each active console (in the
+range tty0..tty15), and sends a SIGWINCH signal to
+.I selection
+if it finds the file /tmp/selection.pid.
+
+Finally, (d) is dealt with by executing a
+.I setfont
+command. Most likely, the wrong font is loaded, and you may want to
+do another
+.I setfont
+yourself afterwards.
+
+.SH BUGS
+.I resizecons
+does not work on all hardware.
+This command used to be called
+.I resize,
+but was renamed to avoid conflict with another command with the same name.
+
+.SH "SEE ALSO"
+.BR setfont (8),
+.BR stty (1),
+.BR selection (1),
+.BR restoretextmode (8),
+.BR disalloc (8)
+
diff --git a/upstream/fedora-40/man8/rmail.sendmail.8 b/upstream/fedora-40/man8/rmail.sendmail.8
new file mode 100644
index 00000000..e93f3e1c
--- /dev/null
+++ b/upstream/fedora-40/man8/rmail.sendmail.8
@@ -0,0 +1,61 @@
+.\" Copyright (c) 1998-2000 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\" Copyright (c) 1983, 1990
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: rmail.8,v 8.5 2013-11-22 20:51:53 ca Exp $
+.\"
+.TH RMAIL 8 "$Date: 2013-11-22 20:51:53 $"
+.SH NAME
+rmail
+\- handle remote mail received via uucp
+.SH SYNOPSIS
+.B rmail
+.RB [ \-D
+.IR domain ]
+.RB [ \-T ]
+.I
+user ...
+.SH DESCRIPTION
+.B Rmail
+interprets incoming mail received via
+uucp(1),
+collapsing ``From'' lines in the form generated
+by
+mail.local(8)
+into a single line of the form ``return-path!sender'',
+and passing the processed mail on to
+sendmail(8).
+.PP
+.B Rmail
+is explicitly designed for use with
+uucp
+and
+sendmail.
+.SS Flags
+.TP
+.B \-D
+Use the specified
+.I domain
+instead of the default domain of ``UUCP''.
+.TP
+.B \-T
+Turn on debugging.
+.SH SEE ALSO
+uucp(1),
+mail.local(8),
+sendmail(8)
+.SH HISTORY
+The
+.B rmail
+program appeared in
+4.2BSD.
+.SH BUGS
+.B Rmail
+should not reside in
+/bin.
diff --git a/upstream/fedora-40/man8/rmmod.8 b/upstream/fedora-40/man8/rmmod.8
new file mode 100644
index 00000000..3700ec0a
--- /dev/null
+++ b/upstream/fedora-40/man8/rmmod.8
@@ -0,0 +1,87 @@
+'\" t
+.\" Title: rmmod
+.\" Author: Jon Masters <jcm@jonmasters.org>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 02/09/2023
+.\" Manual: rmmod
+.\" Source: kmod
+.\" Language: English
+.\"
+.TH "RMMOD" "8" "02/09/2023" "kmod" "rmmod"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+rmmod \- Simple program to remove a module from the Linux Kernel
+.SH "SYNOPSIS"
+.HP \w'\fBrmmod\fR\ 'u
+\fBrmmod\fR [\fB\-f\fR] [\fB\-s\fR] [\fB\-v\fR] [\fImodulename\fR]
+.SH "DESCRIPTION"
+.PP
+\fBrmmod\fR
+is a trivial program to remove a module (when module unloading support is provided) from the kernel\&. Most users will want to use
+\fBmodprobe\fR(8)
+with the
+\fB\-r\fR
+option instead since it removes unused dependent modules as well\&.
+.SH "OPTIONS"
+.PP
+\fB\-v\fR, \fB\-\-verbose\fR
+.RS 4
+Print messages about what the program is doing\&. Usually
+\fBrmmod\fR
+prints messages only if something goes wrong\&.
+.RE
+.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option can be extremely dangerous: it has no effect unless CONFIG_MODULE_FORCE_UNLOAD was set when the kernel was compiled\&. With this option, you can remove modules which are being used, or which are not designed to be removed, or have been marked as unsafe (see
+\fBlsmod\fR(8))\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-syslog\fR
+.RS 4
+Send errors to syslog instead of standard error\&.
+.RE
+.PP
+\fB\-V\fR \fB\-\-version\fR
+.RS 4
+Show version of program and exit\&.
+.RE
+.SH "COPYRIGHT"
+.PP
+This manual page originally Copyright 2002, Rusty Russell, IBM Corporation\&. Maintained by Jon Masters and others\&.
+.SH "SEE ALSO"
+.PP
+\fBmodprobe\fR(8),
+\fBinsmod\fR(8),
+\fBlsmod\fR(8),
+\fBmodinfo\fR(8)
+\fBdepmod\fR(8)
+.SH "AUTHORS"
+.PP
+\fBJon Masters\fR <\&jcm@jonmasters\&.org\&>
+.RS 4
+Developer
+.RE
+.PP
+\fBLucas De Marchi\fR <\&lucas\&.de\&.marchi@gmail\&.com\&>
+.RS 4
+Developer
+.RE
diff --git a/upstream/fedora-40/man8/route.8 b/upstream/fedora-40/man8/route.8
new file mode 100644
index 00000000..60d252af
--- /dev/null
+++ b/upstream/fedora-40/man8/route.8
@@ -0,0 +1,347 @@
+.TH ROUTE 8 "2014\-02\-17" "net\-tools" "Linux System Administrator's Manual"
+.SH NAME
+route \- show / manipulate the IP routing table
+.SH SYNOPSIS
+.B route
+.RB [ \-CFvnNee ]
+.RB [ \-A
+family
+.RB | \-4 | \-6 ]
+.TP
+.B route
+.RB [ \-v ]
+.RB [ \-A
+family
+.RB | \-4 | \-6 ]
+.B add
+.RB [ \-net | \-host ]
+.I target
+.RB [ netmask
+.IR Nm ]
+.RB [ gw
+.IR Gw ]
+.RB [ metric
+.IR N ]
+.RB [ mss
+.IR M ]
+.RB [ window
+.IR W ]
+.RB [ irtt
+.IR I ]
+.RB [ reject ]
+.RB [ mod ]
+.RB [ dyn ]
+.RB [ reinstate ]
+.RB [[ dev ]
+.IR If ]
+.TP
+.B route
+.RB [ \-v ]
+.RB [ \-A
+.I family
+.RB | \-4 | \-6 ]
+.B del
+.RB [ \-net | \-host ]
+.I target
+.RB [ gw
+.IR Gw ]
+.RB [ netmask
+.IR Nm ]
+.RB [ metric
+.IR M ]
+.RB [[ dev ]
+.IR If ]
+.TP
+.B route
+.RB [ \-V ]
+.RB [ \-\-version ]
+.RB [ \-h ]
+.RB [ \-\-help ]
+
+.SH NOTE
+.P
+This program is obsolete. For replacement check \fBip route\fR.
+
+.SH DESCRIPTION
+.B Route
+manipulates the kernel's IP routing tables. Its primary use is to set
+up static routes to specific hosts or networks via an interface after
+it has been configured with the
+.BR ifconfig (8)
+program.
+
+When the
+.B add
+or
+.B del
+options are used,
+.B route
+modifies the routing tables. Without these options,
+.B route
+displays the current contents of the routing tables.
+
+.SH OPTIONS
+.TP
+\fB\-A \fIfamily\fR
+use the specified address family (eg `inet'). Use
+.B route \-\-help
+for a full list. You can use
+.B \-6
+as an alias for
+.B \-\-inet6
+and
+.B \-4
+as an alias for
+.B \-A inet
+.
+
+.TP
+.B \-F
+operate on the kernel's FIB (Forwarding Information Base) routing
+table.
+This is the default.
+.TP
+.B \-C
+operate on the kernel's routing cache.
+.TP
+.B \-v
+select verbose operation.
+.TP
+.B \-n
+show numerical addresses instead of trying to determine symbolic host
+names. This is useful if you are trying to determine why the route to your
+nameserver has vanished.
+.TP
+.B \-e
+use
+.BR netstat (8)\-format
+for displaying the routing table.
+.B \-ee
+will generate a very long line with all parameters from the routing table.
+.TP
+.B del
+delete a route.
+.TP
+.B add
+add a new route.
+.TP
+.I target
+the destination network or host. You can provide an addresses or symbolic
+network or host name. Optionally you can use \fB/\fIprefixlen\fR notation
+instead of using the \fBnetmask\fR option.
+.TP
+.B \-net
+the
+.I target
+is a network.
+.TP
+.B \-host
+the
+.I target
+is a host.
+.TP
+\fBnetmask \fINM\fR
+when adding a network route, the netmask to be used.
+.TP
+\fBgw \fIGW\fR
+route packets via a gateway.
+.br
+.B NOTE:
+The specified gateway must be reachable first. This usually means that
+you have to set up a static route to the gateway beforehand. If you specify
+the address of one of your local interfaces, it will be used to decide about
+the interface to which the packets should be routed to. This is a BSDism
+compatibility hack.
+.TP
+\fBmetric \fIM\fR
+set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2.
+.TP
+\fBmss \fIM\fR
+sets MTU (Maximum Transmission Unit) of the route to \fIM\fR bytes.
+Note that the current implementation of the route command does not allow
+the option to set the Maximum Segment Size (MSS).
+.TP
+\fBwindow \fIW\fR
+set the TCP window size for connections over this route to \fIW\fR
+bytes. This is typically only used on AX.25 networks and with drivers
+unable to handle back to back frames.
+.TP
+\fBirtt \fII\fR
+set the initial round trip time (irtt) for TCP connections over this
+route to \fII\fR milliseconds (1-12000). This is typically only used on
+AX.25 networks. If omitted the RFC 1122 default of 300ms is used.
+.TP
+.B reject
+install a blocking route, which will force a route lookup to fail.
+This is for example used to mask out networks before using the default
+route. This is NOT for firewalling.
+.TP
+.B mod, dyn, reinstate
+install a dynamic or modified route. These flags are for diagnostic
+purposes, and are generally only set by routing daemons.
+.TP
+\fBdev \fIIf\fR
+force the route to be associated with the specified device, as the
+kernel will otherwise try to determine the device on its own (by
+checking already existing routes and device specifications, and where
+the route is added to). In most normal networks you won't need this.
+
+If \fBdev \fIIf\fR
+is the last option on the command line, the word
+.B dev
+may be omitted, as it's the default. Otherwise the order of the route
+modifiers (\fBmetric netmask gw dev\fR) doesn't matter.
+
+.SH EXAMPLES
+.TP
+.B route add \-net 127.0.0.0 netmask 255.0.0.0 metric 1024 dev lo
+adds the normal loopback entry, using netmask 255.0.0.0 and associated with the
+"lo" device (assuming this device was previously set up correctly with
+.BR ifconfig (8)).
+
+.TP
+.B route add \-net 192.56.76.0 netmask 255.255.255.0 metric 1024 dev eth0
+adds a route to the local network 192.56.76.x via
+"eth0". The word "dev" can be omitted here.
+
+.TP
+.B route del default
+deletes the current default route, which is labeled "default" or 0.0.0.0
+in the destination field of the current routing table.
+
+.TP
+.B route add default gw mango
+adds a default route (which will be used if no other route matches).
+All packets using this route will be gatewayed through the address of a node
+named "mango". The
+device which will actually be used for that route depends on how we
+can reach "mango" - "mango" must be on directly reachable route.
+
+.TP
+.B route add mango sl0
+Adds the route to the host named "mango" via the SLIP interface (assuming that
+"mango" is the SLIP host).
+
+.TP
+.B route add \-net 192.57.66.0 netmask 255.255.255.0 gw mango
+This command adds the net "192.57.66.x" to be gatewayed through the former
+route to the SLIP interface.
+
+.TP
+.B route add \-net 224.0.0.0 netmask 240.0.0.0 dev eth0
+This is an obscure one documented so people know how to do it. This sets
+all of the class D (multicast) IP routes to go via "eth0". This is the
+correct normal configuration line with a multicasting kernel.
+
+.TP
+.B route add \-net 10.0.0.0 netmask 255.0.0.0 metric 1024 reject
+This installs a rejecting route for the private network "10.x.x.x."
+
+.TP
+.B route -6 add 2001:0002::/48 metric 1 dev eth0
+This adds a IPv6 route with the specified metric to be directly reachable via eth0.
+
+.LP
+.SH OUTPUT
+The output of the kernel routing table is organized in the following columns
+.TP
+.B Destination
+The destination network or destination host.
+.TP
+.B Gateway
+The gateway address or '*' if none set.
+.TP
+.B Genmask
+The netmask for the destination net; '255.255.255.255' for a host destination
+and '0.0.0.0' for the
+.B default
+route.
+.TP
+.B Flags
+Possible flags include
+.br
+.B U
+(route is
+.BR up )
+.br
+.B H
+(target is a
+.BR host )
+.br
+.B G
+(use
+.BR gateway )
+.br
+.B R
+.RB ( reinstate
+route for dynamic routing)
+.br
+.B D
+.RB ( dynamically
+installed by daemon or redirect)
+.br
+.B M
+.RB ( modified
+from routing daemon or redirect)
+.br
+.B A
+(installed by
+.BR addrconf )
+.br
+.B C
+.RB ( cache
+entry)
+.br
+.B !
+.RB ( reject
+route)
+.TP
+.B Metric
+The 'distance' to the target (usually counted in hops).
+.TP
+.B Ref
+Number of references to this route. (Not used in the Linux kernel.)
+.TP
+.B Use
+Count of lookups for the route. Depending on the use of \-F and \-C this will
+be either route cache misses (\-F) or hits (\-C).
+.TP
+.B Iface
+Interface to which packets for this route will be sent.
+.TP
+.B MSS
+Default maximum segment size for TCP connections over this route.
+.TP
+.B Window
+Default window size for TCP connections over this route.
+.TP
+.B irtt
+Initial RTT (Round Trip Time). The kernel uses this to guess about the best
+TCP protocol parameters without waiting on (possibly slow) answers.
+.TP
+.B HH (cached only)
+The number of ARP entries and cached routes that refer to the hardware
+header cache for the cached route. This will be \-1 if a hardware
+address is not needed for the interface of the cached route (e.g. lo).
+.TP
+.B Arp (cached only)
+Whether or not the hardware address for the cached route is up to date.
+.LP
+.SH FILES
+.I /proc/net/ipv6_route
+.br
+.I /proc/net/route
+.br
+.I /proc/net/rt_cache
+.LP
+.SH "SEE ALSO"
+.IR ip (8)
+.LP
+.SH HISTORY
+.B Route
+for Linux was originally written by Fred N. van Kempen,
+<waltje@uwalt.nl.mugnet.org> and then modified by Johannes Stille and
+Linus Torvalds for pl15. Alan Cox added the mss and window options for
+Linux 1.1.22. irtt support and merged with netstat from Bernd Eckenfels.
+.SH AUTHOR
+Currently maintained by Phil Blundell <Philip.Blundell@pobox.com> and Bernd Eckenfels <net-tools@lina.inka.de>.
diff --git a/upstream/fedora-40/man8/routel.8 b/upstream/fedora-40/man8/routel.8
new file mode 100644
index 00000000..b1668e73
--- /dev/null
+++ b/upstream/fedora-40/man8/routel.8
@@ -0,0 +1,33 @@
+.TH ROUTEL 8 "1 Sept, 2021" "iproute2" "Linux"
+.SH "NAME"
+routel \- list routes with pretty output format
+.SH SYNOPSIS
+.B routel
+.RI "[ " OPTIONS " ]"
+.RI "[ " tablenr
+[ \fIip route options...\fR ] ]
+.P
+.ti 8
+.IR OPTIONS " := {"
+\fB-h\fR | \fB--help\fR |
+[{\fB-f\fR | \fB--family\fR }
+{\fBinet\fR | \fBinet6\fR } |
+\fB-4\fR | \fB-6\fR }
+
+.SH "DESCRIPTION"
+.LP
+The routel script will list routes in a format that some might consider
+easier to interpret then the
+.B ip
+route list equivalent.
+
+.SH "AUTHORS"
+.LP
+Rewritten by Stephen Hemminger <stephen@networkplumber.org>.
+.br
+Original script by Stephen R. van den Berg <srb@cuci.nl>.
+.br
+This manual page was written by Andreas Henriksson <andreas@fatal.se>, for the Debian GNU/Linux system.
+.SH "SEE ALSO"
+.LP
+ip(8)
diff --git a/upstream/fedora-40/man8/rpcctl.8 b/upstream/fedora-40/man8/rpcctl.8
new file mode 100644
index 00000000..b87ba0df
--- /dev/null
+++ b/upstream/fedora-40/man8/rpcctl.8
@@ -0,0 +1,67 @@
+.\"
+.\" rpcctl(8)
+.\"
+.TH rpcctl 8 "15 Feb 2022"
+.SH NAME
+rpcctl \- Displays SunRPC connection information
+.SH SYNOPSIS
+.nf
+.BR rpcctl " [ \fB\-h \fR| \fB\-\-help \fR] { \fBclient \fR| \fBswitch \fR| \fBxprt \fR}"
+.P
+.BR "rpcctl client" " \fR[ \fB\-h \fR| \fB\-\-help \fR] { \fBshow \fR}"
+.BR "rpcctl client show " "\fR[ \fB\-h \f| \fB\-\-help \fR] [ \fIXPRT \fR]"
+.P
+.BR "rpcctl switch" " \fR[ \fB\-h \fR| \fB\-\-help \fR] { \fBset \fR| \fBshow \fR}"
+.BR "rpcctl switch set" " \fR[ \fB\-h \fR| \fB\-\-help \fR] \fISWITCH \fBdstaddr \fINEWADDR"
+.BR "rpcctl switch show" " \fR[ \fB\-h \fR| \fB\-\-help \fR] [ \fISWITCH \fR]"
+.P
+.BR "rpcctl xprt" " \fR[ \fB\-h \fR| \fB\-\-help \fR] { \fBremove \fR| \fBset \fR| \fBshow \fR}"
+.BR "rpcctl xprt remove" " \fR[ \fB\-h \fR| \fB\-\-help \fR] \fIXPRT"
+.BR "rpcctl xprt set" " \fR[ \fB\-h \fR| \fB\-\-help \fR] \fIXPRT \fR{ \fBdstaddr \fINEWADDR \fR| \fBoffline \fR| \fBonline \fR}"
+.BR "rpcctl xprt show" " \fR[ \fB\-h \fR| \fB\-\-help \fR] [ \fIXPRT \fR]"
+.fi
+.SH DESCRIPTION
+.RB "The " rpcctl " command displays information collected in the SunRPC sysfs files about the system's SunRPC objects.
+.P
+.SS rpcctl client \fR- \fBCommands operating on RPC clients
+.IP "\fBshow \fR[ \fICLIENT \fR] \fB(default)"
+Show detailed information about the RPC clients on this system.
+If \fICLIENT \fRwas provided, then only show information about a single RPC client.
+.P
+.SS rpcctl switch \fR- \fBCommands operating on groups of transports
+.IP "\fBset \fISWITCH \fBdstaddr \fINEWADDR"
+Change the destination address of all transports in the \fISWITCH \fRto \fINEWADDR\fR.
+\fINEWADDR \fRcan be an IP address, DNS name, or anything else resolvable by \fBgethostbyname\fR(3).
+.IP "\fBshow \fR[ \fISWITCH \fR] \fB(default)"
+Show detailed information about groups of transports on this system.
+If \fISWITCH \fRwas provided, then only show information about a single transport group.
+.P
+.SS rpcctl xprt \fR- \fBCommands operating on individual transports
+.IP "\fBremove \fIXPRT"
+Removes the specified \fIXPRT \fRfrom the system.
+Note that "main" transports cannot be removed.
+.P
+.IP "\fBset \fIXPRT \fBdstaddr \fINEWADDR"
+Change the destination address of the specified \fIXPRT \fR to \fINEWADDR\fR.
+\fINEWADDR \fRcan be an IP address, DNS name, or anything else resolvable by \fBgethostbyname\fR(3).
+.P
+.IP "\fBset \fIXPRT \fBoffline"
+Sets the specified \fIXPRT\fR's state to offline.
+.P
+.IP "\fBset \fIXPRT \fBonline"
+Sets the specified \fIXPRT\fR's state to online.
+.IP "\fBshow \fR[ \fIXPRT \fR] \fB(default)"
+Show detailed information about this system's transports.
+If \fIXPRT \fRwas provided, then only show information about a single transport.
+.SH EXAMPLES
+.IP "\fBrpcctl switch show switch-2"
+Show details about the RPC switch named "switch-2".
+.IP "\fBrpcctl xprt remove xprt-4"
+Remove the xprt named "xprt-4" from the system.
+.IP "\fBrpcctl xprt set xprt-3 dstaddr https://linux-nfs.org
+Change the dstaddr of the xprt named "xprt-3" to point to linux-nfs.org
+.SH DIRECTORY
+.TP
+.B /sys/kernel/sunrpc/
+.SH AUTHOR
+Anna Schumaker <Anna.Schumaker@Netapp.com>
diff --git a/upstream/fedora-40/man8/rpcdebug.8 b/upstream/fedora-40/man8/rpcdebug.8
new file mode 100644
index 00000000..e65598af
--- /dev/null
+++ b/upstream/fedora-40/man8/rpcdebug.8
@@ -0,0 +1,88 @@
+.\"
+.\" rpcdebug(8)
+.\"
+.\" By Greg Banks <gnb@melbourne.sgi.com>
+.\" Copyright (c) 2006 Silicon Graphics, Inc.
+.\" Derived from nfsstat.man which bore the message:
+.\" Copyright (C) 1996-2005 Olaf Kirch <okir@suse.de>
+.TH rpcdebug 8 "5 Jul 2006"
+.SH NAME
+rpcdebug \- set and clear NFS and RPC kernel debug flags
+.SH SYNOPSIS
+\fBrpcdebug\fP \fB\-vh\fP
+.br
+\fBrpcdebug\fP \fB\-m\fP \fImodule\fP
+.br
+\fBrpcdebug\fP \fB\-m\fP \fImodule\fP \fB\-s\fP \fIflags\fP...
+.br
+\fBrpcdebug\fP \fB\-m\fP \fImodule\fP \fB\-c\fP \fIflags\fP...
+.br
+.SH DESCRIPTION
+The \fBrpcdebug\fP command allows an administrator to set and clear
+the Linux kernel's NFS client and server debug flags. Setting these
+flags causes the kernel to emit messages to the system log in response
+to NFS activity; this is typically useful when debugging NFS problems.
+.PP
+The first form in the synopsis can be used to list all available
+debug flags. The second form shows the currently set debug flags
+for the given module. The third form sets one or more flags, and
+the fourth form clears one or more flags.
+.PP
+The value \fBall\fP may be used to set or clear all the flags for
+the given module.
+.SH OPTIONS
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.TP
+.B \-c
+Clear the given debug flags.
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.TP
+.B \-h
+Print a help message and exit. When combined with the \fB\-v\fP
+option, also prints the available debug flags.
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.TP
+.BI \-m " module"
+Specify which module's flags to set or clear. Available
+modules are:
+.RS
+.TP
+.BR nfsd
+The NFS server.
+.TP
+.BR nfs
+The NFS client.
+.TP
+.BR nlm
+The Network Lock Manager, in either an NFS client or server.
+.TP
+.BR rpc
+The Remote Procedure Call module, in either an NFS client or server.
+.RE
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.TP
+.B \-s
+Set the given debug flags.
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.TP
+.B \-v
+Increase the verbosity of \fBrpcdebug\fP's output.
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.SH FILES
+.TP
+.B /proc/sys/sunrpc/{rpc,nfs,nfsd,nlm}_debug
+procfs\-based interface to kernel debug flags.
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.SH SEE ALSO
+.BR rpc.nfsd (8),
+.BR nfs (5),
+.BR syslogd (8).
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.SH BUGS
+Bugs can be found or reported at
+.BR http://nfs.sf.net/ .
+.\" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+.SH AUTHOR
+Program by Olaf Kirch <okir@suse.de> and
+<frederic.jolly@bull.ext.net>.
+Manpage by Greg Banks <gnb@melbourne.sgi.com>.
diff --git a/upstream/fedora-40/man8/rtacct.8 b/upstream/fedora-40/man8/rtacct.8
new file mode 100644
index 00000000..988a6d1b
--- /dev/null
+++ b/upstream/fedora-40/man8/rtacct.8
@@ -0,0 +1,61 @@
+.TH RTACCT 8 "27 June, 2007"
+
+.SH NAME
+nstat, rtacct - network statistics tools.
+
+.SH SYNOPSIS
+Usage: nstat [ -h?vVzrnasd:t:jp ] [ PATTERN [ PATTERN ] ]
+.br
+Usage: rtacct [ -h?vVzrnasd:t: ] [ ListOfRealms ]
+
+.SH DESCRIPTION
+.B nstat
+and
+.B rtacct
+are simple tools to monitor kernel snmp counters and network interface statistics.
+
+.B nstat
+can filter kernel snmp counters by name with one or several specified wildcards. Wildcards are case-insensitive and can include special symbols
+.B ?
+and
+.B *
+.
+
+.SH OPTIONS
+.B \-h, \-\-help
+Print help
+.TP
+.B \-V, \-\-version
+Print version
+.TP
+.B \-z, \-\-zeros
+Dump zero counters too. By default they are not shown.
+.TP
+.B \-r, \-\-reset
+Reset history.
+.TP
+.B \-n, \-\-nooutput
+Do not display anything, only update history.
+.TP
+.B \-a, \-\-ignore
+Dump absolute values of counters. The default is to calculate increments since the previous use.
+.TP
+.B \-s, \-\-noupdate
+Do not update history, so that the next time you will see counters including values accumulated to the moment of this measurement too.
+.TP
+.B \-j, \-\-json
+Display results in JSON format.
+.TP
+.B \-p, \-\-pretty
+When combined with
+.BR \-\-json ,
+pretty print the output.
+.TP
+.B \-d, \-\-scan <INTERVAL>
+Run in daemon mode collecting statistics. <INTERVAL> is interval between measurements in seconds.
+.TP
+.B \-t, \-\-interval <INTERVAL>
+Time interval to average rates. Default value is 60 seconds.
+
+.SH SEE ALSO
+lnstat(8)
diff --git a/upstream/fedora-40/man8/rtmon.8 b/upstream/fedora-40/man8/rtmon.8
new file mode 100644
index 00000000..38a2b774
--- /dev/null
+++ b/upstream/fedora-40/man8/rtmon.8
@@ -0,0 +1,68 @@
+.TH RTMON 8
+.SH NAME
+rtmon \- listens to and monitors RTnetlink
+.SH SYNOPSIS
+.B rtmon
+.RI "[ options ] file FILE [ all | LISTofOBJECTS ]"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B rtmon
+command.
+.PP
+.B rtmon
+listens on
+.I netlink
+socket and monitors routing table changes.
+
+.I rtmon
+can be started before the first network configuration command is issued.
+For example if you insert:
+
+.B rtmon file /var/log/rtmon.log
+
+in a startup script, you will be able to view the full history later.
+Certainly, it is possible to start rtmon at any time. It prepends the history with the state snapshot dumped at the moment of starting.
+
+.SH OPTIONS
+.I rtmon supports the following options:
+.TP
+.B \-Version
+Print version and exit.
+.TP
+.B help
+Show summary of options.
+.TP
+.B file FILE [ all | LISTofOBJECTS ]
+Log output to FILE. LISTofOBJECTS is the list of object types that we
+want to monitor. It may contain 'link', 'address', 'route'
+and 'all'. 'link' specifies the network device, 'address' the protocol
+(IP or IPv6) address on a device, 'route' the routing table entry
+and 'all' does what the name says.
+.TP
+.B \-family [ inet | inet6 | link | help ]
+Specify protocol family. 'inet' is IPv4, 'inet6' is IPv6, 'link'
+means that no networking protocol is involved and 'help' prints usage information.
+.TP
+.B \-4
+Use IPv4. Shortcut for -family inet.
+.TP
+.B \-6
+Use IPv6. Shortcut for -family inet6.
+.TP
+.B \-0
+Use a special family identifier meaning that no networking protocol is involved. Shortcut for -family link.
+.SH USAGE EXAMPLES
+.TP
+.B # rtmon file /var/log/rtmon.log
+Log to file /var/log/rtmon.log, then run:
+.TP
+.B # ip monitor file /var/log/rtmon.log
+to display logged output from file.
+.SH SEE ALSO
+.BR ip (8)
+.SH AUTHOR
+.B rtmon
+was written by Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>.
+.PP
+This manual page was written by Michael Prokop <mika@grml.org>,
+for the Debian project (but may be used by others).
diff --git a/upstream/fedora-40/man8/runlevel.8 b/upstream/fedora-40/man8/runlevel.8
new file mode 100644
index 00000000..edbabfde
--- /dev/null
+++ b/upstream/fedora-40/man8/runlevel.8
@@ -0,0 +1,130 @@
+'\" t
+.TH "RUNLEVEL" "8" "" "systemd 255" "runlevel"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+runlevel \- Print previous and current SysV runlevel
+.SH "SYNOPSIS"
+.HP \w'\fBrunlevel\fR\ 'u
+\fBrunlevel\fR [options...]
+.SH "OVERVIEW"
+.PP
+"Runlevels" are an obsolete way to start and stop groups of services used in SysV init\&. systemd provides a compatibility layer that maps runlevels to targets, and associated binaries like
+\fBrunlevel\fR\&. Nevertheless, only one runlevel can be "active" at a given time, while systemd can activate multiple targets concurrently, so the mapping to runlevels is confusing and only approximate\&. Runlevels should not be used in new code, and are mostly useful as a shorthand way to refer the matching systemd targets in kernel boot parameters\&.
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.B Table\ \&1.\ \&Mapping between runlevels and systemd targets
+.TS
+allbox tab(:);
+lB lB.
+T{
+Runlevel
+T}:T{
+Target
+T}
+.T&
+l l
+l l
+l l
+l l
+l l.
+T{
+0
+T}:T{
+poweroff\&.target
+T}
+T{
+1
+T}:T{
+rescue\&.target
+T}
+T{
+2, 3, 4
+T}:T{
+multi\-user\&.target
+T}
+T{
+5
+T}:T{
+graphical\&.target
+T}
+T{
+6
+T}:T{
+reboot\&.target
+T}
+.TE
+.sp 1
+.SH "DESCRIPTION"
+.PP
+\fBrunlevel\fR
+prints the previous and current SysV runlevel if they are known\&.
+.PP
+The two runlevel characters are separated by a single space character\&. If a runlevel cannot be determined, N is printed instead\&. If neither can be determined, the word "unknown" is printed\&.
+.PP
+Unless overridden in the environment, this will check the utmp database for recent runlevel changes\&.
+.SH "OPTIONS"
+.PP
+The following option is understood:
+.PP
+\fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+If one or both runlevels could be determined, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "ENVIRONMENT"
+.PP
+\fI$RUNLEVEL\fR
+.RS 4
+If
+\fI$RUNLEVEL\fR
+is set,
+\fBrunlevel\fR
+will print this value as current runlevel and ignore utmp\&.
+.RE
+.PP
+\fI$PREVLEVEL\fR
+.RS 4
+If
+\fI$PREVLEVEL\fR
+is set,
+\fBrunlevel\fR
+will print this value as previous runlevel and ignore utmp\&.
+.RE
+.SH "FILES"
+.PP
+/run/utmp
+.RS 4
+The utmp database
+\fBrunlevel\fR
+reads the previous and current runlevel from\&.
+.sp
+Added in version 237\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.target\fR(5),
+\fBsystemctl\fR(1)
diff --git a/upstream/fedora-40/man8/rwhod.8 b/upstream/fedora-40/man8/rwhod.8
new file mode 100644
index 00000000..737cca81
--- /dev/null
+++ b/upstream/fedora-40/man8/rwhod.8
@@ -0,0 +1,160 @@
+.\" Copyright (c) 1983, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)rwhod.8 6.5 (Berkeley) 3/16/91
+.\" $Id: rwhod.8,v 1.16 2000/07/30 23:57:06 dholland Exp $
+.\"
+.Dd May 13, 1997
+.Dt RWHOD 8
+.Os "Linux NetKit (0.17)"
+.Sh NAME
+.Nm rwhod
+.Nd system status server
+.Sh SYNOPSIS
+.Nm rwhod
+.Op Fl bpa
+.Op Fl u Ar user
+.Sh DESCRIPTION
+.Nm Rwhod
+is the server which maintains the database used by the
+.Xr rwho 1
+and
+.Xr ruptime 1
+programs. Its operation is predicated on the ability to
+.Em broadcast
+messages on a network.
+.Pp
+.Nm Rwhod
+operates as both a producer and consumer of status information.
+As a producer of information it periodically
+queries the state of the system and constructs
+status messages which are broadcast on a network.
+As a consumer of information, it listens for other
+.Nm rwhod
+servers' status messages, validating them, then recording
+them in a collection of files located in the directory
+.Pa /var/spool/rwho .
+.Pp
+The server transmits and receives messages at the port indicated
+in the ``rwho'' service specification; see
+.Xr services 5 .
+.Pp
+If the
+.Fl b
+flag is supplied, only broadcast interfaces, such as ethernets, will
+be used.
+If the
+.Fl p
+flag is supplied, only point-to-point interfaces will be used. If the
+.Fl a
+flag is supplied, or no flags are supplied, all interfaces will be
+used.
+.Pp
+If the
+.Fl u
+flag is supplied, rwhod will run as the specified user instead of as
+root.
+.Pp
+The messages sent and received, are of the form:
+.Bd -literal -offset indent
+struct outmp {
+ char out_line[8]; /* tty name */
+ char out_name[8]; /* user id */
+ long out_time; /* time on */
+};
+
+struct whod {
+ char wd_vers;
+ char wd_type;
+ char wd_fill[2];
+ int wd_sendtime;
+ int wd_recvtime;
+ char wd_hostname[32];
+ int wd_loadav[3];
+ int wd_boottime;
+ struct whoent {
+ struct outmp we_utmp;
+ int we_idle;
+ } wd_we[1024 / sizeof (struct whoent)];
+};
+.Ed
+.Pp
+All fields are converted to network byte order prior to
+transmission. The load averages are as calculated by the
+.Xr w 1
+program, and represent load averages over the 5, 10, and 15 minute
+intervals prior to a server's transmission; they are multiplied by 100
+for representation in an integer. The host name
+included is that returned by the
+.Xr gethostname 2
+system call, with any trailing domain name omitted.
+The array at the end of the message contains information about
+the users logged in to the sending machine. This information
+includes the contents of the
+.Xr utmp 5
+entry for each non-idle terminal line and a value indicating the
+time in seconds since a character was last received on the terminal line.
+.Pp
+Messages received by the
+.Xr rwho
+server are discarded unless they originated at an
+.Xr rwho
+server's port. In addition, if the host's name, as specified
+in the message, contains any unprintable
+.Tn ASCII
+characters, the
+message is discarded. Valid messages received by
+.Nm rwhod
+are placed in files named
+.Pa whod.hostname
+in the directory
+.Pa /var/spool/rwho .
+These files contain only the most recent message, in the
+format described above.
+.Pp
+Status messages are generated approximately once every
+3 minutes.
+.Nm Rwhod
+recomputes the system boot time every 30 minutes because on
+some (non-Linux) systems it is not a totally reliable process.
+.Sh SEE ALSO
+.Xr rwho 1 ,
+.Xr ruptime 1
+.Sh BUGS
+There should be a way to relay status information between networks.
+People often interpret the server dying
+or network communtication failures
+as a machine going down.
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.Bx 4.2 .
diff --git a/upstream/fedora-40/man8/sa.8 b/upstream/fedora-40/man8/sa.8
new file mode 100644
index 00000000..91487727
--- /dev/null
+++ b/upstream/fedora-40/man8/sa.8
@@ -0,0 +1,425 @@
+.TH SA 8 "1997 August 19"
+.SH NAME
+sa \- summarizes accounting information
+.SH SYNOPSIS
+.hy 0
+.na
+.TP
+.B sa
+[
+.B \-a
+|
+.B \-\-list-all-names
+]
+.br
+[
+.B \-b
+|
+.B \-\-sort-sys-user-div-calls
+]
+.br
+[
+.B \-c
+|
+.B \-\-percentages
+]
+[
+.B \-d
+|
+.B \-\-sort-avio
+]
+.br
+[
+.B \-D
+|
+.B \-\-sort-tio
+]
+[
+.B \-f
+|
+.B \-\-not-interactive
+]
+.br
+[
+.B \-i
+|
+.B \-\-dont-read-summary-files
+]
+.br
+[
+.B \-j
+|
+.B \-\-print-seconds
+]
+[
+.B \-k
+|
+.B \-\-sort-cpu-avmem
+]
+.br
+[
+.B \-K
+|
+.B \-\-sort-ksec
+]
+[
+.B \-l
+|
+.B \-\-separate-times
+]
+.br
+[
+.B \-m
+|
+.B \-\-user-summary
+]
+[
+.B \-n
+|
+.B \-\-sort-num-calls
+]
+.br
+[
+.B \-p
+|
+.B \-\-show-paging
+]
+[
+.B \-P
+|
+.B \-\-show-paging-avg
+]
+.br
+[
+.B \-r
+|
+.B \-\-reverse-sort
+]
+[
+.B \-s
+|
+.B \-\-merge
+]
+.br
+[
+.B \-t
+|
+.B \-\-print-ratio
+]
+[
+.B \-u
+|
+.B \-\-print-users
+]
+.br
+[
+.BI \-v " num"
+|
+.BI \-\-threshold " num"
+]
+[
+.B \-\-sort-real-time
+]
+.br
+[
+.B \-\-debug
+]
+[
+.B \-V
+|
+.B \-\-version
+]
+[
+.B \-h
+|
+.B \-\-help
+]
+.br
+[
+.BI "\-\-other-usracct-file " filename
+]
+[
+.BI \-\-ahz " hz"
+]
+.br
+[
+.BI "\-\-other-savacct-file " filename
+]
+.br
+[
+[
+.B "\-\-other-acct-file "
+]
+.I filename
+]
+.SH DESCRIPTION
+.LP
+.B sa
+summarizes information about previously executed commands as
+recorded in the
+.I acct
+file. In addition, it condenses this data into a summary file named
+.I savacct
+which contains the number of times the command was called and the system
+resources used. The information can also be summarized on a per-user
+basis;
+.B sa
+will save this information into a file named
+.I usracct.
+.LP
+If no arguments are specified,
+.B sa
+will print information about all of the commands in the
+.I acct
+file.
+.LP
+If called with a file name as the last argument,
+.B sa
+will use that file instead of the system's default
+.I acct
+file.
+.LP
+By default,
+.B sa
+will sort the output by sum of user and system time.
+If command names have unprintable characters, or are only called once,
+.B sa
+will sort them into a group called `***other'.
+If more than one sorting option is specified, the list will
+be sorted by the one specified last on the command line.
+.LP
+The output fields are labeled as follows:
+.TP
+.I cpu
+ sum of system and user time in cpu minutes
+.TP
+.I re
+ "elapsed time" in minutes
+.TP
+.I k
+ cpu-time averaged core usage, in 1k units
+.TP
+.I avio
+ average number of I/O operations per execution
+.TP
+.I tio
+ total number of I/O operations
+.TP
+.I k*sec
+ cpu storage integral (kilo-core seconds)
+.TP
+.I u
+ user cpu time in cpu seconds
+.TP
+.I s
+ system time in cpu seconds
+.LP
+Note that these column titles do not appear in the first row of the
+table, but after each numeric entry (as units of measurement) in every
+row. For example, you might see `79.29re', meaning 79.29 cpu seconds
+of "real time".
+.LP
+An asterisk will appear after the name of commands that forked but didn't call
+.B exec.
+.LP
+GNU
+.B sa
+takes care to implement a number of features not found in other versions.
+For example, most versions of
+.B sa
+don't pay attention to flags like `\-\-print-seconds' and
+`\-\-sort-num-calls' when printing out commands when combined with
+the `\-\-user-summary' or `\-\-print-users' flags. GNU
+.B sa
+pays attention to these flags if they are applicable.
+Also, MIPS'
+.B sa
+stores the average memory use as a short rather than a double, resulting
+in some round-off errors. GNU
+.B sa
+uses double the whole way through.
+.SH OPTIONS
+.LP
+The availability of these program options depends on your operating
+system. In specific, the members that appear in the
+.B struct acct
+of your system's process accounting header file (usually
+.I acct.h
+) determine which flags will be present. For example, if your system's
+.B struct acct
+doesn't have the `ac_mem' field, the installed
+version of
+.B sa
+will not support the `\-\-sort-cpu-avmem', `\-\-sort-ksec', `\-k', or
+`\-K' options.
+.LP
+In short, all of these flags may not be available on your machine.
+.TP
+.PD 0
+.B \-a, \-\-list-all-names
+Force
+.B sa
+not to sort those command names with unprintable characters and those
+used only once into the
+.I ***other
+group.
+.TP
+.B \-b, \-\-sort-sys-user-div-calls
+Sort the output by the sum of user and system time divided by the
+number of calls.
+.TP
+.B \-c, \-\-percentages
+Print percentages of total time for the command's user, system,
+and real time values.
+.TP
+.B \-d, \-\-sort-avio
+Sort the output by the average number of disk I/O operations.
+.TP
+.B \-D, \-\-sort-tio
+Print and sort the output by the total number of disk I/O operations.
+.TP
+.B \-f, \-\-not-interactive
+When using the `\-\-threshold' option, assume that all answers to
+interactive queries will be affirmative.
+.TP
+.B \-i, \-\-dont-read-summary-files
+Don't read the information in the system's default
+.I savacct
+file.
+.TP
+.B \-j, \-\-print-seconds
+Instead of printing total minutes for each category, print seconds per call.
+.TP
+.B \-k, \-\-sort-cpu-avmem
+Sort the output by cpu time average memory usage.
+.TP
+.B \-K, \-\-sort-ksec
+Print and sort the output by the cpu-storage integral.
+.TP
+.B \-l, \-\-separate-times
+Print separate columns for system and user time; usually the two
+are added together and listed as `cpu'.
+.TP
+.B \-m, \-\-user-summary
+Print the number of processes and number of CPU minutes on a
+per-user basis.
+.TP
+.B \-n, \-\-sort-num-calls
+Sort the output by the number of calls. This is the default sorting method.
+.TP
+.B \-p, \-\-show-paging
+Print the number of minor and major pagefaults and swaps.
+.TP
+.B \-P, \-\-show-paging-avg
+Print the number of minor and major pagefaults and swaps divided by
+the number of calls.
+.TP
+.B \-r, \-\-reverse-sort
+Sort output items in reverse order.
+.TP
+.B \-s, \-\-merge
+Merge the summarized accounting data into the summary files
+.I savacct
+and
+.I usracct.
+.TP
+.B \-t, \-\-print-ratio
+For each entry, print the ratio of real time to the sum of system
+and user times. If the sum of system and user times is too small
+to report--the sum is zero--`*ignore*' will appear in this field.
+.TP
+.B \-u, \-\-print-users
+For each command in the accounting file, print the userid and
+command name. After printing all entries, quit. *Note*: this flag
+supersedes all others.
+.TP
+.BI \-v " num " \-\-threshold " num"
+Print commands which were executed
+.I num
+times or fewer and await a
+reply from the terminal. If the response begins with `y', add the
+command to the `**junk**' group.
+.TP
+.B \-\-separate-forks
+It really doesn't make any sense to me that the stock version of
+.B sa
+separates statistics for a particular executable depending on
+whether or not that command forked. Therefore, GNU
+.B sa
+lumps this information together unless this option is specified.
+.TP
+.BI \-\-ahz " hz"
+Use this flag to tell the program what
+.B AHZ
+should be (in hertz). This option is useful if you are trying to view
+an
+.I acct
+file created on another machine which has the same byte order and file
+format as your current machine, but has a different value for
+.B AHZ.
+.TP
+.B \-\-debug
+Print verbose internal information.
+.TP
+.B \-V, \-\-version
+Print the version number of
+.B sa.
+.TP
+.B \-h, \-\-help
+Prints the usage string and default locations of system files to
+standard output and exits.
+.TP
+.BI \-\-sort-real-time
+Sort the output by the "real time" field.
+.TP
+.BI \-\-other-usracct-file " filename"
+Write summaries by user ID to
+.I filename
+rather than the system's default
+.I usracct
+file.
+.TP
+.BI \-\-other-savacct-file " filename"
+Write summaries by command name to
+.I filename
+rather than the system's default
+.I SAVACCT
+file.
+.TP
+.BI \-\-other-acct-file " filename"
+Read from the file
+.I filename
+instead of the system's default
+.I ACCT
+file.
+.SH FILES
+.TP
+.I acct
+The raw system wide process accounting file. See
+.BR acct (5)
+for further details.
+.TP
+.I savacct
+A summary of system process accounting sorted by command.
+.TP
+.I usracct
+A summary of system process accounting sorted by user ID.
+.RE
+.LP
+
+.SH BUGS
+There is not yet a wide experience base for comparing the output of GNU
+.B sa
+with versions of
+.B sa
+in many other systems. The problem is that the data files grow big in a short
+time and therefore require a lot of disk space.
+.LP
+
+.SH AUTHOR
+The GNU accounting utilities were written by Noel Cragg
+<noel@gnu.ai.mit.edu>. The man page was adapted from the accounting
+texinfo page by Susan Kleinmann <sgk@sgk.tiac.net>.
+.SH "SEE ALSO"
+.BR acct (5),
+.BR ac (1)
diff --git a/upstream/fedora-40/man8/sa1.8 b/upstream/fedora-40/man8/sa1.8
new file mode 100644
index 00000000..a5b4fc80
--- /dev/null
+++ b/upstream/fedora-40/man8/sa1.8
@@ -0,0 +1,91 @@
+.\" sa1 manual page - (C) 1999-2020 Sebastien Godard (sysstat <at> orange.fr)
+.TH SA1 8 "AUGUST 2023" Linux "Linux User's Manual" -*- nroff -*-
+.SH NAME
+sa1 \- Collect and store binary data in the system activity daily data file.
+
+.SH SYNOPSIS
+.B /usr/lib64/sa/sa1 [ \-\-boot | \-\-rotate [ iso ] | \-\-sleep |
+.I interval count
+.B ]
+
+.SH DESCRIPTION
+.RB "The " "sa1"
+.RB "command is a shell procedure variant of the " "sadc"
+command and handles all of the flags and parameters of that command. The
+.B sa1
+command collects and stores binary data in the current standard
+system activity daily data file.
+.PP
+The standard system activity daily data file is named
+.IR "saDD " "unless"
+.BR "sadc" "'s option " "\-D " "is used, in which case its name is"
+.IR "saYYYYMMDD" ","
+.RI "where " "YYYY " "stands for the current year, " "MM " "for the current month and " "DD"
+for the current day. By default it is located in the
+.I /var/log/sa
+directory.
+.PP
+.RI "The " "interval " "and " "count"
+parameters specify that the record should be written
+.IR "count " "times at " "interval"
+seconds. If no arguments are given to
+.B sa1
+then a single record is written.
+
+The
+.B sa1
+command is designed to be started automatically by the
+.BR "cron " "command."
+
+.SH OPTIONS
+.TP
+.B \-\-boot
+This option tells
+.BR "sa1 " "that the " "sadc"
+command should be called without specifying the
+.IR "interval " "and " "count"
+parameters in order to insert a dummy record, marking the time when the counters
+restart from 0.
+.TP
+.B \-\-rotate [ iso ]
+.RB "Use this option to tell " "sa1 " "to insert a record of statistics to the standard"
+.IR "saDD" " system activity daily data file of the previous day."
+This should be done shortly after midnight (on day DD+1) in order to make sure that the
+data file covers the whole day, including the last interval of time just before midnight.
+.RB "Adding the " "iso" " keyword tells " "sa1" " to use
+.IR "saYYYYMMDD" " instead of " "saDD" " as the standard system activity daily data file name."
+.TP
+.B \-\-sleep
+.RB "This option tells " "sa1 " "that the " "sadc"
+command should insert a comment indicating that the system is entering or leaving
+sleep mode (i.e. system suspend or hibernation).
+
+.SH EXAMPLE
+To collect data (including those from disks) every 10 minutes,
+place the following entry in your root crontab file:
+
+.B 0,10,20,30,40,50 * * * * /usr/lib64/sa/sa1 1 1 \-S DISK
+
+To rotate current system activity daily data file, ensuring it is complete,
+place the following entry in your root crontab file:
+
+.B 0 0 * * * /usr/lib64/sa/sa1 \-\-rotate
+
+.SH FILES
+.I /var/log/sa/saDD
+.br
+.I /var/log/sa/saYYYYMMDD
+.RS
+The standard system activity daily data files and their default location.
+.IR "YYYY " "stands for the current year, " "MM " "for the current month and " "DD"
+for the current day.
+
+.SH AUTHOR
+Sebastien Godard (sysstat <at> orange.fr)
+
+.SH SEE ALSO
+.BR "sar" "(1), " "sadc" "(8), " "sa2" "(8), " "sadf" "(1), " "sysstat" "(5)"
+.PP
+.I https://github.com/sysstat/sysstat
+.br
+.I https://sysstat.github.io/
diff --git a/upstream/fedora-40/man8/sa2.8 b/upstream/fedora-40/man8/sa2.8
new file mode 100644
index 00000000..ef1e3893
--- /dev/null
+++ b/upstream/fedora-40/man8/sa2.8
@@ -0,0 +1,56 @@
+.\" sa2 manual page - (C) 1999-2020 Sebastien Godard (sysstat <at> orange.fr)
+.TH SA2 8 "AUGUST 2023" Linux "Linux User's Manual" -*- nroff -*-
+.SH NAME
+sa2 \- Create a report from the current standard system activity daily data file.
+
+.SH SYNOPSIS
+.B /usr/lib64/sa/sa2
+
+.SH DESCRIPTION
+.RB "The " "sa2 " "command is a shell procedure variant of the " "sar"
+command which writes a daily report in the
+.IR "sarDD " "or the " "sarYYYYMMDD " "file, where"
+.IR "YYYY " "stands for the current year, " "MM " "for the current month and " "DD"
+for the current day. By default the report is saved in the
+.I /var/log/sa
+directory. The
+.B sa2
+command will also remove reports more than one week old by default.
+You can however keep reports for a longer (or a shorter) period by setting the
+.B HISTORY
+environment variable. Read the
+.BR "sysstat" "(5) manual page for details."
+.PP
+.RB "The " "sa2 " "command accepts most of the flags and parameters of the " "sar " "command."
+.PP
+.RB "The " "sa2 " "command is designed to be started automatically by the " "cron " "command."
+
+.SH EXAMPLES
+.RB "To run the " "sa2"
+command daily, place the following entry in your root crontab file:
+
+.B 5 19 * * 1\-5 /usr/lib64/sa/sa2 \-A
+
+This will generate by default a daily report called
+.IR "sarDD " "in the"
+.I /var/log/sa
+directory, where the
+.IR "DD " "parameter is a number representing the day of the month."
+
+.SH FILES
+.I /var/log/sa/sarDD
+.br
+.I /var/log/sa/sarYYYYMMDD
+.RS
+The standard system activity daily report files and their default location.
+.IR "YYYY " "stands for the current year, " "MM " "for the current month and " "DD " "for the current day."
+
+.SH AUTHOR
+Sebastien Godard (sysstat <at> orange.fr)
+
+.SH SEE ALSO
+.BR "sar" "(1), " "sadc" "(8), " "sa1" "(8), " "sadf" "(1), " "sysstat" "(5)"
+.PP
+.I https://github.com/sysstat/sysstat
+.br
+.I https://sysstat.github.io/
diff --git a/upstream/fedora-40/man8/sadc.8 b/upstream/fedora-40/man8/sadc.8
new file mode 100644
index 00000000..f252df9f
--- /dev/null
+++ b/upstream/fedora-40/man8/sadc.8
@@ -0,0 +1,205 @@
+.\" sadc manual page - (C) 1999-2020 Sebastien Godard (sysstat <at> orange.fr)
+.TH SADC 8 "AUGUST 2023" Linux "Linux User's Manual" -*- nroff -*-
+.SH NAME
+sadc \- System activity data collector.
+
+.SH SYNOPSIS
+.B /usr/lib64/sa/sadc [ \-C
+.I comment
+.BI "] [ \-D ] [ \-F ] [ \-f ] [ \-L ] [ \-V ] [ \-S { " "keyword" "[,...] | ALL | XALL } ] ["
+.IB "interval " "[ " "count " "] ] [ " "outfile " "]"
+
+.SH DESCRIPTION
+.RB "The " "sadc"
+command samples system data a specified number of times
+.RI "(" "count" ") at a specified interval measured in seconds (" "interval" ")."
+It writes in binary format to the specified
+.IR "outfile " "or to standard output. If " "outfile"
+.RB "is set to " "\-" ", then " "sadc"
+uses the standard system activity daily data file (see below).
+In this case, if the file already exists,
+.B sadc
+will overwrite it if it is from a previous month. By default
+.B sadc
+collects most of the data available from the kernel.
+But there are also optional metrics, for which the
+relevant options must be explicitly passed to
+.BR "sadc " "to be collected (see option " "\-S " "below)."
+.PP
+The standard system activity daily data file is named
+.IR "saDD " "unless option"
+.B \-D
+is used, in which case its name is
+.IR "saYYYYMMDD" ", where " "YYYY " "stands for the current year, " "MM " "for the current month and " "DD"
+for the current day. By default it is located in the
+.I /var/log/sa
+directory. Yet it is possible to specify an alternate location for
+it: If
+.I outfile
+is a directory (instead of a plain file) then it will be considered
+as the directory where the standard system activity daily data file
+will be saved.
+.PP
+.RI "When the " "count"
+parameter is not specified,
+.B sadc
+writes its data endlessly. When both
+.IR "interval " "and " "count"
+are not specified, and option
+.B \-C
+is not used, a dummy record, which is used at system startup to mark
+the time when the counter restarts from 0, will be written.
+For example, one of the system startup script may write the restart mark to
+the daily data file by the command entry:
+
+.B /usr/lib64/sa/sadc \-
+
+.RB "The " "sadc " "command is intended to be used as a backend to the " "sar " "command."
+.PP
+.RB "Note: The " "sadc"
+command only reports on local activities.
+
+.SH OPTIONS
+.TP
+.BI "\-C " "comment"
+When neither the
+.IR "interval " "nor the " "count"
+parameters are specified, this option tells
+.B sadc
+to write a dummy record containing the specified
+.I comment
+string. This comment can then be displayed with option
+.BR "\-C " "of " "sar" "."
+.TP
+.B \-D
+.RI "Use " "saYYYYMMDD " "instead of " "saDD"
+as the standard system activity daily data file name.
+.TP
+.B \-F
+.RI "The creation of " "outfile"
+will be forced. If the file already exists and has a format unknown to
+.B sadc
+then it will be truncated. This may be useful for daily data files
+created by an older version of
+.B sadc
+and whose format is no longer compatible with current one.
+.TP
+.B \-f
+fdatasync() will be used to ensure data is written to disk. This differs
+from the normal operation in that a sudden system reset is less likely to
+result in the
+.I saDD
+datafiles being corrupted. However, this is at the
+expense of performance within the
+.B sadc
+process as forward progress will be
+blocked while data is written to underlying disk instead of just to cache.
+.TP
+.B \-L
+.B sadc
+will try to get an exclusive lock on the
+.I outfile
+before writing to it or truncating it. Failure to get the lock is fatal,
+except in the case of trying to write a normal (i.e. not a dummy and not
+a header) record to an existing file, in which case
+.B sadc
+will try again at the next interval. Usually, the only reason a lock
+would fail would be if another
+.BR "sadc " "process were also writing to the file. This can happen when " "cron"
+is used to launch
+.BR "sadc" ". If the system is under heavy load, an old " "sadc"
+might still be running when
+.B cron
+starts a new one. Without locking, this situation can result in a corrupted system
+activity file.
+.TP
+.BI "\-S { " "keyword" "[,...] | ALL | XALL }"
+Possible keywords are
+.BR "DISK" ", " "INT" ", " "IPV6" ", " "POWER" ", " "SNMP" ", " "XDISK" ", " "ALL " "and " "XALL" "."
+.br
+Specify which optional activities should be collected by
+.BR "sadc" "."
+Some activities are optional to prevent data files from growing too large. The
+.BR "DISK " "keyword indicates that " "sadc"
+should collect data for block devices. The
+.BR "INT " "keyword indicates that " "sadc"
+should collect data for system interrupts. The
+.BR "IPV6 " "keyword indicates that IPv6 statistics should be collected by " "sadc" ". The"
+.BR "POWER " "keyword indicates that " "sadc"
+should collect power management statistics. The
+.BR "SNMP " "keyword indicates that SNMP statistics should be collected by " "sadc" ". The"
+.BR "ALL " "keyword is equivalent to specifying all the keywords above and therefore"
+all previous activities are collected.
+.IP
+.RB "The " "XDISK " "keyword is an extension to the " "DISK"
+one and indicates that partitions and filesystems statistics should be collected by
+.B sadc
+in addition to disk statistics. This option works only with kernels 2.6.25
+and later. The
+.B XALL
+keyword is equivalent to specifying all the keywords above (including
+keyword extensions) and therefore all possible activities are collected.
+.IP
+Important note: The activities (including optional ones) saved in an existing
+data file prevail over those selected with option
+.BR "\-S" "."
+As a consequence, appending data to an existing data file will result in option
+.B \-S
+being ignored.
+.TP
+.B \-V
+Print version number then exit.
+
+.SH ENVIRONMENT
+.RB "The " "sadc"
+command takes into account the following environment variable:
+.TP
+.B S_TIME_DEF_TIME
+If this variable exists and its value is
+.BR "UTC " "then " "sadc"
+will save its data in UTC time.
+.B sadc
+will also use UTC time instead of local time to determine the current
+daily data file located in the
+.IR /var/log/sa
+directory.
+
+.SH EXAMPLES
+.TP
+.B /usr/lib64/sa/sadc 1 10 /tmp/datafile
+Write 10 records of one second intervals to the
+.IR "/tmp/datafile " "binary file."
+.TP
+.B /usr/lib64/sa/sadc \-C """Backup Start"" /tmp/datafile
+Insert the comment "Backup Start" into the file
+.IR "/tmp/datafile" "."
+
+.SH BUGS
+.RI "The " "/proc"
+filesystem must be mounted for the
+.BR "sadc " "command to work."
+.PP
+All the statistics are not necessarily available, depending on the kernel version used.
+.B sadc
+assumes that you are using at least a 2.6 kernel.
+
+.SH FILES
+.I /var/log/sa/saDD
+.br
+.I /var/log/sa/saYYYYMMDD
+.RS
+The standard system activity daily data files and their default location.
+.IR "YYYY " "stands for the current year, " "MM " "for the current month and " "DD"
+for the current day.
+.RE
+.IR "/proc " "and " "/sys " "contain various files with system statistics."
+
+.SH AUTHOR
+Sebastien Godard (sysstat <at> orange.fr)
+
+.SH SEE ALSO
+.BR "sar" "(1), " "sa1" "(8), " "sa2" "(8), " "sadf" "(1), " "sysstat" "(5)"
+.PP
+.I https://github.com/sysstat/sysstat
+.br
+.I https://sysstat.github.io/
diff --git a/upstream/fedora-40/man8/saned.8 b/upstream/fedora-40/man8/saned.8
new file mode 100644
index 00000000..1112ade7
--- /dev/null
+++ b/upstream/fedora-40/man8/saned.8
@@ -0,0 +1,535 @@
+.TH saned 8 "29 Sep 2017" "" "SANE Scanner Access Now Easy"
+.IX saned
+.SH NAME
+saned \- SANE network daemon
+.SH SYNOPSIS
+.B saned
+.B [ \-a
+.I [ username ]
+.B ]
+.B [ \-u
+.I username
+.B ]
+.B [ \-b
+.I address
+.B ]
+.B [ \-p
+.I port
+.B ]
+.B [ \-l ]
+.B [ \-D ]
+.B [ \-o ]
+.B [ \-d
+.I n
+.B ]
+.B [ \-e ]
+.B [ \-h ]
+
+.SH DESCRIPTION
+.B saned
+is the SANE (Scanner Access Now Easy) daemon that allows remote clients
+to access image acquisition devices available on the local host.
+
+.SH OPTIONS
+.PP
+.B saned
+recognises the following options:
+
+.TP
+.BR \-a "\fI [username]\fR, " \-\-alone [=\fIusername]\fR
+is equivalent to the combination of
+.B \-l \-D \-u
+.I username
+options. However,
+.I username
+is optional and running user will only be set when specified.
+
+.TP
+.BR \-u "\fI username\fR, " \-\-user =\fIusername\fR
+requests that
+.B saned
+drop root privileges and run as the user (and group) associated with
+.I username
+after binding.
+
+.TP
+.BR \-b "\fI address\fR, " \-\-bind =\fIaddress\fR
+tells
+.B saned
+to bind to the
+.I address
+given.
+
+.TP
+.BR \-p "\fI port\fR, " \-\-port=\fIport\fR
+tells
+.B saned
+to listen on the
+.I port
+given. A value of 0 tells
+.B saned
+to pick an unused port. The default is the
+.B sane-port (6566).
+
+.TP
+.BR \-l ", " \-\-listen
+requests that
+.B saned
+run in standalone daemon mode. In this mode,
+.B saned
+will listen for incoming client connections;
+.BR inetd (8)
+is not required for
+.B saned
+operations in this mode.
+
+.TP
+.BR \-D ", " \-\-daemonize
+will request
+.B saned
+to detach from the console and run in the background.
+
+.TP
+.BR \-o ", " \-\-once
+requests that
+.B saned
+exits after the first client disconnects. This is useful for debugging.
+
+.TP
+.BR \-d "\fI n\fR, " \-\-debug =\fIn\fR
+sets the level of
+.B saned
+debug output to
+.IR n .
+When compiled with debugging enabled, this flag may be
+followed by a number to request more or less debug info. The larger
+the number, the more verbose the debug output. E.g.,
+.B \-d128
+will request output of all debug info. A level of 0 produces no
+output at all. The default value is 2.
+
+.TP
+.BR \-e ", " \-\-stderr
+will divert
+.B saned
+debug output to stderr instead of the syslog default.
+
+.TP
+.BR \-h ", " \-\-help
+displays a short help message.
+.PP
+If
+.B saned
+is run from other programs such as
+.BR inetd (8),
+.BR xinetd (8)
+and
+.BR systemd (1),
+check that program's documentation on how to pass command-line options.
+
+.SH CONFIGURATION
+First and foremost:
+.B saned
+is not intended to be exposed to the internet or other non-trusted
+networks. Make sure that access is limited by tcpwrappers and/or a firewall
+setup. Don't depend only on
+.BR saned 's
+own authentication. Don't run
+.B saned
+as root if it's not necessary. And do
+.B not
+install
+.B saned
+as setuid root.
+.PP
+The
+.I saned.conf
+configuration file contains both options for the daemon and the access
+list.
+.TP
+\fBdata_portrange\fP = \fImin_port\fP - \fImax_port\fP
+Specify the port range to use for the data connection. Pick a port
+range between 1024 and 65535; don't pick a too large port range, as it
+may have performance issues. Use this option if your
+.B saned
+server is sitting behind a firewall. If that firewall is a Linux
+machine, we strongly recommend using the Netfilter
+\fInf_conntrack_sane\fP module instead.
+.TP
+\fBdata_connect_timeout\fP = \fItimeout\fP
+Specify the time in milliseconds that
+.B saned
+will wait for a data
+connection. Without this option, if the data connection is not done
+before the scanner reaches the end of scan, the scanner will continue
+to scan past the end and may damage it depending on the
+backend. Specify zero to have the old behavior. The default is 4000ms.
+.PP
+The access list is a list of host names, IP addresses or IP subnets
+(CIDR notation) that are permitted to use local SANE devices. IPv6
+addresses must be enclosed in brackets, and should always be specified
+in their compressed form. Connections from localhost are always
+permitted. Empty lines and lines starting with a hash mark (#) are
+ignored. A line containing the single character ``+'' is interpreted
+to match any hostname. This allows any remote machine to use your
+scanner and may present a security risk, so this shouldn't be used
+unless you know what you're doing.
+.PP
+A sample configuration file is shown below:
+.PP
+.RS
+# Daemon options
+.br
+data_portrange = 10000 - 10100
+.br
+# Access list
+.br
+scan\-client.somedomain.firm
+.br
+# this is a comment
+.br
+192.168.0.1
+.br
+192.168.2.12/29
+.br
+[::1]
+.br
+[2001:db8:185e::42:12]/64
+.RE
+.PP
+The case of the host names does not matter, so AHost.COM is considered
+identical to ahost.com.
+.SH SERVER DAEMON CONFIGURATION
+For
+.B saned
+to work properly in its default mode of operation, it is also necessary to
+add the appropriate configuration for
+.BR xinetd (8),
+.BR inetd (8)
+or
+.BR systemd (1)
+(see below).
+Note that your
+.BR inetd (8)
+must support IPv6 if you want to connect to
+.B saned
+over IPv6;
+.BR xinetd (8),
+.BR openbsd-inetd (8)
+and
+.BR systemd (1)
+are known to support IPv6, check the documentation for your
+.BR inetd (8)
+daemon.
+.PP
+In the sections below the configuration for
+.BR inetd (8),
+.BR xinetd (8)
+and
+.BR systemd (1)
+are described in more detail.
+.PP
+For the configurations below it is necessary to add a line of the following
+form to
+.IR /etc/services :
+.PP
+.RS
+sane\-port 6566/tcp # SANE network scanner daemon
+.RE
+.PP
+The official IANA short name for port 6566 is "sane\-port". The older name
+"sane" is now deprecated.
+
+.SH INETD CONFIGURATION
+It is required to add a single line to the
+.BR inetd (8)
+configuration file
+.IR (/etc/inetd.conf)
+.
+.PP
+The configuration line normally looks like this:
+.PP
+.RS
+sane\-port stream tcp nowait saned.saned /usr/sbin/saned saned
+.RE
+.PP
+However, if your system uses
+.BR tcpd (8)
+for additional security screening, you may want to disable
+.B saned
+access control by putting ``+'' in
+.IR saned.conf
+and use a line of the following form in
+.IR /etc/inetd.conf
+instead:
+.PP
+.RS
+sane\-port stream tcp nowait saned.saned /usr/sbin/tcpd /usr/sbin/saned
+.RE
+.PP
+Note that both examples assume that there is a
+.B saned
+group and a
+.B saned
+user. If you follow this example, please make sure that the
+access permissions on the special device are set such that
+.B saned
+can access the scanner (the program generally needs read and
+write access to scanner devices).
+
+.SH XINETD CONFIGURATION
+If
+.BR xinetd (8)
+is installed on your system instead of
+.BR inetd (8)
+the following example for
+.I /etc/xinetd.conf
+may be helpful:
+.PP
+.RS
+.ft CR
+.nf
+# default: off
+# description: The sane server accepts requests
+# for network access to a local scanner via the
+# network.
+service sane\-port
+{
+ port = 6566
+ socket_type = stream
+ wait = no
+ user = saned
+ group = saned
+ server = /usr/sbin/saned
+}
+.fi
+.ft R
+.RE
+
+.SH SYSTEMD CONFIGURATION
+.B saned
+can be compiled with explicit
+.BR systemd (1)
+support. This
+will allow logging debugging information to be forwarded
+to the
+.BR systemd (1)
+journal. The
+.BR systemd (1)
+support requires compilation with the systemd-devel package
+installed on the system. This is the preferred option.
+
+.B saned
+can be used with
+.BR systemd (1)
+without the
+.BR systemd (1)
+integration compiled in, but then logging of debug information is not supported.
+
+The
+.BR systemd (1)
+configuration is different for the 2 options, so both are described below.
+
+.SH Systemd configuration for saned with systemd support compiled in
+For
+.BR systemd (1)
+configuration we need to add 2 configuration files in
+.IR /etc/systemd/system .
+.PP
+The first file we need to add here is called
+.I saned.socket.
+It shall have
+the following contents:
+.PP
+.RS
+.ft CR
+.nf
+[Unit]
+Description=saned incoming socket
+
+[Socket]
+ListenStream=6566
+Accept=yes
+MaxConnections=1
+
+[Install]
+WantedBy=sockets.target
+.fi
+.ft R
+.RE
+.PP
+The second file to be added is
+.I saned@.service
+with the following contents:
+.PP
+.RS
+.ft CR
+.nf
+[Unit]
+Description=Scanner Service
+Requires=saned.socket
+
+[Service]
+ExecStart=/usr/sbin/saned
+User=saned
+Group=saned
+StandardInput=null
+StandardOutput=syslog
+StandardError=syslog
+Environment=SANE_CONFIG_DIR=/etc/sane.d
+# If you need to debug your configuration uncomment the next line and
+# change it as appropriate to set the desired debug options
+# Environment=SANE_DEBUG_DLL=255 SANE_DEBUG_BJNP=5
+
+[Install]
+Also=saned.socket
+.fi
+.ft R
+.RE
+.PP
+You need to set an environment variable for
+.B SANE_CONFIG_DIR
+pointing to the directory where
+.B saned
+can find its configuration files.
+You will have to remove the # on the last line and set the variables
+for the desired debugging information if required. Multiple variables
+can be set by separating the assignments by spaces as shown in the
+example above.
+.PP
+Unlike
+.BR xinetd (8)
+and
+.BR inetd (8),
+.BR systemd (1)
+allows debugging output from backends set using
+.B SANE_DEBUG_XXX
+to be captured. See the man-page for your backend to see what options
+are supported.
+With the service unit as described above, the debugging output is
+forwarded to the system log.
+
+.SH Systemd configuration when saned is compiled without systemd support
+This configuration will also work when
+.B saned
+is compiled WITH
+.BR systemd (1)
+integration support, but it does not allow debugging information to be logged.
+.PP
+For
+.BR systemd (1)
+configuration for
+.BR saned ,
+we need to add 2 configuration files in
+.IR /etc/systemd/system .
+.PP
+The first file we need to add here is called
+.I saned.socket.
+It is identical to the version for
+.BR systemd (1)
+with the support compiled in.
+It shall have the following contents:
+.PP
+.RS
+.ft CR
+.nf
+[Unit]
+Description=saned incoming socket
+
+[Socket]
+ListenStream=6566
+Accept=yes
+MaxConnections=1
+
+[Install]
+WantedBy=sockets.target
+.fi
+.ft R
+.RE
+.PP
+The second file to be added is
+.IR saned@.service .
+This one differs from the version with
+.BR systemd (1)
+integration compiled in:
+.PP
+.RS
+.ft CR
+.nf
+[Unit]
+Description=Scanner Service
+Requires=saned.socket
+
+[Service]
+ExecStart=/usr/sbin/saned
+User=saned
+Group=saned
+StandardInput=socket
+
+Environment=SANE_CONFIG_DIR=/etc/sane.d
+
+[Install]
+Also=saned.socket
+.fi
+.ft R
+.RE
+.PP
+
+.SH FILES
+.TP
+.I /etc/hosts.equiv
+The hosts listed in this file are permitted to access all local SANE
+devices. Caveat: this file imposes serious security risks and its use
+is not recommended.
+.TP
+.I /etc/sane.d/saned.conf
+Contains a list of hosts permitted to access local SANE devices (see
+also description of
+.B SANE_CONFIG_DIR
+below).
+.TP
+.I /etc/sane.d/saned.users
+If this file contains lines of the form
+
+user:password:backend
+
+access to the listed backends is restricted. A backend may be listed multiple
+times for different user/password combinations. The server uses MD5 hashing
+if supported by the client.
+.SH ENVIRONMENT
+.TP
+.B SANE_CONFIG_DIR
+This environment variable specifies the list of directories that may
+contain the configuration file. On *NIX systems, the directories are
+separated by a colon (`:'), under OS/2, they are separated by a
+semi-colon (`;'). If this variable is not set, the configuration file
+is searched in two default directories: first, the current working
+directory (".") and then in
+.IR /etc/sane.d .
+If the value of the
+environment variable ends with the directory separator character, then
+the default directories are searched after the explicitly specified
+directories. For example, setting
+.B SANE_CONFIG_DIR
+to "/tmp/config:" would result in directories
+.IR tmp/config ,
+.IR . ,
+and
+.I "/etc/sane.d"
+being searched (in this order).
+
+.SH "SEE ALSO"
+.BR sane (7),
+.BR scanimage (1),
+.BR xscanimage (1),
+.BR xcam (1),
+.BR sane\-dll (5),
+.BR sane\-net (5),
+.BR sane\-"backendname" (5),
+.BR inetd (8),
+.BR xinetd (8),
+.BR systemd (1)
+.br
+.I http://www.penguin-breeder.org/?page=sane\-net
+.SH AUTHOR
+David Mosberger
diff --git a/upstream/fedora-40/man8/sendmail.sendmail.8 b/upstream/fedora-40/man8/sendmail.sendmail.8
new file mode 100644
index 00000000..07099588
--- /dev/null
+++ b/upstream/fedora-40/man8/sendmail.sendmail.8
@@ -0,0 +1,759 @@
+.\" Copyright (c) 1998-2003 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
+.\" Copyright (c) 1988, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: sendmail.8,v 8.61 2013-11-22 20:51:56 ca Exp $
+.\"
+.TH SENDMAIL 8 "$Date: 2013-11-22 20:51:56 $"
+.SH NAME
+sendmail
+\- an electronic mail transport agent
+.SH SYNOPSIS
+.B sendmail
+.RI [ flags "] [" "address ..." ]
+.br
+.B newaliases
+.br
+.B mailq
+.RB [ \-v ]
+.br
+.B hoststat
+.br
+.B purgestat
+.br
+.B smtpd
+.SH DESCRIPTION
+.B Sendmail
+sends a message to one or more
+.I recipients,
+routing the message over whatever networks
+are necessary.
+.B Sendmail
+does internetwork forwarding as necessary
+to deliver the message to the correct place.
+.PP
+.B Sendmail
+is not intended as a user interface routine;
+other programs provide user-friendly
+front ends;
+.B sendmail
+is used only to deliver pre-formatted messages.
+.PP
+With no flags,
+.B sendmail
+reads its standard input
+up to an end-of-file
+or a line consisting only of a single dot
+and sends a copy of the message found there
+to all of the addresses listed.
+It determines the network(s) to use
+based on the syntax and contents of the addresses.
+.PP
+Local addresses are looked up in a file
+and aliased appropriately.
+Aliasing can be prevented by preceding the address
+with a backslash.
+Beginning with 8.10, the sender is included in any alias
+expansions, e.g.,
+if `john' sends to `group',
+and `group' includes `john' in the expansion,
+then the letter will also be delivered to `john'.
+.SS Parameters
+.TP
+.B \-Ac
+Use submit.cf even if the operation mode does not indicate
+an initial mail submission.
+.TP
+.B \-Am
+Use sendmail.cf even if the operation mode indicates
+an initial mail submission.
+.TP
+.BI \-B type
+Set the body type to
+.IR type .
+Current legal values are
+7BIT
+or
+8BITMIME.
+.TP
+.B \-ba
+Go into
+ARPANET
+mode.
+All input lines must end with a CRLF,
+and all messages will be generated with a CRLF at the end.
+Also,
+the ``From:'' and ``Sender:''
+fields are examined for the name of the sender.
+.TP
+.B \-bC
+Check the configuration file.
+.TP
+.B \-bd
+Run as a daemon.
+.B Sendmail
+will fork and run in background
+listening on socket 25 for incoming
+SMTP
+connections.
+This is normally run from
+/etc/rc.
+.TP
+.B \-bD
+Same as
+.B \-bd
+except runs in foreground.
+.TP
+.B \-bh
+Print the persistent host status database.
+.TP
+.B \-bH
+Purge expired entries from the persistent host status database.
+.TP
+.B \-bi
+Initialize the alias database.
+.TP
+.B \-bm
+Deliver mail in the usual way (default).
+.TP
+.B \-bp
+Print a listing of the queue(s).
+.TP
+.B \-bP
+Print number of entries in the queue(s);
+only available with shared memory support.
+.TP
+.B \-bs
+Use the
+SMTP
+protocol as described in
+RFC821
+on standard input and output.
+This flag implies all the operations of the
+.B \-ba
+flag that are compatible with
+SMTP.
+.TP
+.B \-bt
+Run in address test mode.
+This mode reads addresses and shows the steps in parsing;
+it is used for debugging configuration tables.
+.TP
+.B \-bv
+Verify names only \- do not try to collect or deliver a message.
+Verify mode is normally used for validating
+users or mailing lists.
+.TP
+.BI \-C file
+Use alternate configuration file.
+.B Sendmail
+gives up any enhanced (set-user-ID or set-group-ID) privileges
+if an alternate configuration file is specified.
+.TP
+.BI "\-D " logfile
+Send debugging output to the indicated log file instead of stdout.
+.TP
+.BI \-d category . level...
+Set the debugging flag for
+.I category
+to
+.IR level .
+.I Category
+is either an integer or a name specifying the topic, and
+.I level
+an integer specifying the level of debugging output desired.
+Higher levels generally mean more output.
+More than one flag can be specified by separating them with commas.
+A list of numeric debugging categories can be found in the TRACEFLAGS file
+in the sendmail source distribution.
+.br
+The option
+.B \-d0.1
+prints the version of
+.B sendmail
+and the options it was compiled with.
+.br
+Most other categories are only useful with, and documented in,
+.BR sendmail 's
+source code.
+.ne 1i
+.TP
+.BI \-F fullname
+Set the full name of the sender.
+.TP
+.BI \-f name
+Sets the name of the ``from'' person
+(i.e., the envelope sender of the mail).
+This address may also be used in the From: header
+if that header is missing during initial submission.
+The envelope sender address is used as the recipient
+for delivery status notifications
+and may also appear in a Return-Path: header.
+.B \-f
+should only be used
+by ``trusted'' users
+(normally
+.IR root ", " daemon ,
+and
+.IR network )
+or if the person you are trying to become
+is the same as the person you are.
+Otherwise,
+an X-Authentication-Warning header
+will be added to the message.
+.TP
+.BI \-G
+Relay (gateway) submission of a message,
+e.g., when
+.BR rmail
+calls
+.B sendmail .
+.TP
+.BI \-h N
+Set the hop count to
+.IR N .
+The hop count is incremented every time the mail is processed.
+When it reaches a limit,
+the mail is returned with an error message,
+the victim of an aliasing loop.
+If not specified,
+``Received:'' lines in the message are counted.
+.TP
+.B \-i
+Do not strip a leading dot from lines in incoming messages,
+and do not treat a dot on a line by itself
+as the end of an incoming message.
+This should be set if you are reading data from a file.
+.TP
+.BI "\-L " tag
+Set the identifier used in syslog messages to the supplied
+.IR tag .
+.TP
+.BI "\-N " dsn
+Set delivery status notification conditions to
+.IR dsn ,
+which can be
+`never'
+for no notifications
+or a comma separated list of the values
+`failure'
+to be notified if delivery failed,
+`delay'
+to be notified if delivery is delayed, and
+`success'
+to be notified when the message is successfully delivered.
+.TP
+.B \-n
+Don't do aliasing.
+.TP
+\fB\-O\fP \fIoption\fR=\fIvalue\fR
+Set option
+.I option
+to the specified
+.IR value .
+This form uses long names. See below for more details.
+.TP
+.BI \-o "x value"
+Set option
+.I x
+to the specified
+.IR value .
+This form uses single character names only.
+The short names are not described in this manual page;
+see the
+.I "Sendmail Installation and Operation Guide"
+for details.
+.TP
+.BI \-p protocol
+Set the name of the protocol used to receive the message.
+This can be a simple protocol name such as ``UUCP''
+or a protocol and hostname, such as ``UUCP:ucbvax''.
+.TP
+\fB\-q\fR[\fItime\fR]
+Process saved messages in the queue at given intervals.
+If
+.I time
+is omitted, process the queue once.
+.I Time
+is given as a tagged number,
+with
+`s'
+being seconds,
+`m'
+being minutes (default),
+`h'
+being hours,
+`d'
+being days,
+and
+`w'
+being weeks.
+For example,
+`\-q1h30m'
+or
+`\-q90m'
+would both set the timeout to one hour thirty minutes.
+By default,
+.B sendmail
+will run in the background.
+This option can be used safely with
+.BR \-bd .
+.TP
+\fB\-qp\fR[\fItime\fR]
+Similar to \fB\-q\fItime\fR,
+except that instead of periodically forking a child to process the queue,
+sendmail forks a single persistent child for each queue
+that alternates between processing the queue and sleeping.
+The sleep time is given as the argument; it defaults to 1 second.
+The process will always sleep at least 5 seconds if the queue was
+empty in the previous queue run.
+.TP
+\fB\-q\fRf
+Process saved messages in the queue once and do not fork(),
+but run in the foreground.
+.TP
+\fB\-q\fRG\fIname\fR
+Process jobs in queue group called
+.I name
+only.
+.TP
+\fB\-q\fR[\fI!\fR]I\fIsubstr\fR
+Limit processed jobs to those containing
+.I substr
+as a substring of the queue id or not when
+.I !
+is specified.
+.TP
+\fB\-q\fR[\fI!\fR]Q\fIsubstr\fR
+Limit processed jobs to quarantined jobs containing
+.I substr
+as a substring of the quarantine reason or not when
+.I !
+is specified.
+.TP
+\fB\-q\fR[\fI!\fR]R\fIsubstr\fR
+Limit processed jobs to those containing
+.I substr
+as a substring of one of the recipients or not when
+.I !
+is specified.
+.TP
+\fB\-q\fR[\fI!\fR]S\fIsubstr\fR
+Limit processed jobs to those containing
+.I substr
+as a substring of the sender or not when
+.I !
+is specified.
+.TP
+\fB\-Q\fR[reason]
+Quarantine a normal queue items with the given reason or
+unquarantine quarantined queue items if no reason is given.
+This should only be used with some sort of item matching using
+as described above.
+.TP
+.BI "\-R " return
+Set the amount of the message to be returned
+if the message bounces.
+The
+.I return
+parameter can be
+`full'
+to return the entire message or
+`hdrs'
+to return only the headers.
+In the latter case also local bounces return only the headers.
+.TP
+.BI \-r name
+An alternate and obsolete form of the
+.B \-f
+flag.
+.TP
+.B \-t
+Read message for recipients.
+To:, Cc:, and Bcc: lines will be scanned for recipient addresses.
+The Bcc: line will be deleted before transmission.
+.TP
+.B \-U
+If a mail submission via the command line requires the use of the
+.B SMTPUTF8
+argument for the
+.B MAIL
+command,
+e.g., because a header uses UTF-8 encoding,
+but the addresses on the command line are all ASCII,
+then this option must be used.
+Only available if
+.B EAI
+support is enabled,
+and the
+.B SMTPUTF8
+option is set.
+.TP
+.BI "\-V " envid
+Set the original envelope id.
+This is propagated across SMTP to servers that support DSNs
+and is returned in DSN-compliant error messages.
+.TP
+.B \-v
+Go into verbose mode.
+Alias expansions will be announced, etc.
+.TP
+.BI "\-X " logfile
+Log all traffic in and out of mailers in the indicated log file.
+This should only be used as a last resort
+for debugging mailer bugs.
+It will log a lot of data very quickly.
+.TP
+.B \-\-
+Stop processing command flags and use the rest of the arguments as
+addresses.
+.SS Options
+There are also a number of processing options that may be set.
+Normally these will only be used by a system administrator.
+Options may be set either on the command line
+using the
+.B \-o
+flag (for short names), the
+.B \-O
+flag (for long names),
+or in the configuration file.
+This is a partial list limited to those options that are likely to be useful
+on the command line
+and only shows the long names;
+for a complete list (and details), consult the
+.IR "Sendmail Installation and Operation Guide" .
+The options are:
+.TP
+.RI AliasFile= file
+Use alternate alias file.
+.TP
+HoldExpensive
+On mailers that are considered ``expensive'' to connect to,
+don't initiate immediate connection.
+This requires queueing.
+.TP
+.RI CheckpointInterval= N
+Checkpoint the queue file after every
+.I N
+successful deliveries (default 10).
+This avoids excessive duplicate deliveries
+when sending to long mailing lists
+interrupted by system crashes.
+.ne 1i
+.TP
+.RI DeliveryMode= x
+Set the delivery mode to
+.IR x .
+Delivery modes are
+`i'
+for interactive (synchronous) delivery,
+`b'
+for background (asynchronous) delivery,
+`q'
+for queue only \- i.e.,
+actual delivery is done the next time the queue is run, and
+`d'
+for deferred \- the same as
+`q'
+except that database lookups for maps which have set the \-D option
+(default for the host map) are avoided.
+.TP
+.RI ErrorMode= x
+Set error processing to mode
+.IR x .
+Valid modes are
+`m'
+to mail back the error message,
+`w'
+to ``write''
+back the error message
+(or mail it back if the sender is not logged in),
+`p'
+to print the errors on the terminal
+(default),
+`q'
+to throw away error messages
+(only exit status is returned),
+and
+`e'
+to do special processing for the BerkNet.
+If the text of the message is not mailed back
+by modes
+`m'
+or
+`w'
+and if the sender is local to this machine,
+a copy of the message is appended to the file
+.I dead.letter
+in the sender's home directory.
+.TP
+SaveFromLine
+Save
+UNIX-style
+From lines at the front of messages.
+.TP
+.RI MaxHopCount= N
+The maximum number of times a message is allowed to ``hop''
+before we decide it is in a loop.
+.TP
+IgnoreDots
+Do not take dots on a line by themselves
+as a message terminator.
+.TP
+SendMimeErrors
+Send error messages in MIME format.
+If not set, the DSN (Delivery Status Notification) SMTP extension
+is disabled.
+.TP
+.RI ConnectionCacheTimeout= timeout
+Set connection cache timeout.
+.TP
+.RI ConnectionCacheSize= N
+Set connection cache size.
+.TP
+.RI LogLevel= n
+The log level.
+.TP
+.RI MeToo= False
+Don't send to ``me'' (the sender) if I am in an alias expansion.
+.TP
+CheckAliases
+Validate the right hand side of aliases during a
+newaliases(1)
+command.
+.TP
+OldStyleHeaders
+If set, this message may have
+old style headers.
+If not set,
+this message is guaranteed to have new style headers
+(i.e., commas instead of spaces between addresses).
+If set, an adaptive algorithm is used that will correctly
+determine the header format in most cases.
+.TP
+.RI QueueDirectory= queuedir
+Select the directory in which to queue messages.
+.TP
+.RI StatusFile= file
+Save statistics in the named file.
+.TP
+.RI Timeout.queuereturn= time
+Set the timeout on undelivered messages in the queue to the specified time.
+After delivery has failed
+(e.g., because of a host being down)
+for this amount of time,
+failed messages will be returned to the sender.
+The default is five days.
+.TP
+.RI UserDatabaseSpec= userdatabase
+If set, a user database is consulted to get forwarding information.
+You can consider this an adjunct to the aliasing mechanism,
+except that the database is intended to be distributed;
+aliases are local to a particular host.
+This may not be available if your sendmail does not have the
+USERDB
+option compiled in.
+.TP
+ForkEachJob
+Fork each job during queue runs.
+May be convenient on memory-poor machines.
+.TP
+SevenBitInput
+Strip incoming messages to seven bits.
+.TP
+.RI EightBitMode= mode
+Set the handling of eight bit input to seven bit destinations to
+.IR mode :
+m
+(mimefy) will convert to seven-bit MIME format,
+p
+(pass) will pass it as eight bits (but violates protocols),
+and
+s
+(strict) will bounce the message.
+.TP
+.RI MinQueueAge= timeout
+Sets how long a job must ferment in the queue between attempts to send it.
+.TP
+.RI DefaultCharSet= charset
+Sets the default character set used to label 8-bit data
+that is not otherwise labelled.
+.TP
+.RI NoRecipientAction= action
+Set the behaviour when there are no recipient headers (To:, Cc: or
+Bcc:) in the message to
+.IR action :
+none
+leaves the message unchanged,
+add-to
+adds a To: header with the envelope recipients,
+add-apparently-to
+adds an Apparently-To: header with the envelope recipients,
+add-bcc
+adds an empty Bcc: header, and
+add-to-undisclosed
+adds a header reading
+`To: undisclosed-recipients:;'.
+.TP
+.RI MaxDaemonChildren= N
+Sets the maximum number of children that an incoming SMTP daemon
+will allow to spawn at any time to
+.IR N .
+.TP
+.RI ConnectionRateThrottle= N
+Sets the maximum number of connections per second to the SMTP port to
+.IR N .
+.PP
+In aliases,
+the first character of a name may be
+a vertical bar to cause interpretation of
+the rest of the name as a command
+to pipe the mail to.
+It may be necessary to quote the name to keep
+.B sendmail
+from suppressing the blanks from between arguments.
+For example, a common alias is:
+.IP
+msgs: "|/usr/bin/msgs -s"
+.PP
+Aliases may also have the syntax
+.RI ``:include: filename ''
+to ask
+.B sendmail
+to read the named file for a list of recipients.
+For example, an alias such as:
+.IP
+poets: ":include:/usr/local/lib/poets.list"
+.PP
+would read
+.I /usr/local/lib/poets.list
+for the list of addresses making up the group.
+.PP
+.B Sendmail
+returns an exit status describing what it did.
+The codes are defined in
+.RI < sysexits.h >:
+.TP
+EX_OK
+Successful completion on all addresses.
+.TP
+EX_NOUSER
+User name not recognized.
+.TP
+EX_UNAVAILABLE
+Catchall meaning necessary resources
+were not available.
+.TP
+EX_SYNTAX
+Syntax error in address.
+.TP
+EX_SOFTWARE
+Internal software error,
+including bad arguments.
+.TP
+EX_OSERR
+Temporary operating system error,
+such as
+``cannot fork''.
+.TP
+EX_NOHOST
+Host name not recognized.
+.TP
+EX_TEMPFAIL
+Message could not be sent immediately,
+but was queued.
+.PP
+If invoked as
+.BR newaliases ,
+.B sendmail
+will rebuild the alias database. If invoked as
+.BR mailq ,
+.B sendmail
+will print the contents of the mail queue.
+If invoked as
+.BR hoststat ,
+.B sendmail
+will print the persistent host status database.
+If invoked as
+.BR purgestat ,
+.B sendmail
+will purge expired entries from the persistent host status database.
+If invoked as
+.BR smtpd ,
+.B sendmail
+will act as a daemon, as if the
+.B \-bd
+option were specified.
+.SH NOTES
+.B sendmail
+often gets blamed for many problems
+that are actually the result of other problems,
+such as overly permissive modes on directories.
+For this reason,
+.B sendmail
+checks the modes on system directories and files
+to determine if they can be trusted.
+Although these checks can be turned off
+and your system security reduced by setting the
+.BR DontBlameSendmail
+option,
+the permission problems should be fixed.
+For more information, see the
+.I "Sendmail Installation and Operation Guide"
+.SH FILES
+Except for the file
+.I /etc/mail/sendmail.cf
+itself the following pathnames are all specified in
+.IR /etc/mail/sendmail.cf .
+Thus,
+these values are only approximations.
+.PP
+.TP
+ /etc/aliases
+raw data for alias names
+.TP
+ /etc/aliases.db
+ /etc/aliases.cdb
+data base of alias names
+.TP
+ /etc/mail/sendmail.cf
+configuration file
+.TP
+ /etc/mail/helpfile
+help file
+.TP
+ /var/log/mail/statistics
+collected statistics
+.TP
+ /var/spool/mqueue/*
+temp files
+.SH SEE ALSO
+mail(1),
+rmail(1),
+syslog(3),
+aliases(5),
+mailaddr(7),
+.PP
+DARPA
+Internet Request For Comments
+.IR RFC819 ,
+.IR RFC821 ,
+.IR RFC822 .
+.IR "Sendmail Installation and Operation Guide" ,
+No. 8, SMM.
+.PP
+http://www.sendmail.org/
+.PP
+US Patent Numbers 6865671, 6986037.
+.SH HISTORY
+The
+.B sendmail
+command appeared in
+4.2BSD.
diff --git a/upstream/fedora-40/man8/setfont.8 b/upstream/fedora-40/man8/setfont.8
new file mode 100644
index 00000000..330adbd8
--- /dev/null
+++ b/upstream/fedora-40/man8/setfont.8
@@ -0,0 +1,277 @@
+.TH SETFONT 8 "11 Feb 2001" "kbd"
+.SH NAME
+setfont \- load EGA/VGA console screen font
+.SH SYNOPSIS
+.B setfont
+.RB [ -O
+.IR font+umap.orig ]
+.RB [ -o
+.IR font.orig ]
+.RB [ -om
+.IR cmap.orig ]
+.RB [ -ou
+.IR umap.orig ]
+.RB [ -\c
+.IR N ]
+.RI [ "font.new ...\&" ]
+.RB [ -m
+.IR cmap ]
+.RB [ -u
+.IR umap ]
+.RB [ -C
+.IR console ]
+.RB [ -h\c
+.IR H ]
+.RB [ -f ]
+.RB [ -v ]
+.RB [ -V ]
+.IX "setfont command" "" "\fLsetfont\fR command"
+.SH DESCRIPTION
+The
+.B setfont
+command reads a font from the file
+.I font.new
+and loads it into the EGA/VGA character generator,
+and optionally outputs the previous font.
+It can also load various mapping tables
+and output the previous versions.
+.LP
+If no args are given (or only the option
+.RI \- N
+for some number
+.IR N ),
+then a default
+.RI (8x N )
+font is loaded (see below).
+One may give several small fonts, all containing
+a Unicode table, and
+.B setfont
+will combine them and load the union.
+Typical use:
+.TP
+.B setfont
+Load a default font.
+.TP
+.B "setfont drdos8x16"
+Load a given font (here the 448-glyph drdos font).
+.TP
+.B "setfont cybercafe -u cybercafe"
+Load a given font that does not have a Unicode map
+and provide one explicitly.
+.TP
+.B "setfont LatArCyrHeb-19 -m 8859-2"
+Load a given font (here a 512-glyph font combining several
+character sets) and indicate that one's local character set
+is ISO 8859-2.
+.LP
+Note: if a font has more than 256 glyphs, only 8 out of 16 colors
+can be used simultaneously. It can make console perception worse
+(loss of intensity and even some colors).
+
+.SH "FONT FORMATS"
+The standard Linux font format is the PSF font.
+It has a header describing font properties like character size,
+followed by the glyph bitmaps, optionally followed by a Unicode mapping
+table giving the Unicode value for each glyph.
+Several other (obsolete) font formats are recognized.
+If the input file has code page format (probably with suffix .cp),
+containing three fonts with sizes e.g. 8x8, 8x14 and 8x16, then one of
+the options \-8 or \-14 or \-16 must be used to select one.
+Raw font files are binary files of size
+.RI 256* N
+bytes, containing bit images for each of 256 characters,
+one byte per scan line, and
+.I N
+bytes per character (0 <
+.I N
+<= 32).
+Most fonts have a width of 8 bits, but with the framebuffer device (fb)
+other widths can be used.
+
+.SH "FONT HEIGHT"
+The program
+.B setfont
+has no built-in knowledge of VGA video modes, but just asks
+the kernel to load the character ROM of the video card with
+certain bitmaps. However, since Linux 1.3.1 the kernel knows
+enough about EGA/VGA video modes to select a different line
+distance. The default character height will be the number
+.I N
+inferred from the font or specified by option. However, the
+user can specify a different character height
+.I H
+using the
+.I "\-h"
+option.
+
+.SH "CONSOLE MAPS"
+Several mappings are involved in the path from user program
+output to console display. If the console is in utf8 mode (see
+.BR unicode_start (1))
+then the kernel expects that user program output is coded as UTF-8 (see
+.BR utf-8 (7)),
+and converts that to Unicode (ucs2).
+Otherwise, a translation table is used from the 8-bit program output
+to 16-bit Unicode values. Such a translation table is called a
+.IR "Unicode console map" .
+There are four of them: three built into the kernel, the fourth
+settable using the
+.I "\-m"
+option of
+.BR setfont .
+An escape sequence chooses between these four tables; after loading a
+.IR cmap ,
+.B setfont
+will output the escape sequence Esc ( K that makes it the active translation.
+.LP
+Suitable arguments for the
+.I "\-m"
+option are for example
+.IR 8859-1 ,
+.IR 8859-2 ", ...,"
+.IR 8859-15 ,
+.IR cp437 ", ...,"
+.IR cp1250 .
+.LP
+Given the Unicode value of the symbol to be displayed, the kernel
+finds the right glyph in the font using the Unicode mapping info
+of the font and displays it.
+.LP
+Old fonts do not have Unicode mapping info, and in order to handle
+them there are direct-to-font maps (also loaded using
+.IR "\-m" )
+that give a correspondence between user bytes and font positions.
+The most common correspondence is the one given in the file
+.I trivial
+(where user byte values are used directly as font positions).
+Other correspondences are sometimes preferable since the
+PC video hardware expects line drawing characters in certain
+font positions.
+.LP
+Giving a
+.I "\-m none"
+argument inhibits the loading and activation of a mapping table.
+The previous console map can be saved to a file using the
+.I "\-om file"
+option.
+These options of setfont render
+.BR mapscrn (8)
+obsolete. (However, it may be useful to read that man page.)
+
+.SH "UNICODE FONT MAPS"
+The correspondence between the glyphs in the font and
+Unicode values is described by a Unicode mapping table.
+Many fonts have a Unicode mapping table included in
+the font file, and an explicit table can be indicated using
+the
+.I "\-u"
+option. The program
+.B setfont
+will load such a Unicode mapping table, unless a
+.I "\-u none"
+argument is given. The previous Unicode mapping table
+will be saved as part of the saved font file when the \-O
+option is used. It can be saved to a separate file using the
+.I "\-ou file"
+option.
+These options of setfont render
+.BR loadunimap (8)
+obsolete.
+.LP
+The Unicode mapping table should assign some glyph to
+the `missing character' value U+fffd, otherwise missing
+characters are not translated, giving a usually very confusing
+result.
+
+Usually no mapping table is needed, and a Unicode mapping table
+is already contained in the font (sometimes this is indicated
+by the .psfu extension), so that most users need not worry
+about the precise meaning and functioning of these mapping tables.
+
+One may add a Unicode mapping table to a psf font using
+.BR psfaddtable (1).
+
+.SH OPTIONS
+.TP
+.BI "\-h " H
+Override font height.
+.TP
+.B \-d
+Doubles the size of the font, by replicating all of its pixels
+vertically and horizontally. This is suitable for high pixel density
+(e.g. "4k") displays on which the standard fonts are too small to be
+easily legible. Due to kernel limitations, this is suitable only for
+16x16 or smaller fonts.
+.TP
+.BI "\-m " file
+Load console map or Unicode console map from
+.IR file .
+.TP
+.BI "\-o " file
+Save previous font in
+.IR file .
+.TP
+.BI "\-O " file
+Save previous font and Unicode map in
+.IR file .
+.TP
+.BI "\-om " file
+Store console map in
+.IR file .
+.TP
+.BI "\-ou " file
+Save previous Unicode map in
+.IR file .
+.TP
+.BI "\-u " file
+Load Unicode table describing the font from
+.IR file .
+.TP
+.BI "\-C " console
+Set the font for the indicated console. (May require root permissions.)
+.TP
+.B \-f
+Force-load unicode map: Setfont`issues the system call to load the unicode
+map even if the specified map is empty. This may be useful in unusual cases.
+.TP
+.B \-v
+Be verbose.
+.TP
+.B \-V
+Print version and exit.
+
+.SH NOTE
+PC video hardware allows one to use the "intensity" bit
+either to indicate brightness, or to address 512 (instead of 256)
+glyphs in the font. So, if the font has more than 256 glyphs,
+the console will be reduced to 8 (instead of 16) colors.
+
+.SH FILES
+.TP
+.I /usr/lib/kbd/consolefonts
+The default font directory.
+.LP
+.TP
+.I /usr/lib/kbd/unimaps
+The default directory for Unicode maps.
+.LP
+.TP
+.I /usr/lib/kbd/consoletrans
+The default directory for screen mappings.
+.LP
+The default font is a file
+.I default
+(or
+.IR default8x N
+if the \-N option was given for some number N)
+perhaps with suitable extension (like .psf).
+.SH "SEE ALSO"
+.BR psfaddtable (1),
+.BR unicode_start (1),
+.BR loadunimap (8),
+.BR utf-8 (7),
+.BR mapscrn (8)
+.\" .SH "AUTHORS"
+.\" Eugene G. Crosser (crosser@pccross.msk.su)
+.\" .br
+.\" Andries E. Brouwer (aeb@cwi.nl)
diff --git a/upstream/fedora-40/man8/setkeycodes.8 b/upstream/fedora-40/man8/setkeycodes.8
new file mode 100644
index 00000000..c501e38e
--- /dev/null
+++ b/upstream/fedora-40/man8/setkeycodes.8
@@ -0,0 +1,79 @@
+.\" @(#)man/man8/setkeycodes.8 1.0 Nov 8 22:30:48 MET 1994
+.TH SETKEYCODES 8 "8 Nov 1994" "kbd"
+.SH NAME
+setkeycodes \- load kernel scancode-to-keycode mapping table entries
+.SH SYNOPSIS
+.B setkeycodes
+.I "scancode keycode ..."
+.SH DESCRIPTION
+The
+.I setkeycodes
+command reads its arguments two at a time, each pair of arguments
+consisting of a scancode (given in hexadecimal) and a keycode (given
+in decimal). For each such pair, it tells the kernel keyboard driver
+to map the specified scancode to the specified keycode.
+
+This command is useful only for people with slightly unusual keyboards,
+that have a few keys which produce scancodes that the kernel does not
+recognize.
+
+.SH THEORY
+The usual PC keyboard produces a series of scancodes for each
+key press and key release. (Scancodes are shown by
+\fBshowkey \-s\fP, see
+.BR showkey (1)
+) The kernel parses this stream of scancodes, and converts it to
+a stream of keycodes (key press/release events).
+(Keycodes are shown by \fBshowkey\fP.)
+Apart from a few scancodes with special meaning, and apart from
+the sequence produced by the Pause key, and apart from shiftstate
+related scancodes, and apart from the key up/down bit,
+the stream of scancodes consists of unescaped
+scancodes xx (7 bits) and escaped scancodes e0 xx (8+7 bits).
+To these scancodes or scancode pairs, a corresponding keycode can be
+assigned (in the range 1-127).
+For example, if you have a Macro key that produces e0 6f according
+to
+.BR showkey (1),
+the command
+.RS
+.B "setkeycodes e06f 112"
+.RE
+will assign the keycode 112 to it, and then
+.BR loadkeys (1)
+can be used to define the function of this key.
+
+USB keyboards have standardized keycodes and
+.B setkeycodes
+doesn't affect them at all.
+.LP
+Some older kernels might hardwire a low scancode range to the
+equivalent keycodes; setkeycodes will fail when you try to remap
+these.
+
+.SH "2.6 KERNELS"
+In 2.6 kernels key codes lie in the range 1-255, instead of 1-127.
+(It might be best to confine oneself to the range 1-239.)
+.LP
+In 2.6 kernels raw mode, or scancode mode, is not very raw at all.
+The code returned by showkey \-s will change after use of setkeycodes.
+A kernel bug. See also
+.BR showkey (1).
+.SH OPTIONS
+None.
+.SH BUGS
+The keycodes of X have nothing to do with those of Linux.
+Unusual keys can be made visible under Linux, but not under X.
+
+.B setkeycodes
+affects only the "first" input device
+that has modifiable scancode-to-keycode mapping.
+If there is more than one such device,
+.B setkeycodes
+cannot change the mapping of other devices than the "first" one.
+
+.SH "SEE ALSO"
+.BR dumpkeys (1),
+.BR loadkeys (1),
+.BR showkey (1),
+.BR getkeycodes (8)
diff --git a/upstream/fedora-40/man8/setpci.8 b/upstream/fedora-40/man8/setpci.8
new file mode 100644
index 00000000..d32e779c
--- /dev/null
+++ b/upstream/fedora-40/man8/setpci.8
@@ -0,0 +1,191 @@
+.TH setpci 8 "25 February 2024" "pciutils-3.11.1" "The PCI Utilities"
+.SH NAME
+setpci \- configure PCI devices
+.SH SYNOPSIS
+.B setpci
+.RB [ options ]
+.B devices
+.BR operations ...
+
+.SH DESCRIPTION
+.PP
+.B setpci
+is a utility for querying and configuring PCI devices.
+
+All numbers are entered in hexadecimal notation.
+
+Root privileges are necessary for almost all operations, excluding reads
+of the standard header of the configuration space on some operating systems.
+Please see
+.BR lspci(8)
+for details on access rights.
+
+.SH OPTIONS
+
+.SS General options
+.TP
+.B -v
+Tells
+.I setpci
+to be verbose and display detailed information about configuration space accesses.
+.TP
+.B -f
+Tells
+.I setpci
+not to complain when there's nothing to do (when no devices are selected).
+This option is intended for use in widely-distributed configuration scripts
+where it's uncertain whether the device in question is present in the machine
+or not.
+.TP
+.B -D
+`Demo mode' -- don't write anything to the configuration registers.
+It's useful to try
+.B setpci -vD
+to verify that your complex sequence of
+.B setpci
+operations does what you think it should do.
+.TP
+.B -r
+Avoids bus scan if each operation selects a specific device (uses the
+.B -s
+selector with specific domain, bus, slot, and function). This is faster,
+but if the device does not exist, it fails instead of matching an empty
+set of devices.
+.TP
+.B --version
+Show
+.I setpci
+version. This option should be used stand-alone.
+.TP
+.B --help
+Show detailed help on available options. This option should be used stand-alone.
+.TP
+.B --dumpregs
+Show a list of all known PCI registers and capabilities. This option should be
+used stand-alone.
+
+.SS PCI access options
+.PP
+The PCI utilities use the PCI library to talk to PCI devices (see
+\fBpcilib\fP(7) for details). You can use the following options to
+influence its behavior:
+.TP
+.B -A <method>
+The library supports a variety of methods to access the PCI hardware.
+By default, it uses the first access method available, but you can use
+this option to override this decision. See \fB-A help\fP for a list of
+available methods and their descriptions.
+.TP
+.B -O <param>=<value>
+The behavior of the library is controlled by several named parameters.
+This option allows one to set the value of any of the parameters. Use \fB-O help\fP
+for a list of known parameters and their default values.
+.TP
+.B -H1
+Use direct hardware access via Intel configuration mechanism 1.
+(This is a shorthand for \fB-A intel-conf1\fP.)
+.TP
+.B -H2
+Use direct hardware access via Intel configuration mechanism 2.
+(This is a shorthand for \fB-A intel-conf2\fP.)
+.TP
+.B -G
+Increase debug level of the library.
+
+.SH DEVICE SELECTION
+.PP
+Before each sequence of operations you need to select which devices you wish that
+operation to affect.
+.TP
+.B -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]
+Consider only devices in the specified domain (in case your machine has several host bridges,
+they can either share a common bus number space or each of them can address a PCI domain
+of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7).
+Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are
+hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
+on any bus, "0.3" selects third function of device 0 on all buses and ".4" matches only
+the fourth function of each device.
+.TP
+.B -d [<vendor>]:[<device>][:<class>[:<prog-if>]]
+Select devices with specified vendor, device, class ID, and programming interface.
+The ID's are given in hexadecimal and may be omitted or given as "*", both meaning
+"any value". The class ID can contain "x" characters which stand for "any digit".
+.PP
+When
+.B -s
+and
+.B -d
+are combined, only devices that match both criteria are selected. When multiple
+options of the same kind are specified, the rightmost one overrides the others.
+
+.SH OPERATIONS
+.PP
+There are two kinds of operations: reads and writes. To read a register, just specify
+its name. Writes have the form
+.IR name = value , value ...\&
+where each
+.I value
+is either a hexadecimal number or an expression of type
+.IR data : mask
+where both
+.I data
+and
+.I mask
+are hexadecimal numbers. In the latter case, only the bits corresponding to binary
+ones in the \fImask\fP are changed (technically, this is a read-modify-write operation).
+
+.PP
+There are several ways to identify a register:
+.IP \(bu
+Tell its address in hexadecimal.
+.IP \(bu
+Spell its name. Setpci knows the names of all registers in the standard configuration
+headers. Use `\fBsetpci --dumpregs\fP' to get the complete list.
+See PCI bus specifications for the precise meaning of these registers or consult
+\fBheader.h\fP or \fB/usr/include/pci/pci.h\fP for a brief sketch.
+.IP \(bu
+If the register is a part of a PCI capability, you can specify the name of the
+capability to get the address of its first register. See the names starting with
+`CAP_' or `ECAP_' in the \fB--dumpregs\fP output.
+.IP \(bu
+If the name of the capability is not known to \fBsetpci\fP, you can refer to it
+by its number in the form CAP\fBid\fP or ECAP\fBid\fP, where \fBid\fP is the numeric
+identifier of the capability in hexadecimal.
+.IP \(bu
+Each of the previous formats can be followed by \fB+offset\fP to add an offset
+(a hex number) to the address. This feature can be useful for addressing of registers
+living within a capability, or to modify parts of standard registers.
+.IP \(bu
+To choose how many bytes (1, 2, or 4) should be transferred, you should append a width
+specifier \fB.B\fP, \fB.W\fP, or \fB.L\fP. The width can be omitted if you are
+referring to a register by its name and the width of the register is well known.
+.IP \(bu
+Finally, if a capability exists multiple times you can choose which one to target using
+\fB@number\fP. Indexing starts at 0.
+
+.PP
+All names of registers and width specifiers are case-insensitive.
+
+.SH
+EXAMPLES
+
+.IP COMMAND
+asks for the word-sized command register.
+.IP 4.w
+is a numeric address of the same register.
+.IP COMMAND.l
+asks for a 32-bit word starting at the location of the command register,
+i.e., the command and status registers together.
+.IP VENDOR_ID+1.b
+specifies the upper byte of the vendor ID register (remember, PCI is little-endian).
+.IP CAP_PM+2.w
+corresponds to the second word of the power management capability.
+.IP ECAP108.l
+asks for the first 32-bit word of the extended capability with ID 0x108.
+
+.SH SEE ALSO
+.BR lspci (8),
+.BR pcilib (7)
+
+.SH AUTHOR
+The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.
diff --git a/upstream/fedora-40/man8/setquota.8 b/upstream/fedora-40/man8/setquota.8
new file mode 100644
index 00000000..b59cc2e4
--- /dev/null
+++ b/upstream/fedora-40/man8/setquota.8
@@ -0,0 +1,234 @@
+.TH SETQUOTA 8
+.SH NAME
+setquota \- set disk quotas
+.SH SYNOPSIS
+.B setquota
+[
+.B \-rm
+]
+[
+.B \-u
+|
+.B \-g
+|
+.B \-P
+]
+[
+.B \-F
+.I quotaformat
+]
+.I name
+.I block-softlimit
+.I block-hardlimit
+.I inode-softlimit
+.I inode-hardlimit
+.B \-a
+|
+.I filesystem...
+.LP
+.B setquota
+[
+.B \-rm
+]
+[
+.B \-u
+|
+.B \-g
+|
+.B \-P
+]
+[
+.B \-F
+.I quotaformat
+]
+[
+.B \-p
+.I protoname
+]
+.I name
+.B \-a
+|
+.I filesystem...
+.LP
+.B setquota
+.B \-b
+[
+.B \-rm
+]
+[
+.B \-u
+|
+.B \-g
+|
+.B \-P
+]
+[
+.B \-F
+.I quotaformat
+]
+.B \-a
+|
+.I filesystem...
+.LP
+.B setquota
+.B \-t
+[
+.B \-u
+|
+.B \-g
+|
+.B \-P
+]
+[
+.B \-F
+.I quotaformat
+]
+.I block-grace
+.I inode-grace
+.B \-a
+|
+.I filesystem...
+.LP
+.B setquota
+.B \-T
+[
+.B \-u
+|
+.B \-g
+|
+.B \-P
+]
+[
+.B \-F
+.I quotaformat
+]
+.I name
+.I block-grace
+.I inode-grace
+.B \-a
+|
+.I filesystem...
+.SH DESCRIPTION
+.IX "setquota command" "" "\fLsetquota\fP \(em set disk quotas"
+.IX set "disk quotas \(em \fLsetquota\fP"
+.IX "disk quotas" "setquota command" "" "\fLsetquota\fP \(em set disk quotas"
+.IX "disk quotas" "setquota command" "" "\fLsetquota\fP \(em set disk quotas"
+.IX "quotas" "setquota command" "" "\fLsetquota\fP \(em set disk quotas"
+.IX "filesystem" "setquota command" "" "\fLsetquota\fP \(em set disk quotas"
+.B setquota
+is a command line quota editor.
+The filesystem, user/group/project name and new quotas for this
+filesystem can be specified on the command line. Note that if a number is
+given in the place of a user/group/project name it is treated as an UID/GID/project ID.
+.TP
+.B -r, --remote
+Edit also remote quota use rpc.rquotad on remote server to set quota. This
+option is available only if quota tools were compiled with enabled support
+for setting quotas over RPC.
+.TP
+.B -m, --no-mixed-pathnames
+Currently, pathnames of NFSv4 mountpoints are sent without leading slash in the path.
+.BR rpc.rquotad
+uses this to recognize NFSv4 mounts and properly prepend pseudoroot of NFS filesystem
+to the path. If you specify this option,
+.BR setquota
+will always send paths with a leading slash. This can be useful for legacy reasons but
+be aware that quota over RPC will stop working if you are using new
+.BR rpc.rquotad .
+.TP
+.B -F, --format=\f2quotaformat\f1
+Perform setting for specified format (ie. don't perform format autodetection).
+Possible format names are:
+.B vfsold
+Original quota format with 16-bit UIDs / GIDs,
+.B vfsv0
+Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits,
+.B vfsv1
+Quota format with 64-bit quota limits and usage,
+.B rpc
+(quota over NFS),
+.B xfs
+(quota on XFS filesystem)
+.TP
+.B -u, --user
+Set user quotas for named user. This is the default.
+.TP
+.B -g, --group
+Set group quotas for named group.
+.TP
+.B -P, --project
+Set project quotas for named project.
+.TP
+.B -p, --prototype=\f2protoname\f1
+Use quota settings of user, group or project
+.I protoname
+to set the quota for the named user, group or project.
+.TP
+.B --always-resolve
+Always try to translate user / group / project name to
+uid / gid / project ID even if the name is composed of
+digits only.
+.TP
+.B -b, --batch
+Read information to set from stdin (input format is
+.I name block-softlimit block-hardlimit inode-softlimit inode-hardlimit
+). Empty lines and lines starting with # are ignored.
+.TP
+.B -c, --continue-batch
+If parsing of an input line in batch mode fails, continue with processing the next line.
+.TP
+.B -t, --edit-period
+Set grace times for users/groups/projects. Times
+.B block-grace
+and
+.B inode-grace
+are specified in seconds.
+.TP
+.B -T, --edit-times
+Alter times for individual user/group/project when softlimit is enforced. Times
+.B block-grace
+and
+.B inode-grace
+are specified in seconds or can be string 'unset'.
+.TP
+.B -a, --all
+Go through all filesystems with quota in
+.B /etc/mtab
+and perform setting.
+.PP
+.I block-softlimit
+and
+.I block-hardlimit
+are interpreted as multiples of kibibyte (1024 bytes) blocks by default.
+Symbols K, M, G, and T can be appended to numeric value to express kibibytes,
+mebibytes, gibibytes, and tebibytes.
+.PP
+.I inode-softlimit
+and
+.I inode-hardlimit
+are interpreted literally. Symbols k, m, g, and t can be appended to numeric
+value to express multiples of 10^3, 10^6, 10^9, and 10^12 inodes.
+.PP
+To disable a quota, set the corresponding parameter to 0. To change quotas
+for several filesystems, invoke once for each filesystem.
+.PP
+Only the super-user may edit quotas.
+.SH FILES
+.PD 0
+.TP 20
+.B aquota.user or aquota.group
+quota file at the filesystem root (version 2 quota, non-XFS filesystems)
+.TP
+.B quota.user or quota.group
+quota file at the filesystem root (version 1 quota, non-XFS filesystems)
+.TP
+.B /etc/mtab
+mounted filesystem table
+.PD
+.SH SEE ALSO
+.BR edquota (8),
+.BR quota (1),
+.BR quotactl (2),
+.BR quotacheck (8),
+.BR quotaon (8),
+.BR repquota (8)
diff --git a/upstream/fedora-40/man8/setvtrgb.8 b/upstream/fedora-40/man8/setvtrgb.8
new file mode 100644
index 00000000..49286222
--- /dev/null
+++ b/upstream/fedora-40/man8/setvtrgb.8
@@ -0,0 +1,75 @@
+.\" @(#)man/man8/setvtrgb.8 1.0 Mar 3 12:32:18 CST 2011
+.TH SETVTRGB 8 "3 Mar 2011" "kbd"
+.SH NAME
+setvtrgb \- set the virtual terminal RGB colors
+.SH SYNOPSIS
+.B setvtrgb
+[\fI\,options\/\fR]
+.I vga|FILE|\-
+.SH DESCRIPTION
+The
+.I setvtrgb
+command takes a single argument, either the string
+.B vga
+, or a path to a file containing the colors to be used by
+the Linux virtual terminals.
+
+You can choose to write the colors in decimal or hexadecimal format,
+it will be detected on runtime.
+
+Decimal
+.B FILE
+format should be exactly 3 lines of 16
+comma-separated decimal values for RED, GREEN, and BLUE.
+
+To seed a valid
+.B FILE
+:
+.RS
+.B "cat /sys/module/vt/parameters/default_{red,grn,blu} > FILE"
+.RE
+
+And then edit the values in
+.B FILE
+
+Hexadecimal
+.B FILE
+format should be exactly 16 lines of hex triplets for RED, GREEN and BLUE,
+prefixed with a number sign (#). For example:
+.nf
+.RS
+.B #000000
+.B #AA0000
+.B #00AA00
+.B #AA5500
+.B #0000AA
+.B #AA00AA
+.B #00AAAA
+.B #AAAAAA
+.B #555555
+.B #FF5555
+.B #55FF55
+.B #FFFF55
+.B #5555FF
+.B #FF55FF
+.B #55FFFF
+.B #FFFFFF
+.RE
+.fi
+
+.SH OPTIONS
+.TP
+\fB\-C\fR, \fB\-\-console\fR=\fI\,DEV\/\fR
+the console device to be used;
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Prints usage message and exits.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Prints version number and exists.
+
+.SH AUTHOR
+The utility is written by Alexey Gladkov, Seth Forshee, Dustin Kirkland.
+
+.SH DOCUMENTATION
+Documentation by Dustin Kirkland.
diff --git a/upstream/fedora-40/man8/sftp-server.8 b/upstream/fedora-40/man8/sftp-server.8
new file mode 100644
index 00000000..5e6e3aa4
--- /dev/null
+++ b/upstream/fedora-40/man8/sftp-server.8
@@ -0,0 +1,177 @@
+.\" $OpenBSD: sftp-server.8,v 1.31 2021/07/27 14:14:25 jmc Exp $
+.\"
+.\" Copyright (c) 2000 Markus Friedl. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd $Mdocdate: July 27 2021 $
+.Dt SFTP-SERVER 8
+.Os
+.Sh NAME
+.Nm sftp-server
+.Nd OpenSSH SFTP server subsystem
+.Sh SYNOPSIS
+.Nm sftp-server
+.Bk -words
+.Op Fl ehR
+.Op Fl d Ar start_directory
+.Op Fl f Ar log_facility
+.Op Fl l Ar log_level
+.Op Fl P Ar denied_requests
+.Op Fl p Ar allowed_requests
+.Op Fl u Ar umask
+.Op Fl m Ar force_file_perms
+.Ek
+.Nm
+.Fl Q Ar protocol_feature
+.Sh DESCRIPTION
+.Nm
+is a program that speaks the server side of SFTP protocol
+to stdout and expects client requests from stdin.
+.Nm
+is not intended to be called directly, but from
+.Xr sshd 8
+using the
+.Cm Subsystem
+option.
+.Pp
+Command-line flags to
+.Nm
+should be specified in the
+.Cm Subsystem
+declaration.
+See
+.Xr sshd_config 5
+for more information.
+.Pp
+Valid options are:
+.Bl -tag -width Ds
+.It Fl d Ar start_directory
+Specifies an alternate starting directory for users.
+The pathname may contain the following tokens that are expanded at runtime:
+%% is replaced by a literal '%',
+%d is replaced by the home directory of the user being authenticated,
+and %u is replaced by the username of that user.
+The default is to use the user's home directory.
+This option is useful in conjunction with the
+.Xr sshd_config 5
+.Cm ChrootDirectory
+option.
+.It Fl e
+Causes
+.Nm
+to print logging information to stderr instead of syslog for debugging.
+.It Fl f Ar log_facility
+Specifies the facility code that is used when logging messages from
+.Nm .
+The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
+LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
+The default is AUTH.
+.It Fl h
+Displays
+.Nm
+usage information.
+.It Fl l Ar log_level
+Specifies which messages will be logged by
+.Nm .
+The possible values are:
+QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.
+INFO and VERBOSE log transactions that
+.Nm
+performs on behalf of the client.
+DEBUG and DEBUG1 are equivalent.
+DEBUG2 and DEBUG3 each specify higher levels of debugging output.
+The default is ERROR.
+.It Fl P Ar denied_requests
+Specifies a comma-separated list of SFTP protocol requests that are banned by
+the server.
+.Nm
+will reply to any denied request with a failure.
+The
+.Fl Q
+flag can be used to determine the supported request types.
+If both denied and allowed lists are specified, then the denied list is
+applied before the allowed list.
+.It Fl p Ar allowed_requests
+Specifies a comma-separated list of SFTP protocol requests that are permitted
+by the server.
+All request types that are not on the allowed list will be logged and replied
+to with a failure message.
+.Pp
+Care must be taken when using this feature to ensure that requests made
+implicitly by SFTP clients are permitted.
+.It Fl Q Ar protocol_feature
+Queries protocol features supported by
+.Nm .
+At present the only feature that may be queried is
+.Dq requests ,
+which may be used to deny or allow specific requests (flags
+.Fl P
+and
+.Fl p
+respectively).
+.It Fl R
+Places this instance of
+.Nm
+into a read-only mode.
+Attempts to open files for writing, as well as other operations that change
+the state of the filesystem, will be denied.
+.It Fl u Ar umask
+Sets an explicit
+.Xr umask 2
+to be applied to newly-created files and directories, instead of the
+user's default mask.
+.It Fl m Ar force_file_perms
+Sets explicit file permissions to be applied to newly-created files instead
+of the default or client requested mode. Numeric values include:
+777, 755, 750, 666, 644, 640, etc. Using both -m and -u switches makes the
+umask (-u) effective only for newly created directories and explicit mode (-m)
+for newly created files.
+.El
+.Pp
+On some systems,
+.Nm
+must be able to access
+.Pa /dev/log
+for logging to work, and use of
+.Nm
+in a chroot configuration therefore requires that
+.Xr syslogd 8
+establish a logging socket inside the chroot directory.
+.Sh SEE ALSO
+.Xr sftp 1 ,
+.Xr ssh 1 ,
+.Xr sshd_config 5 ,
+.Xr sshd 8
+.Rs
+.%A T. Ylonen
+.%A S. Lehtinen
+.%T "SSH File Transfer Protocol"
+.%N draft-ietf-secsh-filexfer-02.txt
+.%D October 2001
+.%O work in progress material
+.Re
+.Sh HISTORY
+.Nm
+first appeared in
+.Ox 2.8 .
+.Sh AUTHORS
+.An Markus Friedl Aq Mt markus@openbsd.org
diff --git a/upstream/fedora-40/man8/showconsolefont.8 b/upstream/fedora-40/man8/showconsolefont.8
new file mode 100644
index 00000000..851301ab
--- /dev/null
+++ b/upstream/fedora-40/man8/showconsolefont.8
@@ -0,0 +1,34 @@
+.TH SHOWCONSOLEFONT 8 "2002-02-22" "kbd"
+
+.SH NAME
+showconsolefont \- Show the current EGA/VGA console screen font
+
+.SH SYNOPSIS
+.B showconsolefont
+[
+.B \-V | \-\-version
+] [
+.B \-v
+] [
+.B \-i
+] [
+.B \-C
+.I console
+]
+
+.SH DESCRIPTION
+The
+.B showconsolefont
+command outputs the current console font to stdout. The option
+.B \-v
+prints additional information, while the option
+.B \-V
+prints the program version number. The option
+.B \-i
+doesn't print out the font table, just shows ROWSxCOLSxCOUNT and exits.
+On Linux 2.6.1 and later, the option
+.B \-C
+allows one to indicate the console involved. Its argument is a pathname.
+
+.SH "SEE ALSO"
+.BR setfont (8)
diff --git a/upstream/fedora-40/man8/showmount.8 b/upstream/fedora-40/man8/showmount.8
new file mode 100644
index 00000000..35818e1b
--- /dev/null
+++ b/upstream/fedora-40/man8/showmount.8
@@ -0,0 +1,65 @@
+.\" Copyright 1993 Rick Sladkey <jrs@world.std.com>
+.\" May be distributed under the GNU General Public License
+.TH SHOWMOUNT 8 "6 October 1993"
+.SH NAME
+showmount \- show mount information for an NFS server
+.SH SYNOPSIS
+.B showmount
+.B "[\ \-adehv\ ]"
+.B "[\ \-\-all\ ]"
+.B "[\ \-\-directories\ ]"
+.B "[\ \-\-exports\ ]"
+.B "[\ \-\-help\ ]"
+.B "[\ \-\-version\ ]"
+.B "[\ host\ ]"
+.SH DESCRIPTION
+.B showmount
+queries the mount daemon on a remote host for information about
+the state of the NFS server on that machine. With no options
+.B showmount
+lists the set of clients who are mounting from that host.
+The output from
+.B showmount
+is designed to
+appear as though it were processed through ``sort \-u''.
+.SH OPTIONS
+.TP
+.BR \-a " or " \-\-all
+List both the client hostname or IP address and mounted directory in
+host:dir format. This info should not be considered reliable. See the notes
+on rmtab in
+.BR rpc.mountd (8).
+.TP
+.BR \-d " or " \-\-directories
+List only the directories mounted by some client.
+.TP
+.BR \-e " or " \-\-exports
+Show the NFS server's export list.
+.TP
+.BR \-h " or " \-\-help
+Provide a short help summary.
+.TP
+.BR \-v " or " \-\-version
+Report the current version number of the program.
+.TP
+.B \-\-no\-headers
+Suppress the descriptive headings from the output.
+.SH "SEE ALSO"
+.BR rpc.mountd (8),
+.BR rpc.nfsd (8)
+.SH BUGS
+The completeness and accuracy of the information that
+.B showmount
+displays varies according to the NFS server's implementation.
+.P
+Because
+.B showmount
+sorts and uniqs the output, it is impossible to determine from
+the output whether a client is mounting the same directory more than once.
+.P
+.B showmount
+works by contacting the server's MNT service directly. NFSv4-only servers have
+no need to advertise their exported root filehandles via this method, and may
+not expose their MNT service to clients.
+.SH AUTHOR
+Rick Sladkey <jrs@world.std.com>
diff --git a/upstream/fedora-40/man8/shutdown.8 b/upstream/fedora-40/man8/shutdown.8
new file mode 100644
index 00000000..fa4aafcf
--- /dev/null
+++ b/upstream/fedora-40/man8/shutdown.8
@@ -0,0 +1,126 @@
+'\" t
+.TH "SHUTDOWN" "8" "" "systemd 255" "shutdown"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+shutdown \- Halt, power off or reboot the machine
+.SH "SYNOPSIS"
+.HP \w'\fBshutdown\fR\ 'u
+\fBshutdown\fR [OPTIONS...] [TIME] [WALL...]
+.SH "DESCRIPTION"
+.PP
+\fBshutdown\fR
+may be used to halt, power off, or reboot the machine\&.
+.PP
+The first argument may be a time string (which is usually
+"now")\&. Optionally, this may be followed by a wall message to be sent to all logged\-in users before going down\&.
+.PP
+The time string may either be in the format
+"hh:mm"
+for hour/minutes specifying the time to execute the shutdown at, specified in 24h clock format\&. Alternatively it may be in the syntax
+"+m"
+referring to the specified number of minutes m from now\&.
+"now"
+is an alias for
+"+0", i\&.e\&. for triggering an immediate shutdown\&. If no time argument is specified,
+"+1"
+is implied\&.
+.PP
+Note that to specify a wall message you must specify a time argument, too\&.
+.PP
+If the time argument is used, 5 minutes before the system goes down the
+/run/nologin
+file is created to ensure that further logins shall not be allowed\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-H\fR, \fB\-\-halt\fR
+.RS 4
+Halt the machine\&.
+.RE
+.PP
+\fB\-P\fR, \fB\-\-poweroff\fR
+.RS 4
+Power the machine off (the default)\&.
+.RE
+.PP
+\fB\-r\fR, \fB\-\-reboot\fR
+.RS 4
+Reboot the machine\&.
+.RE
+.PP
+\fB\-h\fR
+.RS 4
+The same as
+\fB\-\-poweroff\fR, but does not override the action to take if it is "halt"\&. E\&.g\&.
+\fBshutdown \-\-reboot \-h\fR
+means "poweroff", but
+\fBshutdown \-\-halt \-h\fR
+means "halt"\&.
+.RE
+.PP
+\fB\-k\fR
+.RS 4
+Do not halt, power off, or reboot, but just write the wall message\&.
+.RE
+.PP
+\fB\-\-no\-wall\fR
+.RS 4
+Do not send wall message before halt, power off, or reboot\&.
+.RE
+.PP
+\fB\-c\fR
+.RS 4
+Cancel a pending shutdown\&. This may be used to cancel the effect of an invocation of
+\fBshutdown\fR
+with a time argument that is not
+"+0"
+or
+"now"\&.
+.RE
+.PP
+\fB\-\-show\fR
+.RS 4
+Show a pending shutdown action and time if there is any\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "COMPATIBILITY"
+.PP
+The
+\fB shutdown\fR
+command in previous init systems (including sysvinit) defaulted to single\-user mode instead of powering off the machine\&. To change into single\-user mode, use
+\fBsystemctl rescue\fR
+instead\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBhalt\fR(8),
+\fBwall\fR(1)
diff --git a/upstream/fedora-40/man8/slattach.8 b/upstream/fedora-40/man8/slattach.8
new file mode 100644
index 00000000..0e2cfcc7
--- /dev/null
+++ b/upstream/fedora-40/man8/slattach.8
@@ -0,0 +1,101 @@
+.TH SLATTACH 8 "2011\-12\-31" "net\-tools" "Linux System Administrator's Manual"
+.SH NAME
+slattach \- attach a network interface to a serial line
+.SH SYNOPSIS
+.B "slattach [\-dehlLmnqv] [\-c command] [\-p proto] [\-s speed] [tty]"
+.br
+.SH DESCRIPTION
+.B Slattach
+is a tiny little program that can be used to put a normal terminal
+("serial") line into one of several "network" modes, thus allowing
+you to use it for point-to-point links to other computers.
+.SH OPTIONS
+.TP
+.B tty
+Path to a serial device like
+.IR /dev/ttyS* ", " /dev/cua* " or " /dev/ptmx
+to spawn a new pseudo tty.
+.TP
+.B "[\-c command]"
+Execute
+.B command
+when the line is hung up. This can be used to run scripts or re-establish
+connections when a link goes down.
+.TP
+.B "[\-d]"
+Enable debugging output. Useful when determining why a given
+setup doesn't work.
+.TP
+.B "[\-h]"
+Exit when the carrier is lost. This works on both /dev/tty and /dev/cua
+devices by directly monitoring the carrier status every 15 seconds.
+.TP
+.B "[\-v]"
+Enable verbose output. Useful in shell scripts.
+.TP
+.B "[\-q]"
+Operate in quiet mode - no messages at all.
+.TP
+.B "[\-l]"
+Create an UUCP-style lockfile for the device in /var/lock.
+.TP
+.B "[\-n]"
+Equivalent to the "mesg n" command.
+.TP
+.B "[\-m]"
+Do \fBnot\fP initialize the line into 8 bits raw mode.
+.TP
+.B "[\-e]"
+Exit right after initializing device, instead of waiting for the
+line to hang up.
+.TP
+.B "[\-L]"
+Enable 3 wire operation. The terminal is moved into CLOCAL mode,
+carrier watching is disabled.
+.TP
+.B "[\-p proto]"
+Set a specific kind of protocol to use on the line. The default
+is set to
+.BR "cslip" ,
+i.e. compressed SLIP. Other possible values are
+.B "slip"
+(normal SLIP),
+.B "adaptive"
+(adaptive CSLIP/SLIP),
+.B "ppp"
+(Point-to-Point Protocol)
+and
+.B "kiss"
+(a protocol used for communicating with AX.25 packet radio terminal node controllers).
+The special argument
+.B "tty"
+can be used to put the device back into normal serial operation.
+Using 'ppp' mode is not normally useful as ppp requires an additional ppp daemon
+.B pppd
+to be active on the line. For kiss connections the
+.B axattach
+program should be used.
+.TP
+.B "[\-s speed]"
+Set a specific line speed, other than the default.
+.PP
+If no arguments are given, the current terminal line (usually: the
+login device) is used. Otherwise, an attempt is made to claim the
+indicated terminal port, lock it, and open it.
+.SH FILES
+.I /dev/cua* /var/lock/LCK.* /dev/ttyS* /dev/ptmx
+.SH BUGS
+None known.
+.SH SEE ALSO
+axattach(8), dip(8) pppd(8), sliplogin(8).
+.SH AUTHORS
+Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
+.br
+Alan Cox, <Alan.Cox@linux.org>
+.br
+Miquel van Smoorenburg, <miquels@drinkel.ow.org>
+.br
+George Shearer, <gshearer@one.net>
+.br
+Yossi Gottlieb, <yogo@math.tau.ac.il>
+.br
diff --git a/upstream/fedora-40/man8/sln.8 b/upstream/fedora-40/man8/sln.8
new file mode 100644
index 00000000..30d5177f
--- /dev/null
+++ b/upstream/fedora-40/man8/sln.8
@@ -0,0 +1,44 @@
+.\" Copyright (c) 2013 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH sln 8 2023-10-31 "Linux man-pages 6.06"
+.SH NAME
+sln \- create symbolic links
+.SH SYNOPSIS
+.nf
+.BI sln " source dest"
+.BI sln " filelist"
+.fi
+.SH DESCRIPTION
+The
+.B sln
+program creates symbolic links.
+Unlike the
+.BR ln (1)
+program, it is statically linked.
+This means that if for some reason the dynamic linker is not working,
+.B sln
+can be used to make symbolic links to dynamic libraries.
+.P
+The command line has two forms.
+In the first form, it creates
+.I dest
+as a new symbolic link to
+.IR source .
+.P
+In the second form,
+.I filelist
+is a list of space-separated pathname pairs,
+and the effect is as if
+.B sln
+was executed once for each line of the file,
+with the two pathnames as the arguments.
+.P
+The
+.B sln
+program supports no command-line options.
+.SH SEE ALSO
+.BR ln (1),
+.BR ld.so (8),
+.BR ldconfig (8)
diff --git a/upstream/fedora-40/man8/sm-notify.8 b/upstream/fedora-40/man8/sm-notify.8
new file mode 100644
index 00000000..1a29bc34
--- /dev/null
+++ b/upstream/fedora-40/man8/sm-notify.8
@@ -0,0 +1,366 @@
+.\"@(#)sm-notify.8"
+.\"
+.\" Copyright (C) 2004 Olaf Kirch <okir@suse.de>
+.\"
+.\" Rewritten by Chuck Lever <chuck.lever@oracle.com>, 2009.
+.\" Copyright 2009 Oracle. All rights reserved.
+.\"
+.TH SM-NOTIFY 8 "1 November 2009
+.SH NAME
+sm-notify \- send reboot notifications to NFS peers
+.SH SYNOPSIS
+.BI "/usr/sbin/sm-notify [-dfn] [-m " minutes "] [-v " name "] [-p " notify-port "] [-P " path "]
+.SH DESCRIPTION
+File locks are not part of persistent file system state.
+Lock state is thus lost when a host reboots.
+.PP
+Network file systems must also detect when lock state is lost
+because a remote host has rebooted.
+After an NFS client reboots, an NFS server must release all file locks
+held by applications that were running on that client.
+After a server reboots, a client must remind the
+server of file locks held by applications running on that client.
+.PP
+For NFS version 2 and version 3, the
+.I Network Status Monitor
+protocol (or NSM for short)
+is used to notify NFS peers of reboots.
+On Linux, two separate user-space components constitute the NSM service:
+.TP
+.B sm-notify
+A helper program that notifies NFS peers after the local system reboots
+.TP
+.B rpc.statd
+A daemon that listens for reboot notifications from other hosts, and
+manages the list of hosts to be notified when the local system reboots
+.PP
+The local NFS lock manager alerts its local
+.B rpc.statd
+of each remote peer that should be monitored.
+When the local system reboots, the
+.B sm-notify
+command notifies the NSM service on monitored peers of the reboot.
+When a remote reboots, that peer notifies the local
+.BR rpc.statd ,
+which in turn passes the reboot notification
+back to the local NFS lock manager.
+.SH NSM OPERATION IN DETAIL
+The first file locking interaction between an NFS client and server causes
+the NFS lock managers on both peers to contact their local NSM service to
+store information about the opposite peer.
+On Linux, the local lock manager contacts
+.BR rpc.statd .
+.PP
+.B rpc.statd
+records information about each monitored NFS peer on persistent storage.
+This information describes how to contact a remote peer
+in case the local system reboots,
+how to recognize which monitored peer is reporting a reboot,
+and how to notify the local lock manager when a monitored peer
+indicates it has rebooted.
+.PP
+An NFS client sends a hostname, known as the client's
+.IR caller_name ,
+in each file lock request.
+An NFS server can use this hostname to send asynchronous GRANT
+calls to a client, or to notify the client it has rebooted.
+.PP
+The Linux NFS server can provide the client's
+.I caller_name
+or the client's network address to
+.BR rpc.statd .
+For the purposes of the NSM protocol,
+this name or address is known as the monitored peer's
+.IR mon_name .
+In addition, the local lock manager tells
+.B rpc.statd
+what it thinks its own hostname is.
+For the purposes of the NSM protocol,
+this hostname is known as
+.IR my_name .
+.PP
+There is no equivalent interaction between an NFS server and a client
+to inform the client of the server's
+.IR caller_name .
+Therefore NFS clients do not actually know what
+.I mon_name
+an NFS server might use in an SM_NOTIFY request.
+The Linux NFS client records the server's hostname used on the mount command
+to identify rebooting NFS servers.
+.SS Reboot notification
+When the local system reboots, the
+.B sm-notify
+command reads the list of monitored peers from persistent storage and
+sends an SM_NOTIFY request to the NSM service on each listed remote peer.
+It uses the
+.I mon_name
+string as the destination.
+To identify which host has rebooted, the
+.B sm-notify
+command normally sends
+.I my_name
+string recorded when that remote was monitored.
+The remote
+.B rpc.statd
+matches incoming SM_NOTIFY requests using this string,
+or the caller's network address,
+to one or more peers on its own monitor list.
+.PP
+If
+.B rpc.statd
+does not find a peer on its monitor list that matches
+an incoming SM_NOTIFY request,
+the notification is not forwarded to the local lock manager.
+In addition, each peer has its own
+.IR "NSM state number" ,
+a 32-bit integer that is bumped after each reboot by the
+.B sm-notify
+command.
+.B rpc.statd
+uses this number to distinguish between actual reboots
+and replayed notifications.
+.PP
+Part of NFS lock recovery is rediscovering
+which peers need to be monitored again.
+The
+.B sm-notify
+command clears the monitor list on persistent storage after each reboot.
+.SH OPTIONS
+.TP
+.B -d
+Keeps
+.B sm-notify
+attached to its controlling terminal and running in the foreground
+so that notification progress may be monitored directly.
+.TP
+.B -f
+Send notifications even if
+.B sm-notify
+has already run since the last system reboot.
+.TP
+.BI -m " retry-time
+Specifies the length of time, in minutes, to continue retrying
+notifications to unresponsive hosts.
+If this option is not specified,
+.B sm-notify
+attempts to send notifications for 15 minutes.
+Specifying a value of 0 causes
+.B sm-notify
+to continue sending notifications to unresponsive peers
+until it is manually killed.
+.IP
+Notifications are retried if sending fails,
+the remote does not respond,
+the remote's NSM service is not registered,
+or if there is a DNS failure
+which prevents the remote's
+.I mon_name
+from being resolved to an address.
+.IP
+Hosts are not removed from the notification list until a valid
+reply has been received.
+However, the SM_NOTIFY procedure has a void result.
+There is no way for
+.B sm-notify
+to tell if the remote recognized the sender and has started
+appropriate lock recovery.
+.TP
+.B -n
+Prevents
+.B sm-notify
+from updating the local system's NSM state number.
+.TP
+.BI -p " port
+Specifies the source port number
+.B sm-notify
+should use when sending reboot notifications.
+If this option is not specified, a randomly chosen ephemeral port is used.
+.IP
+This option can be used to traverse a firewall between client and server.
+.TP
+.BI "\-P, " "" \-\-state\-directory\-path " pathname
+Specifies the pathname of the parent directory
+where NSM state information resides.
+If this option is not specified,
+.B sm-notify
+uses
+.I /var/lib/nfs/statd
+by default.
+.IP
+After starting,
+.B sm-notify
+attempts to set its effective UID and GID to the owner
+and group of the subdirectory
+.B sm
+of this directory. After changing the effective ids,
+.B sm-notify
+only needs to access files in
+.B sm
+and
+.B sm.bak
+within the state-directory-path.
+.TP
+.BI -v " ipaddr " | " hostname
+Specifies the network address from which to send reboot notifications,
+and the
+.I mon_name
+argument to use when sending SM_NOTIFY requests.
+If this option is not specified,
+.B sm-notify
+uses a wildcard address as the transport bind address,
+and uses the
+.I my_name
+recorded when the remote was monitored as the
+.I mon_name
+argument when sending SM_NOTIFY requests.
+.IP
+The
+.I ipaddr
+form can be expressed as either an IPv4 or an IPv6 presentation address.
+If the
+.I ipaddr
+form is used, the
+.B sm-notify
+command converts this address to a hostname for use as the
+.I mon_name
+argument when sending SM_NOTIFY requests.
+.IP
+This option can be useful in multi-homed configurations where
+the remote requires notification from a specific network address.
+.SH CONFIGURATION FILE
+Many of the options that can be set on the command line can also be
+controlled through values set in the
+.B [sm-notify]
+or, in one case, the
+.B [statd]
+section of the
+.I /etc/nfs.conf
+configuration file.
+
+Values recognized in the
+.B [sm-notify]
+section include:
+.BR retry-time ,
+.BR outgoing-port ", and"
+.BR outgoing-addr .
+These have the same effect as the command line options
+.BR m ,
+.BR p ", and"
+.B v
+respectively.
+
+An additional value recognized in the
+.B [sm-notify]
+section is
+.BR lift-grace .
+By default,
+.B sm-notify
+will lift lockd's grace period early if it has no hosts to notify.
+Some high availability configurations will run one
+.B sm-notify
+per floating IP address. In these configurations, lifting the
+grace period early may prevent clients from reclaiming locks.
+.RB "Setting " lift-grace " to " n
+will prevent
+.B sm-notify
+from ending the grace period early.
+.B lift-grace
+has no corresponding command line option.
+
+The value recognized in the
+.B [statd]
+section is
+.BR state-directory-path .
+
+.SH SECURITY
+The
+.B sm-notify
+command must be started as root to acquire privileges needed
+to access the state information database.
+It drops root privileges
+as soon as it starts up to reduce the risk of a privilege escalation attack.
+.PP
+During normal operation,
+the effective user ID it chooses is the owner of the state directory.
+This allows it to continue to access files in that directory after it
+has dropped its root privileges.
+To control which user ID
+.B rpc.statd
+chooses, simply use
+.BR chown (1)
+to set the owner of
+the state directory.
+.SH ADDITIONAL NOTES
+Lock recovery after a reboot is critical to maintaining data integrity
+and preventing unnecessary application hangs.
+.PP
+To help
+.B rpc.statd
+match SM_NOTIFY requests to NLM requests, a number of best practices
+should be observed, including:
+.IP
+The UTS nodename of your systems should match the DNS names that NFS
+peers use to contact them
+.IP
+The UTS nodenames of your systems should always be fully qualified domain names
+.IP
+The forward and reverse DNS mapping of the UTS nodenames should be
+consistent
+.IP
+The hostname the client uses to mount the server should match the server's
+.I mon_name
+in SM_NOTIFY requests it sends
+.PP
+Unmounting an NFS file system does not necessarily stop
+either the NFS client or server from monitoring each other.
+Both may continue monitoring each other for a time in case subsequent
+NFS traffic between the two results in fresh mounts and additional
+file locking.
+.PP
+On Linux, if the
+.B lockd
+kernel module is unloaded during normal operation,
+all remote NFS peers are unmonitored.
+This can happen on an NFS client, for example,
+if an automounter removes all NFS mount
+points due to inactivity.
+.SS IPv6 and TI-RPC support
+TI-RPC is a pre-requisite for supporting NFS on IPv6.
+If TI-RPC support is built into the
+.B sm-notify
+command ,it will choose an appropriate IPv4 or IPv6 transport
+based on the network address returned by DNS for each remote peer.
+It should be fully compatible with remote systems
+that do not support TI-RPC or IPv6.
+.PP
+Currently, the
+.B sm-notify
+command supports sending notification only via datagram transport protocols.
+.SH FILES
+.TP 2.5i
+.I /var/lib/nfs/statd/sm
+directory containing monitor list
+.TP 2.5i
+.I /var/lib/nfs/statd/sm.bak
+directory containing notify list
+.TP 2.5i
+.I /var/lib/nfs/statd/state
+NSM state number for this host
+.TP 2.5i
+.I /proc/sys/fs/nfs/nsm_local_state
+kernel's copy of the NSM state number
+.SH SEE ALSO
+.BR rpc.statd (8),
+.BR nfs (5),
+.BR uname (2),
+.BR hostname (7)
+.PP
+RFC 1094 - "NFS: Network File System Protocol Specification"
+.br
+RFC 1813 - "NFS Version 3 Protocol Specification"
+.br
+OpenGroup Protocols for Interworking: XNFS, Version 3W - Chapter 11
+.SH AUTHORS
+Olaf Kirch <okir@suse.de>
+.br
+Chuck Lever <chuck.lever@oracle.com>
diff --git a/upstream/fedora-40/man8/smrsh.8 b/upstream/fedora-40/man8/smrsh.8
new file mode 100644
index 00000000..d2b91a04
--- /dev/null
+++ b/upstream/fedora-40/man8/smrsh.8
@@ -0,0 +1,85 @@
+.\" Copyright (c) 1998-2004 Proofpoint, Inc. and its suppliers.
+.\" All rights reserved.
+.\" Copyright (c) 1993 Eric P. Allman. All rights reserved.
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" By using this file, you agree to the terms and conditions set
+.\" forth in the LICENSE file which can be found at the top level of
+.\" the sendmail distribution.
+.\"
+.\"
+.\" $Id: smrsh.8,v 8.23 2013-11-22 20:52:00 ca Exp $
+.\"
+.TH SMRSH 8 "$Date: 2013-11-22 20:52:00 $"
+.SH NAME
+smrsh \- restricted shell for sendmail
+.SH SYNOPSIS
+.B smrsh
+.B \-c
+command
+.SH DESCRIPTION
+The
+.I smrsh
+program is intended as a replacement for
+.I sh
+for use in the ``prog'' mailer in
+.IR sendmail (8)
+configuration files.
+It sharply limits the commands that can be run using the
+``|program'' syntax of
+.I sendmail
+in order to improve the over all security of your system.
+Briefly, even if a ``bad guy'' can get sendmail to run a program
+without going through an alias or forward file,
+.I smrsh
+limits the set of programs that he or she can execute.
+.PP
+Briefly,
+.I smrsh
+limits programs to be in a single directory,
+by default
+/etc/smrsh,
+allowing the system administrator to choose the set of acceptable commands,
+and to the shell builtin commands ``exec'', ``exit'', and ``echo''.
+It also rejects any commands with the characters
+`\`', `<', `>', `;', `$', `(', `)', `\er' (carriage return),
+or `\en' (newline)
+on the command line to prevent ``end run'' attacks.
+It allows ``||'' and ``&&'' to enable commands like:
+``"|exec /usr/local/bin/filter || exit 75"''
+.PP
+Initial pathnames on programs are stripped,
+so forwarding to ``/usr/ucb/vacation'',
+``/usr/bin/vacation'',
+``/home/server/mydir/bin/vacation'',
+and
+``vacation''
+all actually forward to
+``/etc/smrsh/vacation''.
+.PP
+System administrators should be conservative about populating
+the /etc/smrsh directory.
+For example, a reasonable additions is
+.IR vacation (1),
+and the like.
+No matter how brow-beaten you may be,
+never include any shell or shell-like program
+(such as
+.IR perl (1))
+in the
+/etc/smrsh
+directory.
+Note that this does not restrict the use of shell or perl scripts
+in the sm.bin directory (using the ``#!'' syntax);
+it simply disallows execution of arbitrary programs.
+Also, including mail filtering programs such as
+.IR procmail (1)
+is a very bad idea.
+.IR procmail (1)
+allows users to run arbitrary programs in their
+.IR procmailrc (5).
+.SH FILES
+/etc/smrsh \- directory for restricted programs
+.SH SEE ALSO
+sendmail(8)
diff --git a/upstream/fedora-40/man8/ss.8 b/upstream/fedora-40/man8/ss.8
new file mode 100644
index 00000000..073e9f03
--- /dev/null
+++ b/upstream/fedora-40/man8/ss.8
@@ -0,0 +1,600 @@
+.TH SS 8
+.SH NAME
+ss \- another utility to investigate sockets
+.SH SYNOPSIS
+.B ss
+.RI [ options ] " [ FILTER ]"
+.SH DESCRIPTION
+.B ss
+is used to dump socket statistics. It allows showing information similar
+to
+.IR netstat .
+It can display more TCP and state information than other tools.
+
+.SH OPTIONS
+When no option is used ss displays a list of open non-listening
+sockets (e.g. TCP/UNIX/UDP) that have established connection.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-V, \-\-version
+Output version information.
+.TP
+.B \-H, \-\-no-header
+Suppress header line.
+.TP
+.B \-O, \-\-oneline
+Print each socket's data on a single line.
+.TP
+.B \-n, \-\-numeric
+Do not try to resolve service names. Show exact bandwidth values, instead of human-readable.
+.TP
+.B \-r, \-\-resolve
+Try to resolve numeric address/ports.
+.TP
+.B \-a, \-\-all
+Display both listening and non-listening (for TCP this means
+established connections) sockets.
+.TP
+.B \-l, \-\-listening
+Display only listening sockets (these are omitted by default).
+.TP
+.B \-o, \-\-options
+Show timer information. For TCP protocol, the output format is:
+.RS
+.P
+timer:(<timer_name>,<expire_time>,<retrans>)
+.P
+.TP
+.B <timer_name>
+the name of the timer, there are five kind of timer names:
+.RS
+.P
+.B on
+: means one of these timers: TCP retrans timer, TCP early retrans
+timer and tail loss probe timer
+.P
+.BR keepalive ": tcp keep alive timer"
+.P
+.BR timewait ": timewait stage timer"
+.P
+.BR persist ": zero window probe timer"
+.P
+.BR unknown ": none of the above timers"
+.RE
+.TP
+.B <expire_time>
+how long time the timer will expire
+.P
+.TP
+.B <retrans>
+how many times the retransmission occurred
+.RE
+.TP
+.B \-e, \-\-extended
+Show detailed socket information. The output format is:
+.RS
+.P
+uid:<uid_number> ino:<inode_number> sk:<cookie>
+.P
+.TP
+.B <uid_number>
+the user id the socket belongs to
+.P
+.TP
+.B <inode_number>
+the socket's inode number in VFS
+.P
+.TP
+.B <cookie>
+an uuid of the socket
+.RE
+.TP
+.B \-m, \-\-memory
+Show socket memory usage. The output format is:
+.RS
+.P
+skmem:(r<rmem_alloc>,rb<rcv_buf>,t<wmem_alloc>,tb<snd_buf>,
+.br
+.RS
+.RS
+f<fwd_alloc>,w<wmem_queued>,o<opt_mem>,
+.RE
+.RE
+.br
+.RS
+.RS
+bl<back_log>,d<sock_drop>)
+.RE
+.RE
+.P
+.TP
+.B <rmem_alloc>
+the memory allocated for receiving packet
+.P
+.TP
+.B <rcv_buf>
+the total memory can be allocated for receiving packet
+.P
+.TP
+.B <wmem_alloc>
+the memory used for sending packet (which has been sent to layer 3)
+.P
+.TP
+.B <snd_buf>
+the total memory can be allocated for sending packet
+.P
+.TP
+.B <fwd_alloc>
+the memory allocated by the socket as cache, but not used for
+receiving/sending packet yet. If need memory to send/receive packet,
+the memory in this cache will be used before allocate additional
+memory.
+.P
+.TP
+.B <wmem_queued>
+The memory allocated for sending packet (which has not been sent to layer 3)
+.P
+.TP
+.B <opt_mem>
+The memory used for storing socket option, e.g., the key for TCP MD5 signature
+.P
+.TP
+.B <back_log>
+The memory used for the sk backlog queue. On a process context, if the
+process is receiving packet, and a new packet is received, it will be
+put into the sk backlog queue, so it can be received by the process
+immediately
+.P
+.TP
+.B <sock_drop>
+the number of packets dropped before they are de-multiplexed into the socket
+.RE
+.TP
+.B \-p, \-\-processes
+Show process using socket.
+.TP
+.B \-T, \-\-threads
+Show thread using socket. Implies
+.BR \-p .
+.TP
+.B \-i, \-\-info
+Show internal TCP information. Below fields may appear:
+.RS
+.P
+.TP
+.B ts
+show string "ts" if the timestamp option is set
+.P
+.TP
+.B sack
+show string "sack" if the sack option is set
+.P
+.TP
+.B ecn
+show string "ecn" if the explicit congestion notification option is set
+.P
+.TP
+.B ecnseen
+show string "ecnseen" if the saw ecn flag is found in received packets
+.P
+.TP
+.B fastopen
+show string "fastopen" if the fastopen option is set
+.P
+.TP
+.B cong_alg
+the congestion algorithm name, the default congestion algorithm is "cubic"
+.P
+.TP
+.B wscale:<snd_wscale>:<rcv_wscale>
+if window scale option is used, this field shows the send scale factor
+and receive scale factor
+.P
+.TP
+.B rto:<icsk_rto>
+tcp re-transmission timeout value, the unit is millisecond
+.P
+.TP
+.B backoff:<icsk_backoff>
+used for exponential backoff re-transmission, the actual
+re-transmission timeout value is icsk_rto << icsk_backoff
+.P
+.TP
+.B rtt:<rtt>/<rttvar>
+rtt is the average round trip time, rttvar is the mean deviation of
+rtt, their units are millisecond
+.P
+.TP
+.B ato:<ato>
+ack timeout, unit is millisecond, used for delay ack mode
+.P
+.TP
+.B mss:<mss>
+max segment size
+.P
+.TP
+.B cwnd:<cwnd>
+congestion window size
+.P
+.TP
+.B pmtu:<pmtu>
+path MTU value
+.P
+.TP
+.B ssthresh:<ssthresh>
+tcp congestion window slow start threshold
+.P
+.TP
+.B bytes_acked:<bytes_acked>
+bytes acked
+.P
+.TP
+.B bytes_received:<bytes_received>
+bytes received
+.P
+.TP
+.B segs_out:<segs_out>
+segments sent out
+.P
+.TP
+.B segs_in:<segs_in>
+segments received
+.P
+.TP
+.B send <send_bps>bps
+egress bps
+.P
+.TP
+.B lastsnd:<lastsnd>
+how long time since the last packet sent, the unit is millisecond
+.P
+.TP
+.B lastrcv:<lastrcv>
+how long time since the last packet received, the unit is millisecond
+.P
+.TP
+.B lastack:<lastack>
+how long time since the last ack received, the unit is millisecond
+.P
+.TP
+.B pacing_rate <pacing_rate>bps/<max_pacing_rate>bps
+the pacing rate and max pacing rate
+.P
+.TP
+.B rcv_space:<rcv_space>
+a helper variable for TCP internal auto tuning socket receive buffer
+.P
+.TP
+.B tcp-ulp-mptcp flags:[MmBbJjecv] token:<rem_token(rem_id)/loc_token(loc_id)> seq:<sn> sfseq:<ssn> ssnoff:<off> maplen:<maplen>
+MPTCP subflow information
+.P
+.RE
+.TP
+.B \-\-tos
+Show ToS and priority information. Below fields may appear:
+.RS
+.P
+.TP
+.B tos
+IPv4 Type-of-Service byte
+.P
+.TP
+.B tclass
+IPv6 Traffic Class byte
+.P
+.TP
+.B class_id
+Class id set by net_cls cgroup. If class is zero this shows priority
+set by SO_PRIORITY.
+.RE
+.TP
+.B \-\-cgroup
+Show cgroup information. Below fields may appear:
+.RS
+.P
+.TP
+.B cgroup
+Cgroup v2 pathname. This pathname is relative to the mount point of the hierarchy.
+.RE
+.TP
+.B \-\-tipcinfo
+Show internal tipc socket information.
+.TP
+.B \-K, \-\-kill
+Attempts to forcibly close sockets. This option displays sockets that are
+successfully closed and silently skips sockets that the kernel does not support
+closing. It supports IPv4 and IPv6 sockets only.
+.TP
+.B \-s, \-\-summary
+Print summary statistics. This option does not parse socket lists obtaining
+summary from various sources. It is useful when amount of sockets is so huge
+that parsing /proc/net/tcp is painful.
+.TP
+.B \-E, \-\-events
+Continually display sockets as they are destroyed
+.TP
+.B \-Z, \-\-context
+As the
+.B \-p
+option but also shows process security context. If the
+.B \-T
+option is used, also shows thread security context.
+.sp
+For
+.BR netlink (7)
+sockets the initiating process context is displayed as follows:
+.RS
+.RS
+.IP "1." 4
+If valid pid show the process context.
+.IP "2." 4
+If destination is kernel (pid = 0) show kernel initial context.
+.IP "3." 4
+If a unique identifier has been allocated by the kernel or netlink user,
+show context as "unavailable". This will generally indicate that a
+process has more than one netlink socket active.
+.RE
+.RE
+.TP
+.B \-z, \-\-contexts
+As the
+.B \-Z
+option but also shows the socket context. The socket context is
+taken from the associated inode and is not the actual socket
+context held by the kernel. Sockets are typically labeled with the
+context of the creating process, however the context shown will reflect
+any policy role, type and/or range transition rules applied,
+and is therefore a useful reference.
+.TP
+.B \-N NSNAME, \-\-net=NSNAME
+Switch to the specified network namespace name.
+.TP
+.B \-b, \-\-bpf
+Show socket classic BPF filters (only administrators are allowed to get these
+information).
+.TP
+.B \-4, \-\-ipv4
+Display only IP version 4 sockets (alias for -f inet).
+.TP
+.B \-6, \-\-ipv6
+Display only IP version 6 sockets (alias for -f inet6).
+.TP
+.B \-0, \-\-packet
+Display PACKET sockets (alias for -f link).
+.TP
+.B \-t, \-\-tcp
+Display TCP sockets.
+.TP
+.B \-u, \-\-udp
+Display UDP sockets.
+.TP
+.B \-d, \-\-dccp
+Display DCCP sockets.
+.TP
+.B \-w, \-\-raw
+Display RAW sockets.
+.TP
+.B \-x, \-\-unix
+Display Unix domain sockets (alias for -f unix).
+.TP
+.B \-S, \-\-sctp
+Display SCTP sockets.
+.TP
+.B \-\-tipc
+Display tipc sockets (alias for -f tipc).
+.TP
+.TP
+.B \-\-vsock
+Display vsock sockets (alias for -f vsock).
+.TP
+.B \-\-xdp
+Display XDP sockets (alias for -f xdp).
+.TP
+.B \-M, \-\-mptcp
+Display MPTCP sockets.
+.TP
+.B \-\-inet-sockopt
+Display inet socket options.
+.TP
+.B \-f FAMILY, \-\-family=FAMILY
+Display sockets of type FAMILY. Currently the following families are
+supported: unix, inet, inet6, link, netlink, vsock, tipc, xdp.
+.TP
+.B \-A QUERY, \-\-query=QUERY, \-\-socket=QUERY
+List of socket tables to dump, separated by commas. The following identifiers
+are understood: all, inet, tcp, udp, raw, unix, packet, netlink, unix_dgram,
+unix_stream, unix_seqpacket, packet_raw, packet_dgram, dccp, sctp, tipc,
+vsock_stream, vsock_dgram, xdp, mptcp. Any item in the list may optionally be
+prefixed by an exclamation mark
+.RB ( ! )
+to exclude that socket table from being dumped.
+.TP
+.B \-D FILE, \-\-diag=FILE
+Do not display anything, just dump raw information about TCP sockets
+to FILE after applying filters. If FILE is - stdout is used.
+.TP
+.B \-F FILE, \-\-filter=FILE
+Read filter information from FILE. Each line of FILE is interpreted
+like single command line option. If FILE is - stdin is used.
+.TP
+.B FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
+Please take a look at the official documentation for details regarding filters.
+
+.SH STATE-FILTER
+
+.B STATE-FILTER
+allows one to construct arbitrary set of states to match. Its syntax is
+sequence of keywords state and exclude followed by identifier of
+state.
+.TP
+Available identifiers are:
+
+All standard TCP states:
+.BR established ", " syn-sent ", " syn-recv ", " fin-wait-1 ", " fin-wait-2 ", " time-wait ", " closed ", " close-wait ", " last-ack ", "
+.BR listening " and " closing.
+
+.B all
+- for all the states
+
+.B connected
+- all the states except for
+.BR listening " and " closed
+
+.B synchronized
+- all the
+.B connected
+states except for
+.B syn-sent
+
+.B bucket
+- states, which are maintained as minisockets, i.e.
+.BR time-wait " and " syn-recv
+
+.B big
+- opposite to
+.B bucket
+
+.SH EXPRESSION
+
+.B EXPRESSION
+allows filtering based on specific criteria.
+.B EXPRESSION
+consists of a series of predicates combined by boolean operators. The possible operators in increasing
+order of precedence are
+.B or
+(or | or ||),
+.B and
+(or & or &&), and
+.B not
+(or !). If no operator is between consecutive predicates, an implicit
+.B and
+operator is assumed. Subexpressions can be grouped with "(" and ")".
+.P
+The following predicates are supported:
+
+.TP
+.B {dst|src} [=] HOST
+Test if the destination or source matches HOST. See HOST SYNTAX for details.
+.TP
+.B {dport|sport} [OP] [FAMILY:]:PORT
+Compare the destination or source port to PORT. OP can be any of "<", "<=", "=", "!=",
+">=" and ">". Following normal arithmetic rules. FAMILY and PORT are as described in
+HOST SYNTAX below.
+.TP
+.B dev [=|!=] DEVICE
+Match based on the device the connection uses. DEVICE can either be a device name or the
+index of the interface.
+.TP
+.B fwmark [=|!=] MASK
+Matches based on the fwmark value for the connection. This can either be a specific mark value
+or a mark value followed by a "/" and a bitmask of which bits to use in the comparison. For example
+"fwmark = 0x01/0x03" would match if the two least significant bits of the fwmark were 0x01.
+.TP
+.B cgroup [=|!=] PATH
+Match if the connection is part of a cgroup at the given path.
+.TP
+.B autobound
+Match if the port or path of the source address was automatically allocated
+(rather than explicitly specified).
+.P
+Most operators have aliases. If no operator is supplied "=" is assumed.
+Each of the following groups of operators are all equivalent:
+.RS
+.IP \(bu 2
+= == eq
+.IP \(bu
+!= ne neq
+.IP \(bu
+> gt
+.IP \(bu
+< lt
+.IP \(bu
+>= ge geq
+.IP \(bu
+<= le leq
+.IP \(bu
+! not
+.IP \(bu
+| || or
+.IP \(bu
+& && and
+.RE
+.SH HOST SYNTAX
+.P
+The general host syntax is [FAMILY:]ADDRESS[:PORT].
+.P
+FAMILY must be one of the families supported by the -f option. If not given
+it defaults to the family given with the -f option, and if that is also
+missing, will assume either inet or inet6. Note that all host conditions in the
+expression should either all be the same family or be only inet and inet6. If there
+is some other mixture of families, the results will probably be unexpected.
+.P
+The form of ADDRESS and PORT depends on the family used. "*" can be used as
+a wildcard for either the address or port. The details for each family are as
+follows:
+.TP
+.B unix
+ADDRESS is a glob pattern (see
+.BR fnmatch (3))
+that will be matched case-insensitively against the unix socket's address. Both path and abstract
+names are supported. Unix addresses do not support a port, and "*" cannot be used as a wildcard.
+.TP
+.B link
+ADDRESS is the case-insensitive name of an Ethernet protocol to match. PORT
+is either a device name or a device index for the desired link device, as seen
+in the output of ip link.
+.TP
+.B netlink
+ADDRESS is a descriptor of the netlink family. Possible values come from
+/etc/iproute2/nl_protos. PORT is the port id of the socket, which is usually
+the same as the owning process id. The value "kernel" can be used to represent
+the kernel (port id of 0).
+.TP
+.B vsock
+ADDRESS is an integer representing the CID address, and PORT is the port.
+.TP
+.BR inet \ and\ inet6
+ADDRESS is an ip address (either v4 or v6 depending on the family) or a DNS
+hostname that resolves to an ip address of the required version. An ipv6
+address must be enclosed in "[" and "]" to disambiguate the port separator. The
+address may additionally have a prefix length given in CIDR notation (a slash
+followed by the prefix length in bits). PORT is either the numerical
+socket port, or the service name for the port to match.
+
+.SH USAGE EXAMPLES
+.TP
+.B ss -t -a
+Display all TCP sockets.
+.TP
+.B ss -t -a -Z
+Display all TCP sockets with process SELinux security contexts.
+.TP
+.B ss -u -a
+Display all UDP sockets.
+.TP
+.B ss -o state established '( dport = :ssh or sport = :ssh )'
+Display all established ssh connections.
+.TP
+.B ss -x src /tmp/.X11-unix/*
+Find all local processes connected to X server.
+.TP
+.B ss -o state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24
+List all the tcp sockets in state FIN-WAIT-1 for our apache to network
+193.233.7/24 and look at their timers.
+.TP
+.B ss -a -A 'all,!tcp'
+List sockets in all states from all socket tables but TCP.
+.SH SEE ALSO
+.BR ip (8),
+.br
+.BR RFC " 793 "
+- https://tools.ietf.org/rfc/rfc793.txt (TCP states)
+
+.SH AUTHOR
+.I ss
+was written by Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>.
+.PP
+This manual page was written by Michael Prokop <mika@grml.org>
+for the Debian project (but may be used by others).
diff --git a/upstream/fedora-40/man8/ssh-pkcs11-helper.8 b/upstream/fedora-40/man8/ssh-pkcs11-helper.8
new file mode 100644
index 00000000..5edc9850
--- /dev/null
+++ b/upstream/fedora-40/man8/ssh-pkcs11-helper.8
@@ -0,0 +1,71 @@
+.\" $OpenBSD: ssh-pkcs11-helper.8,v 1.7 2022/04/29 03:24:30 djm Exp $
+.\"
+.\" Copyright (c) 2010 Markus Friedl. All rights reserved.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: April 29 2022 $
+.Dt SSH-PKCS11-HELPER 8
+.Os
+.Sh NAME
+.Nm ssh-pkcs11-helper
+.Nd OpenSSH helper for PKCS#11 support
+.Sh SYNOPSIS
+.Nm
+.Op Fl v
+.Sh DESCRIPTION
+.Nm
+is used by
+.Xr ssh 1 ,
+.Xr ssh-agent 1 ,
+and
+.Xr ssh-keygen 1
+to access keys provided by a PKCS#11 token.
+.Pp
+.Nm
+is not intended to be invoked directly by the user.
+.Pp
+A single option is supported:
+.Bl -tag -width Ds
+.It Fl v
+Verbose mode.
+Causes
+.Nm
+to print debugging messages about its progress.
+This is helpful in debugging problems.
+Multiple
+.Fl v
+options increase the verbosity.
+The maximum is 3.
+.Pp
+Note that
+.Xr ssh 1 ,
+.Xr ssh-agent 1 ,
+and
+.Xr ssh-keygen 1
+will automatically pass the
+.Fl v
+flag to
+.Nm
+when they have themselves been placed in debug mode.
+.El
+.Sh SEE ALSO
+.Xr ssh 1 ,
+.Xr ssh-agent 1 ,
+.Xr ssh-keygen 1
+.Sh HISTORY
+.Nm
+first appeared in
+.Ox 4.7 .
+.Sh AUTHORS
+.An Markus Friedl Aq Mt markus@openbsd.org
diff --git a/upstream/fedora-40/man8/ssh-sk-helper.8 b/upstream/fedora-40/man8/ssh-sk-helper.8
new file mode 100644
index 00000000..e9b2ae12
--- /dev/null
+++ b/upstream/fedora-40/man8/ssh-sk-helper.8
@@ -0,0 +1,71 @@
+.\" $OpenBSD: ssh-sk-helper.8,v 1.4 2022/04/29 03:24:30 djm Exp $
+.\"
+.\" Copyright (c) 2010 Markus Friedl. All rights reserved.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: April 29 2022 $
+.Dt SSH-SK-HELPER 8
+.Os
+.Sh NAME
+.Nm ssh-sk-helper
+.Nd OpenSSH helper for FIDO authenticator support
+.Sh SYNOPSIS
+.Nm
+.Op Fl v
+.Sh DESCRIPTION
+.Nm
+is used by
+.Xr ssh 1 ,
+.Xr ssh-agent 1 ,
+and
+.Xr ssh-keygen 1
+to access keys provided by a FIDO authenticator.
+.Pp
+.Nm
+is not intended to be invoked directly by the user.
+.Pp
+A single option is supported:
+.Bl -tag -width Ds
+.It Fl v
+Verbose mode.
+Causes
+.Nm
+to print debugging messages about its progress.
+This is helpful in debugging problems.
+Multiple
+.Fl v
+options increase the verbosity.
+The maximum is 3.
+.Pp
+Note that
+.Xr ssh 1 ,
+.Xr ssh-agent 1 ,
+and
+.Xr ssh-keygen 1
+will automatically pass the
+.Fl v
+flag to
+.Nm
+when they have themselves been placed in debug mode.
+.El
+.Sh SEE ALSO
+.Xr ssh 1 ,
+.Xr ssh-agent 1 ,
+.Xr ssh-keygen 1
+.Sh HISTORY
+.Nm
+first appeared in
+.Ox 6.7 .
+.Sh AUTHORS
+.An Damien Miller Aq Mt djm@openbsd.org
diff --git a/upstream/fedora-40/man8/sshd.8 b/upstream/fedora-40/man8/sshd.8
new file mode 100644
index 00000000..d8f5584a
--- /dev/null
+++ b/upstream/fedora-40/man8/sshd.8
@@ -0,0 +1,1057 @@
+.\"
+.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
+.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+.\" All rights reserved
+.\"
+.\" As far as I am concerned, the code I have written for this software
+.\" can be used freely for any purpose. Any derived versions of this
+.\" software must be clearly marked as such, and if the derived work is
+.\" incompatible with the protocol description in the RFC file, it must be
+.\" called by a name other than "ssh" or "Secure Shell".
+.\"
+.\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved.
+.\" Copyright (c) 1999 Aaron Campbell. All rights reserved.
+.\" Copyright (c) 1999 Theo de Raadt. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $OpenBSD: sshd.8,v 1.325 2023/09/19 20:37:07 deraadt Exp $
+.Dd $Mdocdate: September 19 2023 $
+.Dt SSHD 8
+.Os
+.Sh NAME
+.Nm sshd
+.Nd OpenSSH daemon
+.Sh SYNOPSIS
+.Nm sshd
+.Bk -words
+.Op Fl 46DdeGiqTtV
+.Op Fl C Ar connection_spec
+.Op Fl c Ar host_certificate_file
+.Op Fl E Ar log_file
+.Op Fl f Ar config_file
+.Op Fl g Ar login_grace_time
+.Op Fl h Ar host_key_file
+.Op Fl o Ar option
+.Op Fl p Ar port
+.Op Fl u Ar len
+.Ek
+.Sh DESCRIPTION
+.Nm
+(OpenSSH Daemon) is the daemon program for
+.Xr ssh 1 .
+It provides secure encrypted communications between two untrusted hosts
+over an insecure network.
+.Pp
+.Nm
+listens for connections from clients.
+It is normally started at boot from
+.Pa /etc/rc .
+It forks a new
+daemon for each incoming connection.
+The forked daemons handle
+key exchange, encryption, authentication, command execution,
+and data exchange.
+.Pp
+.Nm
+can be configured using command-line options or a configuration file
+(by default
+.Xr sshd_config 5 ) ;
+command-line options override values specified in the
+configuration file.
+.Nm
+rereads its configuration file when it receives a hangup signal,
+.Dv SIGHUP ,
+by executing itself with the name and options it was started with, e.g.\&
+.Pa /usr/sbin/sshd .
+.Pp
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl 4
+Forces
+.Nm
+to use IPv4 addresses only.
+.It Fl 6
+Forces
+.Nm
+to use IPv6 addresses only.
+.It Fl C Ar connection_spec
+Specify the connection parameters to use for the
+.Fl T
+extended test mode.
+If provided, any
+.Cm Match
+directives in the configuration file that would apply are applied before the
+configuration is written to standard output.
+The connection parameters are supplied as keyword=value pairs and may be
+supplied in any order, either with multiple
+.Fl C
+options or as a comma-separated list.
+The keywords are
+.Dq addr ,
+.Dq user ,
+.Dq host ,
+.Dq laddr ,
+.Dq lport ,
+and
+.Dq rdomain
+and correspond to source address, user, resolved source host name,
+local address, local port number and routing domain respectively.
+.It Fl c Ar host_certificate_file
+Specifies a path to a certificate file to identify
+.Nm
+during key exchange.
+The certificate file must match a host key file specified using the
+.Fl h
+option or the
+.Cm HostKey
+configuration directive.
+.It Fl D
+When this option is specified,
+.Nm
+will not detach and does not become a daemon.
+This allows easy monitoring of
+.Nm sshd .
+.It Fl d
+Debug mode.
+The server sends verbose debug output to standard error,
+and does not put itself in the background.
+The server also will not
+.Xr fork 2
+and will only process one connection.
+This option is only intended for debugging for the server.
+Multiple
+.Fl d
+options increase the debugging level.
+Maximum is 3.
+.It Fl E Ar log_file
+Append debug logs to
+.Ar log_file
+instead of the system log.
+.It Fl e
+Write debug logs to standard error instead of the system log.
+.It Fl f Ar config_file
+Specifies the name of the configuration file.
+The default is
+.Pa /etc/ssh/sshd_config .
+.Nm
+refuses to start if there is no configuration file.
+.It Fl G
+Parse and print configuration file.
+Check the validity of the configuration file, output the effective configuration
+to stdout and then exit.
+Optionally,
+.Cm Match
+rules may be applied by specifying the connection parameters using one or more
+.Fl C
+options.
+.It Fl g Ar login_grace_time
+Gives the grace time for clients to authenticate themselves (default
+120 seconds).
+If the client fails to authenticate the user within
+this many seconds, the server disconnects and exits.
+A value of zero indicates no limit.
+.It Fl h Ar host_key_file
+Specifies a file from which a host key is read.
+This option must be given if
+.Nm
+is not run as root (as the normal
+host key files are normally not readable by anyone but root).
+The default is
+.Pa /etc/ssh/ssh_host_ecdsa_key ,
+.Pa /etc/ssh/ssh_host_ed25519_key
+and
+.Pa /etc/ssh/ssh_host_rsa_key .
+It is possible to have multiple host key files for
+the different host key algorithms.
+.It Fl i
+Specifies that
+.Nm
+is being run from
+.Xr inetd 8 .
+.It Fl o Ar option
+Can be used to give options in the format used in the configuration file.
+This is useful for specifying options for which there is no separate
+command-line flag.
+For full details of the options, and their values, see
+.Xr sshd_config 5 .
+.It Fl p Ar port
+Specifies the port on which the server listens for connections
+(default 22).
+Multiple port options are permitted.
+Ports specified in the configuration file with the
+.Cm Port
+option are ignored when a command-line port is specified.
+Ports specified using the
+.Cm ListenAddress
+option override command-line ports.
+.It Fl q
+Quiet mode.
+Nothing is sent to the system log.
+Normally the beginning,
+authentication, and termination of each connection is logged.
+.It Fl T
+Extended test mode.
+Check the validity of the configuration file, output the effective configuration
+to stdout and then exit.
+Optionally,
+.Cm Match
+rules may be applied by specifying the connection parameters using one or more
+.Fl C
+options.
+This is similar to the
+.Fl G
+flag, but it includes the additional testing performed by the
+.Fl t
+flag.
+.It Fl t
+Test mode.
+Only check the validity of the configuration file and sanity of the keys.
+This is useful for updating
+.Nm
+reliably as configuration options may change.
+.It Fl u Ar len
+This option is used to specify the size of the field
+in the
+.Vt utmp
+structure that holds the remote host name.
+If the resolved host name is longer than
+.Ar len ,
+the dotted decimal value will be used instead.
+This allows hosts with very long host names that
+overflow this field to still be uniquely identified.
+Specifying
+.Fl u0
+indicates that only dotted decimal addresses
+should be put into the
+.Pa utmp
+file.
+.Fl u0
+may also be used to prevent
+.Nm
+from making DNS requests unless the authentication
+mechanism or configuration requires it.
+Authentication mechanisms that may require DNS include
+.Cm HostbasedAuthentication
+and using a
+.Cm from="pattern-list"
+option in a key file.
+Configuration options that require DNS include using a
+USER@HOST pattern in
+.Cm AllowUsers
+or
+.Cm DenyUsers .
+.It Fl V
+Display the version number and exit.
+.El
+.Sh AUTHENTICATION
+The OpenSSH SSH daemon supports SSH protocol 2 only.
+Each host has a host-specific key,
+used to identify the host.
+Whenever a client connects, the daemon responds with its public
+host key.
+The client compares the
+host key against its own database to verify that it has not changed.
+Forward secrecy is provided through a Diffie-Hellman key agreement.
+This key agreement results in a shared session key.
+The rest of the session is encrypted using a symmetric cipher.
+The client selects the encryption algorithm
+to use from those offered by the server.
+Additionally, session integrity is provided
+through a cryptographic message authentication code (MAC).
+.Pp
+Finally, the server and the client enter an authentication dialog.
+The client tries to authenticate itself using
+host-based authentication,
+public key authentication,
+GSSAPI authentication,
+challenge-response authentication,
+or password authentication.
+.Pp
+Regardless of the authentication type, the account is checked to
+ensure that it is accessible. An account is not accessible if it is
+locked, listed in
+.Cm DenyUsers
+or its group is listed in
+.Cm DenyGroups
+\&. The definition of a locked account is system dependent. Some platforms
+have their own account database (eg AIX) and some modify the passwd field (
+.Ql \&*LK\&*
+on Solaris and UnixWare,
+.Ql \&*
+on HP-UX, containing
+.Ql Nologin
+on Tru64,
+a leading
+.Ql \&*LOCKED\&*
+on FreeBSD and a leading
+.Ql \&!
+on most Linuxes).
+If there is a requirement to disable password authentication
+for the account while allowing still public-key, then the passwd field
+should be set to something other than these values (eg
+.Ql NP
+or
+.Ql \&*NP\&*
+).
+.Pp
+If the client successfully authenticates itself, a dialog for
+preparing the session is entered.
+At this time the client may request
+things like allocating a pseudo-tty, forwarding X11 connections,
+forwarding TCP connections, or forwarding the authentication agent
+connection over the secure channel.
+.Pp
+After this, the client either requests an interactive shell or execution
+of a non-interactive command, which
+.Nm
+will execute via the user's shell using its
+.Fl c
+option.
+The sides then enter session mode.
+In this mode, either side may send
+data at any time, and such data is forwarded to/from the shell or
+command on the server side, and the user terminal in the client side.
+.Pp
+When the user program terminates and all forwarded X11 and other
+connections have been closed, the server sends command exit status to
+the client, and both sides exit.
+.Sh LOGIN PROCESS
+When a user successfully logs in,
+.Nm
+does the following:
+.Bl -enum -offset indent
+.It
+If the login is on a tty, and no command has been specified,
+prints last login time and
+.Pa /etc/motd
+(unless prevented in the configuration file or by
+.Pa ~/.hushlogin ;
+see the
+.Sx FILES
+section).
+.It
+If the login is on a tty, records login time.
+.It
+Checks
+.Pa /etc/nologin ;
+if it exists, prints contents and quits
+(unless root).
+.It
+Changes to run with normal user privileges.
+.It
+Sets up basic environment.
+.It
+Reads the file
+.Pa ~/.ssh/environment ,
+if it exists, and users are allowed to change their environment.
+See the
+.Cm PermitUserEnvironment
+option in
+.Xr sshd_config 5 .
+.It
+Changes to user's home directory.
+.It
+If
+.Pa ~/.ssh/rc
+exists and the
+.Xr sshd_config 5
+.Cm PermitUserRC
+option is set, runs it; else if
+.Pa /etc/ssh/sshrc
+exists, runs
+it; otherwise runs
+.Xr xauth 1 .
+The
+.Dq rc
+files are given the X11
+authentication protocol and cookie in standard input.
+See
+.Sx SSHRC ,
+below.
+.It
+Runs user's shell or command.
+All commands are run under the user's login shell as specified in the
+system password database.
+.El
+.Sh SSHRC
+If the file
+.Pa ~/.ssh/rc
+exists,
+.Xr sh 1
+runs it after reading the
+environment files but before starting the user's shell or command.
+It must not produce any output on stdout; stderr must be used
+instead.
+If X11 forwarding is in use, it will receive the "proto cookie" pair in
+its standard input (and
+.Ev DISPLAY
+in its environment).
+The script must call
+.Xr xauth 1
+because
+.Nm
+will not run xauth automatically to add X11 cookies.
+.Pp
+The primary purpose of this file is to run any initialization routines
+which may be needed before the user's home directory becomes
+accessible; AFS is a particular example of such an environment.
+.Pp
+This file will probably contain some initialization code followed by
+something similar to:
+.Bd -literal -offset 3n
+if read proto cookie && [ -n "$DISPLAY" ]; then
+ if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
+ # X11UseLocalhost=yes
+ echo add unix:`echo $DISPLAY |
+ cut -c11-` $proto $cookie
+ else
+ # X11UseLocalhost=no
+ echo add $DISPLAY $proto $cookie
+ fi | xauth -q -
+fi
+.Ed
+.Pp
+If this file does not exist,
+.Pa /etc/ssh/sshrc
+is run, and if that
+does not exist either, xauth is used to add the cookie.
+.Sh AUTHORIZED_KEYS FILE FORMAT
+.Cm AuthorizedKeysFile
+specifies the files containing public keys for
+public key authentication;
+if this option is not specified, the default is
+.Pa ~/.ssh/authorized_keys
+and
+.Pa ~/.ssh/authorized_keys2 .
+Each line of the file contains one
+key (empty lines and lines starting with a
+.Ql #
+are ignored as
+comments).
+Public keys consist of the following space-separated fields:
+options, keytype, base64-encoded key, comment.
+The options field is optional.
+The supported key types are:
+.Pp
+.Bl -item -compact -offset indent
+.It
+sk-ecdsa-sha2-nistp256@openssh.com
+.It
+ecdsa-sha2-nistp256
+.It
+ecdsa-sha2-nistp384
+.It
+ecdsa-sha2-nistp521
+.It
+sk-ssh-ed25519@openssh.com
+.It
+ssh-ed25519
+.It
+ssh-dss
+.It
+ssh-rsa
+.El
+.Pp
+The comment field is not used for anything (but may be convenient for the
+user to identify the key).
+.Pp
+Note that lines in this file can be several hundred bytes long
+(because of the size of the public key encoding) up to a limit of
+8 kilobytes, which permits RSA keys up to 16 kilobits.
+You don't want to type them in; instead, copy the
+.Pa id_dsa.pub ,
+.Pa id_ecdsa.pub ,
+.Pa id_ecdsa_sk.pub ,
+.Pa id_ed25519.pub ,
+.Pa id_ed25519_sk.pub ,
+or the
+.Pa id_rsa.pub
+file and edit it.
+.Pp
+.Nm
+enforces a minimum RSA key modulus size of 1024 bits.
+.Pp
+The options (if present) consist of comma-separated option
+specifications.
+No spaces are permitted, except within double quotes.
+The following option specifications are supported (note
+that option keywords are case-insensitive):
+.Bl -tag -width Ds
+.It Cm agent-forwarding
+Enable authentication agent forwarding previously disabled by the
+.Cm restrict
+option.
+.It Cm cert-authority
+Specifies that the listed key is a certification authority (CA) that is
+trusted to validate signed certificates for user authentication.
+.Pp
+Certificates may encode access restrictions similar to these key options.
+If both certificate restrictions and key options are present, the most
+restrictive union of the two is applied.
+.It Cm command="command"
+Specifies that the command is executed whenever this key is used for
+authentication.
+The command supplied by the user (if any) is ignored.
+The command is run on a pty if the client requests a pty;
+otherwise it is run without a tty.
+If an 8-bit clean channel is required,
+one must not request a pty or should specify
+.Cm no-pty .
+A quote may be included in the command by quoting it with a backslash.
+.Pp
+This option might be useful
+to restrict certain public keys to perform just a specific operation.
+An example might be a key that permits remote backups but nothing else.
+Note that the client may specify TCP and/or X11
+forwarding unless they are explicitly prohibited, e.g. using the
+.Cm restrict
+key option.
+.Pp
+The command originally supplied by the client is available in the
+.Ev SSH_ORIGINAL_COMMAND
+environment variable.
+Note that this option applies to shell, command or subsystem execution.
+Also note that this command may be superseded by a
+.Xr sshd_config 5
+.Cm ForceCommand
+directive.
+.Pp
+If a command is specified and a forced-command is embedded in a certificate
+used for authentication, then the certificate will be accepted only if the
+two commands are identical.
+.It Cm environment="NAME=value"
+Specifies that the string is to be added to the environment when
+logging in using this key.
+Environment variables set this way
+override other default environment values.
+Multiple options of this type are permitted.
+Environment processing is disabled by default and is
+controlled via the
+.Cm PermitUserEnvironment
+option.
+.It Cm expiry-time="timespec"
+Specifies a time after which the key will not be accepted.
+The time may be specified as a YYYYMMDD[Z] date or a YYYYMMDDHHMM[SS][Z] time.
+Dates and times will be interpreted in the system time zone unless suffixed
+by a Z character, in which case they will be interpreted in the UTC time zone.
+.It Cm from="pattern-list"
+Specifies that in addition to public key authentication, either the canonical
+name of the remote host or its IP address must be present in the
+comma-separated list of patterns.
+See PATTERNS in
+.Xr ssh_config 5
+for more information on patterns.
+.Pp
+In addition to the wildcard matching that may be applied to hostnames or
+addresses, a
+.Cm from
+stanza may match IP addresses using CIDR address/masklen notation.
+.Pp
+The purpose of this option is to optionally increase security: public key
+authentication by itself does not trust the network or name servers or
+anything (but the key); however, if somebody somehow steals the key, the key
+permits an intruder to log in from anywhere in the world.
+This additional option makes using a stolen key more difficult (name
+servers and/or routers would have to be compromised in addition to
+just the key).
+.It Cm no-agent-forwarding
+Forbids authentication agent forwarding when this key is used for
+authentication.
+.It Cm no-port-forwarding
+Forbids TCP forwarding when this key is used for authentication.
+Any port forward requests by the client will return an error.
+This might be used, e.g. in connection with the
+.Cm command
+option.
+.It Cm no-pty
+Prevents tty allocation (a request to allocate a pty will fail).
+.It Cm no-user-rc
+Disables execution of
+.Pa ~/.ssh/rc .
+.It Cm no-X11-forwarding
+Forbids X11 forwarding when this key is used for authentication.
+Any X11 forward requests by the client will return an error.
+.It Cm permitlisten="[host:]port"
+Limit remote port forwarding with the
+.Xr ssh 1
+.Fl R
+option such that it may only listen on the specified host (optional) and port.
+IPv6 addresses can be specified by enclosing the address in square brackets.
+Multiple
+.Cm permitlisten
+options may be applied separated by commas.
+Hostnames may include wildcards as described in the PATTERNS section in
+.Xr ssh_config 5 .
+A port specification of
+.Cm *
+matches any port.
+Note that the setting of
+.Cm GatewayPorts
+may further restrict listen addresses.
+Note that
+.Xr ssh 1
+will send a hostname of
+.Dq localhost
+if a listen host was not specified when the forwarding was requested, and
+that this name is treated differently to the explicit localhost addresses
+.Dq 127.0.0.1
+and
+.Dq ::1 .
+.It Cm permitopen="host:port"
+Limit local port forwarding with the
+.Xr ssh 1
+.Fl L
+option such that it may only connect to the specified host and port.
+IPv6 addresses can be specified by enclosing the address in square brackets.
+Multiple
+.Cm permitopen
+options may be applied separated by commas.
+No pattern matching or name lookup is performed on the
+specified hostnames, they must be literal host names and/or addresses.
+A port specification of
+.Cm *
+matches any port.
+.It Cm port-forwarding
+Enable port forwarding previously disabled by the
+.Cm restrict
+option.
+.It Cm principals="principals"
+On a
+.Cm cert-authority
+line, specifies allowed principals for certificate authentication as a
+comma-separated list.
+At least one name from the list must appear in the certificate's
+list of principals for the certificate to be accepted.
+This option is ignored for keys that are not marked as trusted certificate
+signers using the
+.Cm cert-authority
+option.
+.It Cm pty
+Permits tty allocation previously disabled by the
+.Cm restrict
+option.
+.It Cm no-touch-required
+Do not require demonstration of user presence
+for signatures made using this key.
+This option only makes sense for the FIDO authenticator algorithms
+.Cm ecdsa-sk
+and
+.Cm ed25519-sk .
+.It Cm verify-required
+Require that signatures made using this key attest that they verified
+the user, e.g. via a PIN.
+This option only makes sense for the FIDO authenticator algorithms
+.Cm ecdsa-sk
+and
+.Cm ed25519-sk .
+.It Cm restrict
+Enable all restrictions, i.e. disable port, agent and X11 forwarding,
+as well as disabling PTY allocation
+and execution of
+.Pa ~/.ssh/rc .
+If any future restriction capabilities are added to authorized_keys files,
+they will be included in this set.
+.It Cm tunnel="n"
+Force a
+.Xr tun 4
+device on the server.
+Without this option, the next available device will be used if
+the client requests a tunnel.
+.It Cm user-rc
+Enables execution of
+.Pa ~/.ssh/rc
+previously disabled by the
+.Cm restrict
+option.
+.It Cm X11-forwarding
+Permits X11 forwarding previously disabled by the
+.Cm restrict
+option.
+.El
+.Pp
+An example authorized_keys file:
+.Bd -literal -offset 3n
+# Comments are allowed at start of line. Blank lines are allowed.
+# Plain key, no restrictions
+ssh-rsa ...
+# Forced command, disable PTY and all forwarding
+restrict,command="dump /home" ssh-rsa ...
+# Restriction of ssh -L forwarding destinations
+permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa ...
+# Restriction of ssh -R forwarding listeners
+permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa ...
+# Configuration for tunnel forwarding
+tunnel="0",command="sh /etc/netstart tun0" ssh-rsa ...
+# Override of restriction to allow PTY allocation
+restrict,pty,command="nethack" ssh-rsa ...
+# Allow FIDO key without requiring touch
+no-touch-required sk-ecdsa-sha2-nistp256@openssh.com ...
+# Require user-verification (e.g. PIN or biometric) for FIDO key
+verify-required sk-ecdsa-sha2-nistp256@openssh.com ...
+# Trust CA key, allow touch-less FIDO if requested in certificate
+cert-authority,no-touch-required,principals="user_a" ssh-rsa ...
+.Ed
+.Sh SSH_KNOWN_HOSTS FILE FORMAT
+The
+.Pa /etc/ssh/ssh_known_hosts
+and
+.Pa ~/.ssh/known_hosts
+files contain host public keys for all known hosts.
+The global file should
+be prepared by the administrator (optional), and the per-user file is
+maintained automatically: whenever the user connects to an unknown host,
+its key is added to the per-user file.
+.Pp
+Each line in these files contains the following fields: marker (optional),
+hostnames, keytype, base64-encoded key, comment.
+The fields are separated by spaces.
+.Pp
+The marker is optional, but if it is present then it must be one of
+.Dq @cert-authority ,
+to indicate that the line contains a certification authority (CA) key,
+or
+.Dq @revoked ,
+to indicate that the key contained on the line is revoked and must not ever
+be accepted.
+Only one marker should be used on a key line.
+.Pp
+Hostnames is a comma-separated list of patterns
+.Pf ( Ql *
+and
+.Ql \&?
+act as
+wildcards); each pattern in turn is matched against the host name.
+When
+.Nm sshd
+is authenticating a client, such as when using
+.Cm HostbasedAuthentication ,
+this will be the canonical client host name.
+When
+.Xr ssh 1
+is authenticating a server, this will be the host name
+given by the user, the value of the
+.Xr ssh 1
+.Cm HostkeyAlias
+if it was specified, or the canonical server hostname if the
+.Xr ssh 1
+.Cm CanonicalizeHostname
+option was used.
+.Pp
+A pattern may also be preceded by
+.Ql \&!
+to indicate negation: if the host name matches a negated
+pattern, it is not accepted (by that line) even if it matched another
+pattern on the line.
+A hostname or address may optionally be enclosed within
+.Ql \&[
+and
+.Ql \&]
+brackets then followed by
+.Ql \&:
+and a non-standard port number.
+.Pp
+Alternately, hostnames may be stored in a hashed form which hides host names
+and addresses should the file's contents be disclosed.
+Hashed hostnames start with a
+.Ql |
+character.
+Only one hashed hostname may appear on a single line and none of the above
+negation or wildcard operators may be applied.
+.Pp
+The keytype and base64-encoded key are taken directly from the host key; they
+can be obtained, for example, from
+.Pa /etc/ssh/ssh_host_rsa_key.pub .
+The optional comment field continues to the end of the line, and is not used.
+.Pp
+Lines starting with
+.Ql #
+and empty lines are ignored as comments.
+.Pp
+When performing host authentication, authentication is accepted if any
+matching line has the proper key; either one that matches exactly or,
+if the server has presented a certificate for authentication, the key
+of the certification authority that signed the certificate.
+For a key to be trusted as a certification authority, it must use the
+.Dq @cert-authority
+marker described above.
+.Pp
+The known hosts file also provides a facility to mark keys as revoked,
+for example when it is known that the associated private key has been
+stolen.
+Revoked keys are specified by including the
+.Dq @revoked
+marker at the beginning of the key line, and are never accepted for
+authentication or as certification authorities, but instead will
+produce a warning from
+.Xr ssh 1
+when they are encountered.
+.Pp
+It is permissible (but not
+recommended) to have several lines or different host keys for the same
+names.
+This will inevitably happen when short forms of host names
+from different domains are put in the file.
+It is possible
+that the files contain conflicting information; authentication is
+accepted if valid information can be found from either file.
+.Pp
+Note that the lines in these files are typically hundreds of characters
+long, and you definitely don't want to type in the host keys by hand.
+Rather, generate them by a script,
+.Xr ssh-keyscan 1
+or by taking, for example,
+.Pa /etc/ssh/ssh_host_rsa_key.pub
+and adding the host names at the front.
+.Xr ssh-keygen 1
+also offers some basic automated editing for
+.Pa ~/.ssh/known_hosts
+including removing hosts matching a host name and converting all host
+names to their hashed representations.
+.Pp
+An example ssh_known_hosts file:
+.Bd -literal -offset 3n
+# Comments allowed at start of line
+cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....=
+# A hashed hostname
+|1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa
+AAAA1234.....=
+# A revoked key
+@revoked * ssh-rsa AAAAB5W...
+# A CA key, accepted for any host in *.mydomain.com or *.mydomain.org
+@cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W...
+.Ed
+.Sh FILES
+.Bl -tag -width Ds -compact
+.It Pa ~/.hushlogin
+This file is used to suppress printing the last login time and
+.Pa /etc/motd ,
+if
+.Cm PrintLastLog
+and
+.Cm PrintMotd ,
+respectively,
+are enabled.
+It does not suppress printing of the banner specified by
+.Cm Banner .
+.Pp
+.It Pa ~/.rhosts
+This file is used for host-based authentication (see
+.Xr ssh 1
+for more information).
+On some machines this file may need to be
+world-readable if the user's home directory is on an NFS partition,
+because
+.Nm
+reads it as root.
+Additionally, this file must be owned by the user,
+and must not have write permissions for anyone else.
+The recommended
+permission for most machines is read/write for the user, and not
+accessible by others.
+.Pp
+.It Pa ~/.shosts
+This file is used in exactly the same way as
+.Pa .rhosts ,
+but allows host-based authentication without permitting login with
+rlogin/rsh.
+.Pp
+.It Pa ~/.k5login
+.It Pa ~/.k5users
+These files enforce GSSAPI/Kerberos authentication access control.
+Further details are described in
+.Xr ksu 1 .
+The location of the k5login file depends on the configuration option
+.Cm k5login_directory
+in the
+.Xr krb5.conf 5 .
+.Pp
+.It Pa ~/.ssh/
+This directory is the default location for all user-specific configuration
+and authentication information.
+There is no general requirement to keep the entire contents of this directory
+secret, but the recommended permissions are read/write/execute for the user,
+and not accessible by others.
+.Pp
+.It Pa ~/.ssh/authorized_keys
+Lists the public keys (DSA, ECDSA, Ed25519, RSA)
+that can be used for logging in as this user.
+The format of this file is described above.
+The content of the file is not highly sensitive, but the recommended
+permissions are read/write for the user, and not accessible by others.
+.Pp
+If this file, the
+.Pa ~/.ssh
+directory, or the user's home directory are writable
+by other users, then the file could be modified or replaced by unauthorized
+users.
+In this case,
+.Nm
+will not allow it to be used unless the
+.Cm StrictModes
+option has been set to
+.Dq no .
+.Pp
+.It Pa ~/.ssh/environment
+This file is read into the environment at login (if it exists).
+It can only contain empty lines, comment lines (that start with
+.Ql # ) ,
+and assignment lines of the form name=value.
+The file should be writable
+only by the user; it need not be readable by anyone else.
+Environment processing is disabled by default and is
+controlled via the
+.Cm PermitUserEnvironment
+option.
+.Pp
+.It Pa ~/.ssh/known_hosts
+Contains a list of host keys for all hosts the user has logged into
+that are not already in the systemwide list of known host keys.
+The format of this file is described above.
+This file should be writable only by root/the owner and
+can, but need not be, world-readable.
+.Pp
+.It Pa ~/.ssh/rc
+Contains initialization routines to be run before
+the user's home directory becomes accessible.
+This file should be writable only by the user, and need not be
+readable by anyone else.
+.Pp
+.It Pa /etc/hosts.equiv
+This file is for host-based authentication (see
+.Xr ssh 1 ) .
+It should only be writable by root.
+.Pp
+.It Pa /etc/ssh/moduli
+Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange"
+key exchange method.
+The file format is described in
+.Xr moduli 5 .
+If no usable groups are found in this file then fixed internal groups will
+be used.
+.Pp
+.It Pa /etc/motd
+See
+.Xr motd 5 .
+.Pp
+.It Pa /etc/nologin
+If this file exists,
+.Nm
+refuses to let anyone except root log in.
+The contents of the file
+are displayed to anyone trying to log in, and non-root connections are
+refused.
+The file should be world-readable.
+.Pp
+.It Pa /etc/ssh/shosts.equiv
+This file is used in exactly the same way as
+.Pa hosts.equiv ,
+but allows host-based authentication without permitting login with
+rlogin/rsh.
+.Pp
+.It Pa /etc/ssh/ssh_host_ecdsa_key
+.It Pa /etc/ssh/ssh_host_ed25519_key
+.It Pa /etc/ssh/ssh_host_rsa_key
+These files contain the private parts of the host keys.
+These files should only be owned by root, readable only by root, and not
+accessible to others.
+Note that
+.Nm
+does not start if these files are group/world-accessible.
+.Pp
+.It Pa /etc/ssh/ssh_host_ecdsa_key.pub
+.It Pa /etc/ssh/ssh_host_ed25519_key.pub
+.It Pa /etc/ssh/ssh_host_rsa_key.pub
+These files contain the public parts of the host keys.
+These files should be world-readable but writable only by
+root.
+Their contents should match the respective private parts.
+These files are not
+really used for anything; they are provided for the convenience of
+the user so their contents can be copied to known hosts files.
+These files are created using
+.Xr ssh-keygen 1 .
+.Pp
+.It Pa /etc/ssh/ssh_known_hosts
+Systemwide list of known host keys.
+This file should be prepared by the
+system administrator to contain the public host keys of all machines in the
+organization.
+The format of this file is described above.
+This file should be writable only by root/the owner and
+should be world-readable.
+.Pp
+.It Pa /etc/ssh/sshd_config
+Contains configuration data for
+.Nm sshd .
+The file format and configuration options are described in
+.Xr sshd_config 5 .
+.Pp
+.It Pa /etc/ssh/sshrc
+Similar to
+.Pa ~/.ssh/rc ,
+it can be used to specify
+machine-specific login-time initializations globally.
+This file should be writable only by root, and should be world-readable.
+.Pp
+.It Pa /usr/share/empty.sshd
+.Xr chroot 2
+directory used by
+.Nm
+during privilege separation in the pre-authentication phase.
+The directory should not contain any files and must be owned by root
+and not group or world-writable.
+.Pp
+.It Pa /var/run/sshd.pid
+Contains the process ID of the
+.Nm
+listening for connections (if there are several daemons running
+concurrently for different ports, this contains the process ID of the one
+started last).
+The content of this file is not sensitive; it can be world-readable.
+.El
+.Sh IPV6
+IPv6 address can be used everywhere where IPv4 address. In all entries must be the IPv6 address enclosed in square brackets. Note: The square brackets are metacharacters for the shell and must be escaped in shell.
+.Sh SEE ALSO
+.Xr scp 1 ,
+.Xr sftp 1 ,
+.Xr ssh 1 ,
+.Xr ssh-add 1 ,
+.Xr ssh-agent 1 ,
+.Xr ssh-keygen 1 ,
+.Xr ssh-keyscan 1 ,
+.Xr chroot 2 ,
+.Xr login.conf 5 ,
+.Xr moduli 5 ,
+.Xr sshd_config 5 ,
+.Xr inetd 8 ,
+.Xr sftp-server 8
+.Sh AUTHORS
+OpenSSH is a derivative of the original and free
+ssh 1.2.12 release by Tatu Ylonen.
+Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
+Theo de Raadt and Dug Song
+removed many bugs, re-added newer features and
+created OpenSSH.
+Markus Friedl contributed the support for SSH
+protocol versions 1.5 and 2.0.
+Niels Provos and Markus Friedl contributed support
+for privilege separation.
diff --git a/upstream/fedora-40/man8/statd.8 b/upstream/fedora-40/man8/statd.8
new file mode 100644
index 00000000..77f8f1cf
--- /dev/null
+++ b/upstream/fedora-40/man8/statd.8
@@ -0,0 +1,451 @@
+.\"@(#)rpc.statd.8"
+.\"
+.\" Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de>
+.\" Modified by Jeffrey A. Uphoff, 1999, 2002, 2005.
+.\" Modified by Lon Hohberger, 2000.
+.\" Modified by Paul Clements, 2004.
+.\"
+.\" Rewritten by Chuck Lever <chuck.lever@oracle.com>, 2009.
+.\" Copyright 2009 Oracle. All rights reserved.
+.\"
+.TH RPC.STATD 8 "1 November 2009"
+.SH NAME
+rpc.statd \- NSM service daemon
+.SH SYNOPSIS
+.BI "rpc.statd [-dh?FLNvV] [-H " prog "] [-n " my-name "] [-o " outgoing-port ]
+.ti +10
+.BI "[-p " listener-port "] [-P " path ]
+.ti +10
+.BI "[--nlm-port " port "] [--nlm-udp-port " port ]
+.SH DESCRIPTION
+File locks are not part of persistent file system state.
+Lock state is thus lost when a host reboots.
+.PP
+Network file systems must also detect when lock state is lost
+because a remote host has rebooted.
+After an NFS client reboots, an NFS server must release all file locks
+held by applications that were running on that client.
+After a server reboots, a client must remind the
+server of file locks held by applications running on that client.
+.PP
+For NFS version 2 [RFC1094] and NFS version 3 [RFC1813], the
+.I Network Status Monitor
+protocol (or NSM for short)
+is used to notify NFS peers of reboots.
+On Linux, two separate user-space components constitute the NSM service:
+.TP
+.B rpc.statd
+A daemon that listens for reboot notifications from other hosts, and
+manages the list of hosts to be notified when the local system reboots
+.TP
+.B sm-notify
+A helper program that notifies NFS peers after the local system reboots
+.PP
+The local NFS lock manager alerts its local
+.B rpc.statd
+of each remote peer that should be monitored.
+When the local system reboots, the
+.B sm-notify
+command notifies the NSM service on monitored peers of the reboot.
+When a remote reboots, that peer notifies the local
+.BR rpc.statd ,
+which in turn passes the reboot notification
+back to the local NFS lock manager.
+.SH NSM OPERATION IN DETAIL
+The first file locking interaction between an NFS client and server causes
+the NFS lock managers on both peers to contact their local NSM service to
+store information about the opposite peer.
+On Linux, the local lock manager contacts
+.BR rpc.statd .
+.PP
+.B rpc.statd
+records information about each monitored NFS peer on persistent storage.
+This information describes how to contact a remote peer
+in case the local system reboots,
+how to recognize which monitored peer is reporting a reboot,
+and how to notify the local lock manager when a monitored peer
+indicates it has rebooted.
+.PP
+An NFS client sends a hostname, known as the client's
+.IR caller_name ,
+in each file lock request.
+An NFS server can use this hostname to send asynchronous GRANT
+calls to a client, or to notify the client it has rebooted.
+.PP
+The Linux NFS server can provide the client's
+.I caller_name
+or the client's network address to
+.BR rpc.statd .
+For the purposes of the NSM protocol,
+this name or address is known as the monitored peer's
+.IR mon_name .
+In addition, the local lock manager tells
+.B rpc.statd
+what it thinks its own hostname is.
+For the purposes of the NSM protocol,
+this hostname is known as
+.IR my_name .
+.PP
+There is no equivalent interaction between an NFS server and a client
+to inform the client of the server's
+.IR caller_name .
+Therefore NFS clients do not actually know what
+.I mon_name
+an NFS server might use in an SM_NOTIFY request.
+The Linux NFS client uses the server hostname from the mount command
+to identify rebooting NFS servers.
+.SS Reboot notification
+When the local system reboots, the
+.B sm-notify
+command reads the list of monitored peers from persistent storage and
+sends an SM_NOTIFY request to the NSM service on each listed remote peer.
+It uses the
+.I mon_name
+string as the destination.
+To identify which host has rebooted, the
+.B sm-notify
+command sends the
+.I my_name
+string recorded when that remote was monitored.
+The remote
+.B rpc.statd
+matches incoming SM_NOTIFY requests using this string,
+or the caller's network address,
+to one or more peers on its own monitor list.
+.PP
+If
+.B rpc.statd
+does not find a peer on its monitor list that matches
+an incoming SM_NOTIFY request,
+the notification is not forwarded to the local lock manager.
+In addition, each peer has its own
+.IR "NSM state number" ,
+a 32-bit integer that is bumped after each reboot by the
+.B sm-notify
+command.
+.B rpc.statd
+uses this number to distinguish between actual reboots
+and replayed notifications.
+.PP
+Part of NFS lock recovery is rediscovering
+which peers need to be monitored again.
+The
+.B sm-notify
+command clears the monitor list on persistent storage after each reboot.
+.SH OPTIONS
+.TP
+.BR -d , " --no-syslog
+Causes
+.B rpc.statd
+to write log messages on
+.I stderr
+instead of to the system log,
+if the
+.B -F
+option was also specified.
+.TP
+.BR -F , " --foreground
+Keeps
+.B rpc.statd
+attached to its controlling terminal so that NSM
+operation can be monitored directly or run under a debugger.
+If this option is not specified,
+.B rpc.statd
+backgrounds itself soon after it starts.
+.TP
+.BR -h , " -?" , " --help
+Causes
+.B rpc.statd
+to display usage information on
+.I stderr
+and then exit.
+.TP
+.BI "\-H," "" " \-\-ha-callout " prog
+Specifies a high availability callout program.
+If this option is not specified, no callouts are performed.
+See the
+.B High-availability callouts
+section below for details.
+.TP
+.BR -L , " --no-notify
+Prevents
+.B rpc.statd
+from running the
+.B sm-notify
+command when it starts up,
+preserving the existing NSM state number and monitor list.
+.IP
+Note: the
+.B sm-notify
+command contains a check to ensure it runs only once after each system reboot.
+This prevents spurious reboot notification if
+.B rpc.statd
+restarts without the
+.B -L
+option.
+.TP
+.BI "\-n, " "" "\-\-name " ipaddr " | " hostname
+This string is only used by the
+.B sm-notify
+command as the source address from which to send reboot notification requests.
+.IP
+The
+.I ipaddr
+form can be expressed as either an IPv4 or an IPv6 presentation address.
+If this option is not specified,
+.B rpc.statd
+uses a wildcard address as the transport bind address.
+See
+.BR sm-notify (8)
+for details.
+.TP
+.BR -N
+Causes
+.B rpc.statd
+to run the
+.B sm-notify
+command, and then exit.
+Since the
+.B sm-notify
+command can also be run directly, this option is deprecated.
+.TP
+.BI "\-o," "" " \-\-outgoing\-port " port
+Specifies the source port number the
+.B sm-notify
+command should use when sending reboot notifications.
+See
+.BR sm-notify (8)
+for details.
+.TP
+.BI "\-p," "" " \-\-port " port
+Specifies the port number used for RPC listener sockets.
+If this option is not specified,
+.B rpc.statd
+will try to consult
+.IR /etc/services ,
+if gets port succeed, set the same port for all listener socket,
+otherwise chooses a random ephemeral port for each listener socket.
+.IP
+This option can be used to fix the port value of its listeners when
+SM_NOTIFY requests must traverse a firewall between clients and
+servers.
+.TP
+.BI "\-T," "" " \-\-nlm\-port " port
+Specifies the port number that
+.I lockd
+should listen on for
+.B NLM
+requests. This sets both the TCP and UDP ports unless the UDP port is
+set separately.
+.TP
+.BI "\-U," "" " \-\-nlm\-udp\-port " port
+Specifies the UDP port number that
+.I lockd
+should listen on for
+.B NLM
+requests.
+.TP
+.BI "\-P, " "" \-\-state\-directory\-path " pathname"
+Specifies the pathname of the parent directory
+where NSM state information resides.
+If this option is not specified,
+.B rpc.statd
+uses
+.I /var/lib/nfs/statd
+by default.
+.IP
+After starting,
+.B rpc.statd
+attempts to set its effective UID and GID to the owner
+and group of the subdirectory
+.B sm
+of this directory. After changing the effective ids,
+.B rpc.statd
+only needs to access files in
+.B sm
+and
+.B sm.bak
+within the state-directory-path.
+.TP
+.BR -v ", " -V ", " --version
+Causes
+.B rpc.statd
+to display version information on
+.I stderr
+and then exit.
+.SH CONFIGURATION FILE
+Many of the options that can be set on the command line can also be
+controlled through values set in the
+.B [statd]
+or, in some cases, the
+.B [lockd]
+sections of the
+.I /etc/nfs.conf
+configuration file.
+Values recognized in the
+.B [statd]
+section include
+.BR port ,
+.BR outgoing-port ,
+.BR name ,
+.BR state-directory-path ", and"
+.B ha-callout
+which each have the same effect as the option with the same name.
+
+The values recognized in the
+.B [lockd]
+section include
+.B port
+and
+.B udp-port
+which have the same effect as the
+.B --nlm-port
+and
+.B --nlm-udp-port
+options, respectively.
+
+.SH SECURITY
+The
+.B rpc.statd
+daemon must be started as root to acquire privileges needed
+to create sockets with privileged source ports, and to access the
+state information database.
+Because
+.B rpc.statd
+maintains a long-running network service, however, it drops root privileges
+as soon as it starts up to reduce the risk of a privilege escalation attack.
+.PP
+During normal operation,
+the effective user ID it chooses is the owner of the state directory.
+This allows it to continue to access files in that directory after it
+has dropped its root privileges.
+To control which user ID
+.B rpc.statd
+chooses, simply use
+.BR chown (1)
+to set the owner of
+the state directory.
+.SH ADDITIONAL NOTES
+Lock recovery after a reboot is critical to maintaining data integrity
+and preventing unnecessary application hangs.
+To help
+.B rpc.statd
+match SM_NOTIFY requests to NLM requests, a number of best practices
+should be observed, including:
+.IP
+The UTS nodename of your systems should match the DNS names that NFS
+peers use to contact them
+.IP
+The UTS nodenames of your systems should always be fully qualified domain names
+.IP
+The forward and reverse DNS mapping of the UTS nodenames should be
+consistent
+.IP
+The hostname the client uses to mount the server should match the server's
+.I mon_name
+in SM_NOTIFY requests it sends
+.PP
+Unmounting an NFS file system does not necessarily stop
+either the NFS client or server from monitoring each other.
+Both may continue monitoring each other for a time in case subsequent
+NFS traffic between the two results in fresh mounts and additional
+file locking.
+.PP
+On Linux, if the
+.B lockd
+kernel module is unloaded during normal operation,
+all remote NFS peers are unmonitored.
+This can happen on an NFS client, for example,
+if an automounter removes all NFS mount
+points due to inactivity.
+.SS High-availability callouts
+.B rpc.statd
+can exec a special callout program during processing of
+successful SM_MON, SM_UNMON, and SM_UNMON_ALL requests,
+or when it receives SM_NOTIFY.
+Such a program may be used in High Availability NFS (HA-NFS)
+environments to track lock state that may need to be migrated after
+a system reboot.
+.PP
+The name of the callout program is specified with the
+.B -H
+option.
+The program is run with 3 arguments:
+The first is either
+.B add-client
+.B del-client
+or
+.B sm-notify
+depending on the reason for the callout.
+The second is the
+.I mon_name
+of the monitored peer.
+The third is the
+.I caller_name
+of the requesting lock manager for
+.B add-client
+or
+.B del-client
+, otherwise it is
+.I IP_address
+of the caller sending SM_NOTIFY.
+The forth is the
+.I state_value
+in the SM_NOTIFY request.
+
+.SS IPv6 and TI-RPC support
+TI-RPC is a pre-requisite for supporting NFS on IPv6.
+If TI-RPC support is built into
+.BR rpc.statd ,
+it attempts to start listeners on network transports marked 'visible' in
+.IR /etc/netconfig .
+As long as at least one network transport listener starts successfully,
+.B rpc.statd
+will operate.
+.SH ENVIRONMENT
+.TP
+.B RPC_STATD_NO_NOTIFY=
+If set to a positive integer, has the same effect as
+.IR \-\-no\-notify .
+.SH FILES
+.TP 2.5i
+.I /var/lib/nfs/statd/sm
+directory containing monitor list
+.TP 2.5i
+.I /var/lib/nfs/statd/sm.bak
+directory containing notify list
+.TP 2.5i
+.I /var/lib/nfs/statd/state
+NSM state number for this host
+.TP 2.5i
+.I /run/run.statd.pid
+pid file
+.TP 2.5i
+.I /etc/netconfig
+network transport capability database
+.SH SEE ALSO
+.BR sm-notify (8),
+.BR nfs (5),
+.BR rpc.nfsd (8),
+.BR rpcbind (8),
+.BR tcpd (8),
+.BR iptables (8),
+.BR netconfig (5)
+.sp
+RFC 1094 - "NFS: Network File System Protocol Specification"
+.br
+RFC 1813 - "NFS Version 3 Protocol Specification"
+.br
+OpenGroup Protocols for Interworking: XNFS, Version 3W - Chapter 11
+.SH AUTHORS
+Jeff Uphoff <juphoff@users.sourceforge.net>
+.br
+Olaf Kirch <okir@monad.swb.de>
+.br
+H.J. Lu <hjl@gnu.org>
+.br
+Lon Hohberger <hohberger@missioncriticallinux.com>
+.br
+Paul Clements <paul.clements@steeleye.com>
+.br
+Chuck Lever <chuck.lever@oracle.com>
diff --git a/upstream/fedora-40/man8/systemd-ask-password-console.service.8 b/upstream/fedora-40/man8/systemd-ask-password-console.service.8
new file mode 100644
index 00000000..fa9566e6
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-ask-password-console.service.8
@@ -0,0 +1,62 @@
+'\" t
+.TH "SYSTEMD\-ASK\-PASSWORD\-CONSOLE\&.SERVICE" "8" "" "systemd 255" "systemd-ask-password-console.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-ask-password-console.service, systemd-ask-password-console.path, systemd-ask-password-wall.service, systemd-ask-password-wall.path \- Query the user for system passwords on the console and via wall
+.SH "SYNOPSIS"
+.PP
+systemd\-ask\-password\-console\&.service
+.PP
+systemd\-ask\-password\-console\&.path
+.PP
+systemd\-ask\-password\-wall\&.service
+.PP
+systemd\-ask\-password\-wall\&.path
+.SH "DESCRIPTION"
+.PP
+systemd\-ask\-password\-console\&.service
+is a system service that queries the user for system passwords (such as hard disk encryption keys and SSL certificate passphrases) on the console\&. It is intended to be used during boot to ensure proper handling of passwords necessary for boot\&.
+systemd\-ask\-password\-wall\&.service
+is a system service that informs all logged in users for system passwords via
+\fBwall\fR(1)\&. It is intended to be used after boot to ensure that users are properly notified\&.
+.PP
+See the
+\m[blue]\fBdeveloper documentation\fR\m[]\&\s-2\u[1]\d\s+2
+for more information about the system password logic\&.
+.PP
+Note that these services invoke
+\fBsystemd-tty-ask-password-agent\fR(1)
+with either the
+\fB\-\-watch \-\-console\fR
+or
+\fB\-\-watch \-\-wall\fR
+command line parameters\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-tty-ask-password-agent\fR(1),
+\fBwall\fR(1)
+.SH "NOTES"
+.IP " 1." 4
+developer documentation
+.RS 4
+\%https://systemd.io/PASSWORD_AGENTS/
+.RE
diff --git a/upstream/fedora-40/man8/systemd-backlight@.service.8 b/upstream/fedora-40/man8/systemd-backlight@.service.8
new file mode 100644
index 00000000..8d42dc12
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-backlight@.service.8
@@ -0,0 +1,58 @@
+'\" t
+.TH "SYSTEMD\-BACKLIGHT@\&.SERVICE" "8" "" "systemd 255" "systemd-backlight@.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-backlight@.service, systemd-backlight \- Load and save the display backlight brightness at boot and shutdown
+.SH "SYNOPSIS"
+.PP
+systemd\-backlight@\&.service
+.PP
+/usr/lib/systemd/systemd\-backlight
+save [backlight|leds]:DEVICE
+.PP
+/usr/lib/systemd/systemd\-backlight
+load [backlight|leds]:DEVICE
+.SH "DESCRIPTION"
+.PP
+systemd\-backlight@\&.service
+is a service that restores the display backlight brightness at early boot and saves it at shutdown\&. On disk, the backlight brightness is stored in
+/var/lib/systemd/backlight/\&. During loading, if the udev property
+\fBID_BACKLIGHT_CLAMP\fR
+is not set to false, the brightness is clamped to a value of at least 1 or 5% of maximum brightness, whichever is greater\&. The percentage can be adjusted by specifying a percentage (needs to be suffixed with
+"%", e\&.g\&.
+"30%") to the property
+\fBID_BACKLIGHT_CLAMP\fR\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-backlight
+understands the following kernel command line parameter:
+.PP
+\fIsystemd\&.restore_state=\fR
+.RS 4
+Takes a boolean argument\&. Defaults to
+"1"\&. If
+"0", does not restore the backlight settings on boot\&. However, settings will still be stored on shutdown\&.
+.sp
+Added in version 209\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-battery-check.service.8 b/upstream/fedora-40/man8/systemd-battery-check.service.8
new file mode 100644
index 00000000..3dcd7676
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-battery-check.service.8
@@ -0,0 +1,68 @@
+'\" t
+.TH "SYSTEMD\-BATTERY\-CHECK\&.SERVICE" "8" "" "systemd 255" "systemd-battery-check"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-battery-check.service, systemd-battery-check \- Check battery level whether there\*(Aqs enough charge, and power off if not
+.SH "SYNOPSIS"
+.PP
+systemd\-battery\-check\&.service
+.HP \w'\fB/usr/lib/systemd/systemd\-battery\-check\fR\ 'u
+\fB/usr/lib/systemd/systemd\-battery\-check\fR [OPTIONS...]
+.SH "DESCRIPTION"
+.PP
+This service checks the presence of an external power supply and the battery level during the early boot stage to determine whether there is sufficient power to carry on with the booting process\&.
+.PP
+\fBsystemd\-battery\-check\fR
+returns success if the device is connected to an AC power source or if the battery charge is greater than 5%\&. It returns failure otherwise\&.
+.SH "OPTIONS"
+.PP
+The following options are understood by
+\fBsystemd\-battery\-check\fR:
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success (running on AC power or battery capacity greater than 5%), 0 is returned, a non\-zero failure code otherwise\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+The following variables are understood:
+.PP
+\fIsystemd\&.battery\-check=\fR\fI\fIBOOL\fR\fR
+.RS 4
+Takes a boolean\&. If specified with false,
+\fBsystemd\-battery\-check\fR
+command will return immediately with exit status 0 without checking battery capacity and AC power existence, and the service
+systemd\-battery\-check\&.service
+will succeed\&. This may be useful when the command wrongly detects and reports battery capacity percentage or AC power existence, or when you want to boot the system forcibly\&.
+.sp
+Added in version 254\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-binfmt.service.8 b/upstream/fedora-40/man8/systemd-binfmt.service.8
new file mode 100644
index 00000000..da878c7a
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-binfmt.service.8
@@ -0,0 +1,74 @@
+'\" t
+.TH "SYSTEMD\-BINFMT\&.SERVICE" "8" "" "systemd 255" "systemd-binfmt.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-binfmt.service, systemd-binfmt \- Configure additional binary formats for executables at boot
+.SH "SYNOPSIS"
+.PP
+systemd\-binfmt\&.service
+.PP
+/usr/lib/systemd/systemd\-binfmt
+.SH "DESCRIPTION"
+.PP
+systemd\-binfmt\&.service
+is an early boot service that registers additional binary formats for executables in the kernel\&.
+.PP
+See
+\fBbinfmt.d\fR(5)
+for information about the configuration of this service\&.
+.SH "OPTIONS"
+.PP
+\fB\-\-unregister\fR
+.RS 4
+If passed, instead of registering configured binary formats in the kernel, the reverse operation is executed: all currently registered binary formats are unregistered from the kernel\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+\fB\-\-cat\-config\fR
+.RS 4
+Copy the contents of config files to standard output\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-tldr\fR
+.RS 4
+Copy the contents of config files to standard output\&. Only the "interesting" parts of the configuration files are printed, comments and empty lines are skipped\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBbinfmt.d\fR(5),
+\fBwine\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-bless-boot-generator.8 b/upstream/fedora-40/man8/systemd-bless-boot-generator.8
new file mode 100644
index 00000000..462e7d90
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-bless-boot-generator.8
@@ -0,0 +1,42 @@
+'\" t
+.TH "SYSTEMD\-BLESS\-BOOT\-GENERATOR" "8" "" "systemd 255" "systemd-bless-boot-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-bless-boot-generator \- Pull systemd\-bless\-boot\&.service into the initial boot transaction when boot counting is in effect
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-bless\-boot\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-bless\-boot\-generator
+is a generator that pulls
+systemd\-bless\-boot\&.service
+into the initial boot transaction when boot counting, as implemented by
+\fBsystemd-boot\fR(7), is enabled\&.
+.PP
+systemd\-bless\-boot\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-bless-boot.service\fR(8),
+\fBsystemd-boot\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-bless-boot.service.8 b/upstream/fedora-40/man8/systemd-bless-boot.service.8
new file mode 100644
index 00000000..fc71f4cb
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-bless-boot.service.8
@@ -0,0 +1,119 @@
+'\" t
+.TH "SYSTEMD\-BLESS\-BOOT\&.SERVICE" "8" "" "systemd 255" "systemd-bless-boot.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-bless-boot.service, systemd-bless-boot \- Mark current boot process as successful
+.SH "SYNOPSIS"
+.PP
+systemd\-bless\-boot\&.service
+.PP
+/usr/lib/systemd/systemd\-bless\-boot
+.SH "DESCRIPTION"
+.PP
+systemd\-bless\-boot\&.service
+is a system service that marks the current boot process as successful\&. It\*(Aqs automatically pulled into the initial transaction when
+\fBsystemd-bless-boot-generator\fR(8)
+detects that
+\fBsystemd-boot\fR(7)
+style boot counting is used\&.
+.PP
+Internally, the service operates based on the
+\fILoaderBootCountPath\fR
+EFI variable (of the vendor UUID
+\fB4a67b082\-0a4c\-41cf\-b6c7\-440b29bb8c4\fR), which is passed from the boot loader to the OS\&. It contains a file system path (relative to the EFI system partition) of the
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[1]\d\s+2
+compliant boot loader entry file or unified kernel image file that was used to boot up the system\&.
+\fBsystemd\-bless\-boot\&.service\fR
+removes the two \*(Aqtries done\*(Aq and \*(Aqtries left\*(Aq numeric boot counters from the filename, which indicates to future invocations of the boot loader that the entry has completed booting successfully at least once\&. (This service will hence rename the boot loader entry file or unified kernel image file on the first successful boot\&.)
+.SH "OPTIONS"
+.PP
+The
+/usr/lib/systemd/systemd\-bless\-boot
+executable may also be invoked from the command line, taking one of the following command arguments:
+.PP
+\fBstatus\fR
+.RS 4
+The current status of the boot loader entry file or unified kernel image file is shown\&. This outputs one of
+"good",
+"bad",
+"indeterminate",
+"clean", depending on the state and previous invocations of the command\&. The string
+"indeterminate"
+is shown initially after boot, before it has been marked as "good" or "bad"\&. The string
+"good"
+is shown after the boot was marked as "good" with the
+\fBgood\fR
+command below, and "bad" conversely after the
+\fBbad\fR
+command was invoked\&. The string
+"clean"
+is returned when boot counting is currently not in effect\&.
+.sp
+This command is implied if no command argument is specified\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+\fBgood\fR
+.RS 4
+When invoked, the current boot loader entry file or unified kernel image file will be marked as "good", executing the file rename operation described above\&. This command is intended to be invoked at the end of a successful boot\&. The
+systemd\-bless\-boot\&.service
+unit invokes this command\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+\fBbad\fR
+.RS 4
+When called the \*(Aqtries left\*(Aq counter in the boot loader entry file name or unified kernel image file name is set to zero, marking the boot loader entry or kernel image as "bad", so that the boot loader won\*(Aqt consider it anymore on future boots (at least as long as there are other entries available that are not marked "bad" yet)\&. This command is normally not executed, but can be used to instantly put an end to the boot counting logic if a problem is detected and persistently mark the boot entry as bad\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+\fBindeterminate\fR
+.RS 4
+This command undoes any marking of the current boot loader entry file or unified kernel image file as good or bad\&. This is implemented by renaming the boot loader entry file or unified kernel image file back to the path encoded in the
+\fILoaderBootCountPath\fR
+EFI variable\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-boot\fR(7),
+\fBsystemd.special\fR(7)
+.SH "NOTES"
+.IP " 1." 4
+Boot Loader Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/boot_loader_specification
+.RE
diff --git a/upstream/fedora-40/man8/systemd-boot-check-no-failures.service.8 b/upstream/fedora-40/man8/systemd-boot-check-no-failures.service.8
new file mode 100644
index 00000000..d3edc66b
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-boot-check-no-failures.service.8
@@ -0,0 +1,40 @@
+'\" t
+.TH "SYSTEMD\-BOOT\-CHECK\-NO\-FAILURES\&.SERVICE" "8" "" "systemd 255" "systemd-boot-check-no-failures.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-boot-check-no-failures.service, systemd-boot-check-no-failures \- verify that the system booted up cleanly
+.SH "SYNOPSIS"
+.PP
+systemd\-boot\-check\-no\-failures\&.service
+.PP
+/usr/lib/systemd/system\-boot\-check\-no\-failures
+.SH "DESCRIPTION"
+.PP
+systemd\-boot\-check\-no\-failures\&.service
+is a system service that checks whether the system booted up successfully\&. This service implements a very minimal test only: whether there are any failed units on the system\&. This service is disabled by default\&. When enabled, it is ordered before
+boot\-complete\&.target, thus ensuring the target cannot be reached when the system booted up with failed services\&.
+.PP
+Note that due the simple nature of this check this service is probably not suitable for deployment in most scenarios\&. It is primarily useful only as example for developing more fine\-grained checks to order before
+boot\-complete\&.target\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.special\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-boot-random-seed.service.8 b/upstream/fedora-40/man8/systemd-boot-random-seed.service.8
new file mode 100644
index 00000000..8fb4d033
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-boot-random-seed.service.8
@@ -0,0 +1,114 @@
+'\" t
+.TH "SYSTEMD\-BOOT\-RANDOM\-SEED\&.SERVICE" "8" "" "systemd 255" "systemd-boot-random-seed.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-boot-random-seed.service \- Refresh boot loader random seed at boot
+.SH "SYNOPSIS"
+.PP
+systemd\-boot\-random\-seed\&.service
+.SH "DESCRIPTION"
+.PP
+systemd\-boot\-random\-seed\&.service
+is a system service that automatically refreshes the boot loader random seed stored in the EFI System Partition (ESP), from the Linux kernel entropy pool\&. The boot loader random seed is primarily consumed and updated by
+\fBsystemd-boot\fR(7)
+from the UEFI environment (or
+\fBsystemd-stub\fR(7)
+if the former is not used, but the latter is), and passed as initial RNG seed to the OS\&. It is an effective way to ensure the OS comes up with a random pool that is fully initialized\&.
+.PP
+The service also automatically generates a \*(Aqsystem token\*(Aq to store in an EFI variable in the system\*(Aqs NVRAM\&. The boot loader may then combine the on\-disk random seed and the system token by cryptographic hashing, and pass it to the OS it boots as initialization seed for its entropy pool\&. Note: the random seed stored in the ESP is refreshed on
+\fIevery\fR
+reboot ensuring that multiple subsequent boots will boot with different seeds\&. On the other hand, the system token is generated randomly
+\fIonce\fR, and then persistently stored in the system\*(Aqs EFI variable storage, ensuring the same disk image won\*(Aqt result in the same series of boot loader seed values if used on multiple systems in parallel\&.
+.PP
+The
+systemd\-boot\-random\-seed\&.service
+unit invokes the
+\fBbootctl random\-seed\fR
+command, which updates the random seed in the ESP, and initializes the system token if it\*(Aqs not initialized yet\&. The service is conditionalized so that it is run only when a boot loader is used that implements the
+\m[blue]\fBBoot Loader Interface\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+For further details see
+\fBbootctl\fR(1), regarding the command this service invokes\&.
+.PP
+Note the relationship between
+systemd\-boot\-random\-seed\&.service
+and
+\fBsystemd-random-seed\fR(8)\&. The former maintains the random seed consumed and updated by the boot environment (i\&.e\&. by
+\fBsystemd-boot\fR(7)
+or
+\fBsystemd-stub\fR(7)), the latter maintains a random seed consumed and updated by the OS itself\&. The former ensures that the OS has a filled entropy pool already during earliest boot when regular disk access is not available yet (i\&.e\&. when the OS random seed cannot be loaded yet)\&. The latter is processed much later, once writable disk access is available\&. Thus it cannot be used to seed the initial boot phase, but typically has much higher quality of entropy\&. Both files are consumed and updated at boot, but at different times\&. Specifically:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+In UEFI mode, the
+\fBsystemd-boot\fR(7)
+or
+\fBsystemd-stub\fR(7)
+components load the boot loader random seed from the ESP, hash it with available entropy and the system token, and then update it on disk\&. A derived seed is passed to the kernel which writes it to its entropy pool\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+In userspace the
+systemd\-random\-seed\&.service
+service loads the OS random seed, writes it to the kernel entropy pool, and then updates it on disk with a new value derived from the kernel entropy pool\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 3." 4.2
+.\}
+In userspace the
+systemd\-boot\-random\-seed\&.service
+service updates the boot loader random seed with a new value derived from the kernel entropy pool\&.
+.RE
+.PP
+This logic should ensure that the kernel\*(Aqs entropy pool is seeded during earliest bool already, if possible, but the highest quality entropy is propagated back to both on\-disk seeds\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBrandom\fR(4),
+\fBbootctl\fR(1),
+\fBsystemd-boot\fR(7),
+\fBsystemd-stub\fR(7),
+\fBsystemd-random-seed.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Boot Loader Interface
+.RS 4
+\%https://systemd.io/BOOT_LOADER_INTERFACE
+.RE
diff --git a/upstream/fedora-40/man8/systemd-bsod.service.8 b/upstream/fedora-40/man8/systemd-bsod.service.8
new file mode 100644
index 00000000..0c1fc877
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-bsod.service.8
@@ -0,0 +1,61 @@
+'\" t
+.TH "SYSTEMD\-BSOD\&.SERVICE" "8" "" "systemd 255" "systemd-bsod"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-bsod.service, systemd-bsod \- Displays boot\-time emergency log message in full screen\&.
+.SH "SYNOPSIS"
+.PP
+systemd\-bsod\&.service
+.HP \w'\fBsystemd\-bsod\fR\ 'u
+\fBsystemd\-bsod\fR [OPTIONS...]
+.SH "DESCRIPTION"
+.PP
+systemd\-bsod\&.service
+is used to display a blue screen which contains a message relating to a boot failure, including a QR code which can be scanned to get helpful information about the failure\&.
+.SH "OPTIONS"
+.PP
+The following options are understood by
+\fBsystemd\-bsod\fR:
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.PP
+\fB\-c\fR, \fB\-\-continuous\fR
+.RS 4
+When specified,
+\fBsystemd\-bsod\fR
+waits continuously for changes in the journal if it doesn\*(Aqt find any emergency messages on the initial attempt\&.
+.sp
+Added in version 255\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success (displaying the journal message successfully), 0 is returned, a non\-zero failure code otherwise\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-coredump.8 b/upstream/fedora-40/man8/systemd-coredump.8
new file mode 100644
index 00000000..842c5fc9
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-coredump.8
@@ -0,0 +1,502 @@
+'\" t
+.TH "SYSTEMD\-COREDUMP" "8" "" "systemd 255" "systemd-coredump"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-coredump, systemd-coredump.socket, systemd-coredump@.service \- Acquire, save and process core dumps
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/systemd\-coredump
+.PP
+/usr/lib/systemd/systemd\-coredump
+\fB\-\-backtrace\fR
+.PP
+systemd\-coredump@\&.service
+.PP
+systemd\-coredump\&.socket
+.SH "DESCRIPTION"
+.PP
+systemd\-coredump@\&.service
+is a system service to process core dumps\&. It will log a summary of the event to
+\fBsystemd-journald.service\fR(8), including information about the process identifier, owner, the signal that killed the process, and the stack trace if possible\&. It may also save the core dump for later processing\&. See the "Information about the crashed process" section below\&.
+.PP
+The behavior of a specific program upon reception of a signal is governed by a few factors which are described in detail in
+\fBcore\fR(5)\&. In particular, the core dump will only be processed when the related resource limits are sufficient\&.
+.PP
+Core dumps can be written to the journal or saved as a file\&. In both cases, they can be retrieved for further processing, for example in
+\fBgdb\fR(1)\&. See
+\fBcoredumpctl\fR(1), in particular the
+\fBlist\fR
+and
+\fBdebug\fR
+verbs\&.
+.PP
+By default,
+\fBsystemd\-coredump\fR
+will log the core dump to the journal, including a backtrace if possible, and store the core dump (an image of the memory contents of the process) itself in an external file in
+/var/lib/systemd/coredump\&. These core dumps are deleted after a few days by default; see
+/usr/lib/tmpfiles\&.d/systemd\&.conf
+for details\&. Note that the removal of core files from the file system and the purging of journal entries are independent, and the core file may be present without the journal entry, and journal entries may point to since\-removed core files\&. Some metadata is attached to core files in the form of extended attributes, so the core files are useful for some purposes even without the full metadata available in the journal entry\&.
+.PP
+For further details see
+\m[blue]\fBsystemd Coredump Handling\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.SS "Invocation of systemd\-coredump"
+.PP
+The
+\fBsystemd\-coredump\fR
+executable does the actual work\&. It is invoked twice: once as the handler by the kernel, and the second time in the
+systemd\-coredump@\&.service
+to actually write the data to the journal and process and save the core file\&.
+.PP
+When the kernel invokes
+\fBsystemd\-coredump\fR
+to handle a core dump, it runs in privileged mode, and will connect to the socket created by the
+systemd\-coredump\&.socket
+unit, which in turn will spawn an unprivileged
+systemd\-coredump@\&.service
+instance to process the core dump\&. Hence
+systemd\-coredump\&.socket
+and
+systemd\-coredump@\&.service
+are helper units which do the actual processing of core dumps and are subject to normal service management\&.
+.PP
+It is also possible to invoke
+\fBsystemd\-coredump\fR
+with
+\fB\-\-backtrace\fR
+option\&. In this case,
+\fBsystemd\-coredump\fR
+expects a journal entry in the journal
+\m[blue]\fBJournal Export Format\fR\m[]\&\s-2\u[2]\d\s+2
+on standard input\&. The entry should contain a
+\fIMESSAGE=\fR
+field and any additional metadata fields the caller deems reasonable\&.
+\fBsystemd\-coredump\fR
+will append additional metadata fields in the same way it does for core dumps received from the kernel\&. In this mode, no core dump is stored in the journal\&.
+.SH "CONFIGURATION"
+.PP
+For programs started by
+\fBsystemd\fR, process resource limits can be set by directive
+\fILimitCORE=\fR, see
+\fBsystemd.exec\fR(5)\&.
+.PP
+In order to be used by the kernel to handle core dumps,
+\fBsystemd\-coredump\fR
+must be configured in
+\fBsysctl\fR(8)
+parameter
+\fIkernel\&.core_pattern\fR\&. The syntax of this parameter is explained in
+\fBcore\fR(5)\&. systemd installs the file
+/usr/lib/sysctl\&.d/50\-coredump\&.conf
+which configures
+\fIkernel\&.core_pattern\fR
+accordingly\&. This file may be masked or overridden to use a different setting following normal
+\fBsysctl.d\fR(5)
+rules\&. If the sysctl configuration is modified, it must be updated in the kernel before it takes effect, see
+\fBsysctl\fR(8)
+and
+\fBsystemd-sysctl\fR(8)\&.
+.PP
+In order to be used in the
+\fB\-\-backtrace\fR
+mode, an appropriate backtrace handler must be installed on the sender side\&. For example, in case of
+\fBpython\fR(1), this means a
+\fIsys\&.excepthook\fR
+must be installed, see
+\m[blue]\fBsystemd\-coredump\-python\fR\m[]\&\s-2\u[3]\d\s+2\&.
+.PP
+The behavior of
+\fBsystemd\-coredump\fR
+itself is configured through the configuration file
+/etc/systemd/coredump\&.conf
+and corresponding snippets
+/etc/systemd/coredump\&.conf\&.d/*\&.conf, see
+\fBcoredump.conf\fR(5)\&. A new instance of
+\fBsystemd\-coredump\fR
+is invoked upon receiving every core dump\&. Therefore, changes in these files will take effect the next time a core dump is received\&.
+.PP
+Resources used by core dump files are restricted in two ways\&. Parameters like maximum size of acquired core dumps and files can be set in files
+/etc/systemd/coredump\&.conf
+and snippets mentioned above\&. In addition the storage time of core dump files is restricted by
+\fBsystemd\-tmpfiles\fR, corresponding settings are by default in
+/usr/lib/tmpfiles\&.d/systemd\&.conf\&. The default is to delete core dumps after a few days; see the above file for details\&.
+.SS "Disabling coredump processing"
+.PP
+To disable potentially resource\-intensive processing by
+\fBsystemd\-coredump\fR, set
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Storage=none
+ProcessSizeMax=0
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+in
+\fBcoredump.conf\fR(5)\&.
+.SH "INFORMATION ABOUT THE CRASHED PROCESS"
+.PP
+\fBcoredumpctl\fR(1)
+can be used to retrieve saved core dumps independently of their location, to display information, and to process them e\&.g\&. by passing to the GNU debugger (gdb)\&.
+.PP
+Data stored in the journal can be also viewed with
+\fBjournalctl\fR(1)
+as usual (or from any other process, using the
+\fBsd-journal\fR(3)
+API)\&. The relevant messages have
+\fBMESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1\fR:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ journalctl MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1 \-o verbose
+\&...
+MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1
+COREDUMP_PID=552351
+COREDUMP_UID=1000
+COREDUMP_GID=1000
+COREDUMP_SIGNAL_NAME=SIGSEGV
+COREDUMP_SIGNAL=11
+COREDUMP_TIMESTAMP=1614342930000000
+COREDUMP_COMM=Web Content
+COREDUMP_EXE=/usr/lib64/firefox/firefox
+COREDUMP_USER_UNIT=app\-gnome\-firefox\-552136\&.scope
+COREDUMP_CMDLINE=/usr/lib64/firefox/firefox \-contentproc \-childID 5 \-isForBrowser \&...
+COREDUMP_CGROUP=/user\&.slice/user\-1000\&.slice/user@1000\&.service/app\&.slice/app\-\&...\&.scope
+COREDUMP_FILENAME=/var/lib/systemd/coredump/core\&.Web\&...\&.552351\&.\&...\&.zst
+\&...
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+The following fields are saved (if known) with the journal entry
+.PP
+\fICOREDUMP_UID=\fR, \fICOREDUMP_PID=\fR, \fICOREDUMP_GID=\fR
+.RS 4
+The process number (PID), owner user number (UID), and group number (GID) of the crashed process\&.
+.sp
+When the crashed process was part of a container (or in a process or user namespace in general), those are the values as seen
+\fIoutside\fR, in the namespace where
+systemd\-coredump
+is running\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_TIMESTAMP=\fR
+.RS 4
+The time of the crash as reported by the kernel (in μs since the epoch)\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_RLIMIT=\fR
+.RS 4
+The core file size soft resource limit, see
+\fBgetrlimit\fR(2)\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_UNIT=\fR, \fICOREDUMP_SLICE=\fR
+.RS 4
+The system unit and slice names\&.
+.sp
+When the crashed process was in container, those are the units names
+\fIoutside\fR, in the main system manager\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_CGROUP=\fR
+.RS 4
+The primary cgroup of the unit of the crashed process\&.
+.sp
+When the crashed process was in a container, this is the full path, as seen outside of the container\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_PROC_CGROUP=\fR
+.RS 4
+Control group information in the format used in
+/proc/self/cgroup\&. On systems with the unified cgroup hierarchy, this is a single path prefixed with
+"0::", and multiple paths prefixed with controller numbers on legacy systems\&.
+.sp
+When the crashed process was in a container, this is the full path, as seen outside of the container\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_OWNER_UID=\fR, \fICOREDUMP_USER_UNIT=\fR, \fICOREDUMP_SESSION=\fR
+.RS 4
+The numerical UID of the user owning the login session or systemd user unit of the crashed process, the user manager unit, and the session identifier\&. All three fields are only present for user processes\&.
+.sp
+When the crashed process was in container, those are the values
+\fIoutside\fR, in the main system\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_SIGNAL_NAME=\fR, \fICOREDUMP_SIGNAL=\fR
+.RS 4
+The terminating signal name (with the
+"SIG"
+prefix
+\&\s-2\u[4]\d\s+2) and numerical value\&. (Both are included because signal numbers vary by architecture\&.)
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_CWD=\fR, \fICOREDUMP_ROOT=\fR
+.RS 4
+The current working directory and root directory of the crashed process\&.
+.sp
+When the crashed process is in a container, those paths are relative to the root of the container\*(Aqs mount namespace\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_OPEN_FDS=\fR
+.RS 4
+Information about open file descriptors, in the following format:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIfd\fR:\fI/path/to/file\fR
+pos: \&.\&.\&.
+flags: \&.\&.\&.
+\&.\&.\&.
+
+\fIfd\fR:\fI/path/to/file\fR
+pos: \&.\&.\&.
+flags: \&.\&.\&.
+\&.\&.\&.
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+The first line contains the file descriptor number
+\fIfd\fR
+and the path, while subsequent lines show the contents of
+/proc/\fIpid\fR/fdinfo/\fIfd\fR\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_EXE=\fR
+.RS 4
+The destination of the
+/proc/\fIpid\fR/exe
+symlink\&.
+.sp
+When the crashed process is in a container, that path is relative to the root of the container\*(Aqs mount namespace\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_CMDLINE=\fR, \fICOREDUMP_COMM=\fR, \fICOREDUMP_ENVIRON=\fR, \fICOREDUMP_PROC_AUXV=\fR, \fICOREDUMP_PROC_LIMITS=\fR, \fICOREDUMP_PROC_MAPS=\fR, \fICOREDUMP_PROC_MOUNTINFO=\fR, \fICOREDUMP_PROC_STATUS=\fR
+.RS 4
+Fields that map the per\-process entries in the
+/proc/
+filesystem:
+/proc/\fIpid\fR/cmdline
+(the command line of the crashed process),
+/proc/\fIpid\fR/comm
+(the command name associated with the process),
+/proc/\fIpid\fR/environ
+(the environment block of the crashed process),
+/proc/\fIpid\fR/auxv
+(the auxiliary vector of the crashed process, see
+\fBgetauxval\fR(3)),
+/proc/\fIpid\fR/limits
+(the soft and hard resource limits),
+/proc/\fIpid\fR/maps
+(memory regions visible to the process and their access permissions),
+/proc/\fIpid\fR/mountinfo
+(mount points in the process\*(Aqs mount namespace),
+/proc/\fIpid\fR/status
+(various metadata about the process)\&.
+.sp
+See
+\fBproc\fR(5)
+for more information\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_HOSTNAME=\fR
+.RS 4
+The system hostname\&.
+.sp
+When the crashed process was in container, this is the container hostname\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_CONTAINER_CMDLINE=\fR
+.RS 4
+For processes running in a container, the command line of the process spawning the container (the first parent process with a different mount namespace)\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP=\fR
+.RS 4
+When the core is stored in the journal, the core image itself\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_FILENAME=\fR
+.RS 4
+When the core is stored externally, the path to the core file\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_TRUNCATED=\fR
+.RS 4
+Set to
+"1"
+when the saved coredump was truncated\&. (A partial core image may still be processed by some tools, though obviously not all information is available\&.)
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fICOREDUMP_PACKAGE_NAME=\fR, \fICOREDUMP_PACKAGE_VERSION=\fR, \fICOREDUMP_PACKAGE_JSON=\fR
+.RS 4
+If the executable contained \&.package metadata ELF notes, they will be parsed and attached\&. The
+\fIpackage\fR
+and
+\fIpackageVersion\fR
+of the \*(Aqmain\*(Aq ELF module (ie: the executable) will be appended individually\&. The JSON\-formatted content of all modules will be appended as a single JSON object, each with the module name as the key\&. For more information about this metadata format and content, see
+\m[blue]\fBthe coredump metadata spec\fR\m[]\&\s-2\u[5]\d\s+2\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fIMESSAGE=\fR
+.RS 4
+The message generated by
+\fBsystemd\-coredump\fR
+that includes the backtrace if it was successfully generated\&. When
+\fBsystemd\-coredump\fR
+is invoked with
+\fB\-\-backtrace\fR, this field is provided by the caller\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+Various other fields exist in the journal entry, but pertain to the logging process, i\&.e\&.
+\fBsystemd\-coredump\fR, not the crashed process\&. See
+\fBsystemd.journal-fields\fR(7)\&.
+.PP
+The following fields are saved (if known) with the external file listed in
+\fICOREDUMP_FILENAME=\fR
+as extended attributes:
+.PP
+\fIuser\&.coredump\&.pid\fR, \fIuser\&.coredump\&.uid\fR, \fIuser\&.coredump\&.gid\fR, \fIuser\&.coredump\&.signal\fR, \fIuser\&.coredump\&.timestamp\fR, \fIuser\&.coredump\&.rlimit\fR, \fIuser\&.coredump\&.hostname\fR, \fIuser\&.coredump\&.comm\fR, \fIuser\&.coredump\&.exe\fR
+.RS 4
+Those are the same as
+\fICOREDUMP_PID=\fR,
+\fICOREDUMP_UID=\fR,
+\fICOREDUMP_GID=\fR,
+\fICOREDUMP_SIGNAL=\fR,
+\fICOREDUMP_TIMESTAMP=\fR,
+\fICOREDUMP_RLIMIT=\fR,
+\fICOREDUMP_HOSTNAME=\fR,
+\fICOREDUMP_COMM=\fR, and
+\fICOREDUMP_EXE=\fR, described above\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+Those can be viewed using
+\fBgetfattr\fR(1)\&. For the core file described in the journal entry shown above:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ getfattr \-\-absolute\-names \-d /var/lib/systemd/coredump/core\&.Web\&...\&.552351\&.\&...\&.zst
+# file: /var/lib/systemd/coredump/core\&.Web\&...\&.552351\&.\&...\&.zst
+user\&.coredump\&.pid="552351"
+user\&.coredump\&.uid="1000"
+user\&.coredump\&.gid="1000"
+user\&.coredump\&.signal="11"
+user\&.coredump\&.timestamp="1614342930000000"
+user\&.coredump\&.comm="Web Content"
+user\&.coredump\&.exe="/usr/lib64/firefox/firefox"
+\&...
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.SH "SEE ALSO"
+.PP
+\fBcoredump.conf\fR(5),
+\fBcoredumpctl\fR(1),
+\fBsystemd-journald.service\fR(8),
+\fBsystemd-tmpfiles\fR(8),
+\fBcore\fR(5),
+\fBsysctl.d\fR(5),
+\fBsystemd-sysctl.service\fR(8),
+\m[blue]\fBsystemd Coredump Handling\fR\m[]\&\s-2\u[1]\d\s+2
+.SH "NOTES"
+.IP " 1." 4
+systemd Coredump Handling
+.RS 4
+\%https://systemd.io/COREDUMP
+.RE
+.IP " 2." 4
+Journal Export Format
+.RS 4
+\%https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format
+.RE
+.IP " 3." 4
+systemd-coredump-python
+.RS 4
+\%https://github.com/systemd/systemd-coredump-python
+.RE
+.IP " 4." 4
+\fBkill\fR(1)
+expects signal names
+\fIwithout\fR
+the prefix;
+\fBkill\fR(2)
+uses the prefix; all systemd tools accept signal names both with and without the prefix.
+.IP " 5." 4
+the coredump metadata spec
+.RS 4
+\%https://systemd.io/COREDUMP_PACKAGE_METADATA/
+.RE
diff --git a/upstream/fedora-40/man8/systemd-cryptsetup-generator.8 b/upstream/fedora-40/man8/systemd-cryptsetup-generator.8
new file mode 100644
index 00000000..fda1024a
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-cryptsetup-generator.8
@@ -0,0 +1,231 @@
+'\" t
+.TH "SYSTEMD\-CRYPTSETUP\-GENERATOR" "8" "" "systemd 255" "systemd-cryptsetup-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-cryptsetup-generator \- Unit generator for /etc/crypttab
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-cryptsetup\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-cryptsetup\-generator
+is a generator that translates
+/etc/crypttab
+into native systemd units early at boot and when configuration of the system manager is reloaded\&. This will create
+\fBsystemd-cryptsetup@.service\fR(8)
+units as necessary\&.
+.PP
+systemd\-cryptsetup\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-cryptsetup\-generator
+understands the following kernel command line parameters:
+.PP
+\fIluks=\fR, \fIrd\&.luks=\fR
+.RS 4
+Takes a boolean argument\&. Defaults to
+"yes"\&. If
+"no", disables the generator entirely\&.
+\fIrd\&.luks=\fR
+is honored only in the initrd while
+\fIluks=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIluks\&.crypttab=\fR, \fIrd\&.luks\&.crypttab=\fR
+.RS 4
+Takes a boolean argument\&. Defaults to
+"yes"\&. If
+"no", causes the generator to ignore any devices configured in
+/etc/crypttab
+(\fIluks\&.uuid=\fR
+will still work however)\&.
+\fIrd\&.luks\&.crypttab=\fR
+is honored only in initrd while
+\fIluks\&.crypttab=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIluks\&.uuid=\fR, \fIrd\&.luks\&.uuid=\fR
+.RS 4
+Takes a LUKS superblock UUID as argument\&. This will activate the specified device as part of the boot process as if it was listed in
+/etc/crypttab\&. This option may be specified more than once in order to set up multiple devices\&.
+\fIrd\&.luks\&.uuid=\fR
+is honored only in the initrd, while
+\fIluks\&.uuid=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+If
+/etc/crypttab
+contains entries with the same UUID, then the name, keyfile and options specified there will be used\&. Otherwise, the device will have the name
+"luks\-UUID"\&.
+.sp
+If
+/etc/crypttab
+exists, only those UUIDs specified on the kernel command line will be activated in the initrd or the real root\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIluks\&.name=\fR, \fIrd\&.luks\&.name=\fR
+.RS 4
+Takes a LUKS super block UUID followed by an
+"="
+and a name\&. This implies
+\fIrd\&.luks\&.uuid=\fR
+or
+\fIluks\&.uuid=\fR
+and will additionally make the LUKS device given by the UUID appear under the provided name\&.
+.sp
+This parameter is the analogue of the first
+\fBcrypttab\fR(5)
+field
+\fIvolume\-name\fR\&.
+.sp
+\fIrd\&.luks\&.name=\fR
+is honored only in the initrd, while
+\fIluks\&.name=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+Added in version 218\&.
+.RE
+.PP
+\fIluks\&.data=\fR, \fIrd\&.luks\&.data=\fR
+.RS 4
+Takes a LUKS super block UUID followed by a
+"="
+and a block device specification for device hosting encrypted data\&.
+.sp
+For those entries specified with
+\fIrd\&.luks\&.uuid=\fR
+or
+\fIluks\&.uuid=\fR, the data device will be set to the one specified by
+\fIrd\&.luks\&.data=\fR
+or
+\fIluks\&.data=\fR
+of the corresponding UUID\&.
+.sp
+LUKS data device parameter is useful for specifying encrypted data devices with detached headers specified in
+\fIluks\&.options\fR
+entry containing
+"header="
+argument\&. For example,
+\fIrd\&.luks\&.uuid=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40
+\fIrd\&.luks\&.options=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40=header=/path/to/luks\&.hdr
+\fIrd\&.luks\&.data=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40=/dev/sdx\&. Hence, in this case, we will attempt to unlock LUKS device assembled from data device
+"/dev/sdx"
+and LUKS header (metadata) put in
+"/path/to/luks\&.hdr"
+file\&. This syntax is for now only supported on a per\-device basis, i\&.e\&. you have to specify LUKS device UUID\&.
+.sp
+This parameter is the analogue of the second
+\fBcrypttab\fR(5)
+field
+\fIencrypted\-device\fR\&.
+.sp
+\fIrd\&.luks\&.data=\fR
+is honored only in the initrd, while
+\fIluks\&.data=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+Added in version 247\&.
+.RE
+.PP
+\fIluks\&.key=\fR, \fIrd\&.luks\&.key=\fR
+.RS 4
+Takes a password file name as argument or a LUKS super block UUID followed by a
+"="
+and a password file name\&.
+.sp
+For those entries specified with
+\fIrd\&.luks\&.uuid=\fR
+or
+\fIluks\&.uuid=\fR, the password file will be set to the one specified by
+\fIrd\&.luks\&.key=\fR
+or
+\fIluks\&.key=\fR
+of the corresponding UUID, or the password file that was specified without a UUID\&.
+.sp
+It is also possible to specify an external device which should be mounted before we attempt to unlock the LUKS device\&. systemd\-cryptsetup will use password file stored on that device\&. Device containing password file is specified by appending colon and a device identifier to the password file path\&. For example,
+\fIrd\&.luks\&.uuid=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40
+\fIrd\&.luks\&.key=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40=/keyfile:LABEL=keydev\&. Hence, in this case, we will attempt to mount file system residing on the block device with label
+"keydev"\&. This syntax is for now only supported on a per\-device basis, i\&.e\&. you have to specify LUKS device UUID\&.
+.sp
+This parameter is the analogue of the third
+\fBcrypttab\fR(5)
+field
+\fIkey\-file\fR\&.
+.sp
+\fIrd\&.luks\&.key=\fR
+is honored only in the initrd, while
+\fIluks\&.key=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+Added in version 202\&.
+.RE
+.PP
+\fIluks\&.options=\fR, \fIrd\&.luks\&.options=\fR
+.RS 4
+Takes a LUKS super block UUID followed by an
+"="
+and a string of options separated by commas as argument\&. This will override the options for the given UUID\&.
+.sp
+If only a list of options, without a UUID, is specified, they apply to any UUIDs not specified elsewhere, and without an entry in
+/etc/crypttab\&.
+.sp
+This parameter is the analogue of the fourth
+\fBcrypttab\fR(5)
+field
+\fIoptions\fR\&.
+.sp
+It is possible to specify an external device which should be mounted before we attempt to unlock the LUKS device\&. systemd\-cryptsetup will assemble LUKS device by combining data device specified in
+\fIluks\&.data\fR
+with detached LUKS header found in
+"header="
+argument\&. For example,
+\fIrd\&.luks\&.uuid=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40
+\fIrd\&.luks\&.options=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40=header=/luks\&.hdr:LABEL=hdrdev
+\fIrd\&.luks\&.data=\fRb40f1abf\-2a53\-400a\-889a\-2eccc27eaa40=/dev/sdx\&. Hence, in this case, we will attempt to mount file system residing on the block device with label
+"hdrdev", and look for
+"luks\&.hdr"
+on that file system\&. Said header will be used to unlock (decrypt) encrypted data stored on /dev/sdx\&. This syntax is for now only supported on a per\-device basis, i\&.e\&. you have to specify LUKS device UUID\&.
+.sp
+\fIrd\&.luks\&.options=\fR
+is honored only by initial RAM disk (initrd) while
+\fIluks\&.options=\fR
+is honored by both the main system and in the initrd\&.
+.sp
+Added in version 208\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBcrypttab\fR(5),
+\fBsystemd-cryptsetup@.service\fR(8),
+\fBsystemd-cryptenroll\fR(1),
+\fBcryptsetup\fR(8),
+\fBsystemd-fstab-generator\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-cryptsetup.8 b/upstream/fedora-40/man8/systemd-cryptsetup.8
new file mode 100644
index 00000000..cfa85bc0
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-cryptsetup.8
@@ -0,0 +1,157 @@
+'\" t
+.TH "SYSTEMD\-CRYPTSETUP" "8" "" "systemd 255" "systemd-cryptsetup"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-cryptsetup, systemd-cryptsetup@.service \- Full disk decryption logic
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-cryptsetup\fR\ 'u
+\fBsystemd\-cryptsetup\fR [OPTIONS...] attach VOLUME SOURCE\-DEVICE [KEY\-FILE] [CONFIG]
+.HP \w'\fBsystemd\-cryptsetup\fR\ 'u
+\fBsystemd\-cryptsetup\fR [OPTIONS...] detach VOLUME
+.PP
+systemd\-cryptsetup@\&.service
+.PP
+system\-systemd\ex2dcryptsetup\&.slice
+.SH "DESCRIPTION"
+.PP
+systemd\-cryptsetup
+is used to set up (with
+\fBattach\fR) and tear down (with
+\fBdetach\fR) access to an encrypted block device\&. It is primarily used via
+systemd\-cryptsetup@\&.service
+during early boot, but may also be be called manually\&. The positional arguments
+\fIVOLUME\fR,
+\fISOURCEDEVICE\fR,
+\fIKEY\-FILE\fR, and
+\fICRYPTTAB\-OPTIONS\fR
+have the same meaning as the fields in
+\fBcrypttab\fR(5)\&.
+.PP
+systemd\-cryptsetup@\&.service
+is a service responsible for providing access to encrypted block devices\&. It is instantiated for each device that requires decryption\&.
+.PP
+systemd\-cryptsetup@\&.service
+instances are part of the
+system\-systemd\ex2dcryptsetup\&.slice
+slice, which is destroyed only very late in the shutdown procedure\&. This allows the encrypted devices to remain up until filesystems have been unmounted\&.
+.PP
+systemd\-cryptsetup@\&.service
+will ask for hard disk passwords via the
+\m[blue]\fBpassword agent logic\fR\m[]\&\s-2\u[1]\d\s+2, in order to query the user for the password using the right mechanism at boot and during runtime\&.
+.PP
+At early boot and when the system manager configuration is reloaded,
+/etc/crypttab
+is translated into
+systemd\-cryptsetup@\&.service
+units by
+\fBsystemd-cryptsetup-generator\fR(8)\&.
+.PP
+In order to unlock a volume a password or binary key is required\&.
+systemd\-cryptsetup@\&.service
+tries to acquire a suitable password or binary key via the following mechanisms, tried in order:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+If a key file is explicitly configured (via the third column in
+/etc/crypttab), a key read from it is used\&. If a PKCS#11 token, FIDO2 token or TPM2 device is configured (using the
+\fIpkcs11\-uri=\fR,
+\fIfido2\-device=\fR,
+\fItpm2\-device=\fR
+options) the key is decrypted before use\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+If no key file is configured explicitly this way, a key file is automatically loaded from
+/etc/cryptsetup\-keys\&.d/\fIvolume\fR\&.key
+and
+/run/cryptsetup\-keys\&.d/\fIvolume\fR\&.key, if present\&. Here too, if a PKCS#11/FIDO2/TPM2 token/device is configured, any key found this way is decrypted before use\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 3." 4.2
+.\}
+If the
+\fItry\-empty\-password\fR
+option is specified then unlocking the volume with an empty password is attempted\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 4.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 4." 4.2
+.\}
+The kernel keyring is then checked for a suitable cached password from previous attempts\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 5.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 5." 4.2
+.\}
+Finally, the user is queried for a password, possibly multiple times, unless the
+\fIheadless\fR
+option is set\&.
+.RE
+.PP
+If no suitable key may be acquired via any of the mechanisms describes above, volume activation fails\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-cryptsetup-generator\fR(8),
+\fBcrypttab\fR(5),
+\fBsystemd-cryptenroll\fR(1),
+\fBcryptsetup\fR(8),
+\m[blue]\fBTPM2 PCR Measurements Made by systemd\fR\m[]\&\s-2\u[2]\d\s+2
+.SH "NOTES"
+.IP " 1." 4
+password agent logic
+.RS 4
+\%https://systemd.io/PASSWORD_AGENTS/
+.RE
+.IP " 2." 4
+TPM2 PCR Measurements Made by systemd
+.RS 4
+\%https://systemd.io/TPM2_PCR_MEASUREMENTS
+.RE
diff --git a/upstream/fedora-40/man8/systemd-debug-generator.8 b/upstream/fedora-40/man8/systemd-debug-generator.8
new file mode 100644
index 00000000..7aa1b11a
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-debug-generator.8
@@ -0,0 +1,81 @@
+'\" t
+.TH "SYSTEMD\-DEBUG\-GENERATOR" "8" "" "systemd 255" "systemd-debug-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-debug-generator \- Generator for enabling a runtime debug shell and masking specific units at boot
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-debug\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-debug\-generator
+is a generator that reads the kernel command line and understands three options:
+.PP
+If the
+\fBsystemd\&.mask=\fR
+or
+\fBrd\&.systemd\&.mask=\fR
+option is specified and followed by a unit name, this unit is masked for the runtime (i\&.e\&. for this session \(em from boot to shutdown), similarly to the effect of
+\fBsystemctl\fR(1)\*(Aqs
+\fBmask\fR
+command\&. This is useful to boot with certain units removed from the initial boot transaction for debugging system startup\&. May be specified more than once\&.
+\fBrd\&.systemd\&.mask=\fR
+is honored only by initial RAM disk (initrd) while
+\fBsystemd\&.mask=\fR
+is honored only in the main system\&.
+.PP
+If the
+\fBsystemd\&.wants=\fR
+or
+\fBrd\&.systemd\&.wants=\fR
+option is specified and followed by a unit name, a start job for this unit is added to the initial transaction\&. This is useful to start one or more additional units at boot\&. May be specified more than once\&.
+\fBrd\&.systemd\&.wants=\fR
+is honored only by initial RAM disk (initrd) while
+\fBsystemd\&.wants=\fR
+is honored only in the main system\&.
+.PP
+If the
+\fBsystemd\&.debug_shell\fR
+or
+\fBrd\&.systemd\&.debug_shell\fR
+option is specified, the debug shell service
+"debug\-shell\&.service"
+is pulled into the boot transaction and a debug shell will be spawned during early boot\&. By default,
+/dev/tty9
+is used, but a specific tty can also be set, either with or without the
+/dev/
+prefix\&. Note that the shell may also be turned on persistently by enabling it with
+\fBsystemctl\fR(1)\*(Aqs
+\fBenable\fR
+command\&.
+\fBrd\&.systemd\&.debug_shell=\fR
+is honored only by initial RAM disk (initrd) while
+\fBsystemd\&.debug_shell\fR
+is honored only in the main system\&.
+.PP
+systemd\-debug\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBkernel-command-line\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-environment-d-generator.8 b/upstream/fedora-40/man8/systemd-environment-d-generator.8
new file mode 100644
index 00000000..2e7e31ab
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-environment-d-generator.8
@@ -0,0 +1,42 @@
+'\" t
+.TH "SYSTEMD\-ENVIRONMENT\-D\-GENERATOR" "8" "" "systemd 255" "systemd-environment-d-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-environment-d-generator, 30-systemd-environment-d-generator \- Load variables specified by environment\&.d
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/user\-environment\-generators/30\-systemd\-environment\-d\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-environment\-d\-generator
+is a
+\fBsystemd.environment-generator\fR(7)
+that reads environment configuration specified by
+\fBenvironment.d\fR(5)
+configuration files and passes it to the
+\fBsystemd\fR(1)
+user manager instance\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBsystemd.environment-generator\fR(7),
+\fBsystemd.generator\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-fsck@.service.8 b/upstream/fedora-40/man8/systemd-fsck@.service.8
new file mode 100644
index 00000000..5c1cbe90
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-fsck@.service.8
@@ -0,0 +1,129 @@
+'\" t
+.TH "SYSTEMD\-FSCK@\&.SERVICE" "8" "" "systemd 255" "systemd-fsck@.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-fsck@.service, systemd-fsck-root.service, systemd-fsck-usr.service, systemd-fsck \- File system checker logic
+.SH "SYNOPSIS"
+.PP
+systemd\-fsck@\&.service
+.PP
+systemd\-fsck\-root\&.service
+.PP
+systemd\-fsck\-usr\&.service
+.PP
+/usr/lib/systemd/systemd\-fsck
+.SH "DESCRIPTION"
+.PP
+systemd\-fsck@\&.service,
+systemd\-fsck\-root\&.service, and
+systemd\-fsck\-usr\&.service
+are services responsible for file system checks\&. They are instantiated for each device that is configured for file system checking\&.
+systemd\-fsck\-root\&.service
+and
+systemd\-fsck\-usr\&.service
+are responsible for file system checks on the root and /usr file system, respectively, but only if the root filesystem was not checked in the initrd\&.
+systemd\-fsck@\&.service
+is used for all other file systems and for the root file system in the initrd\&.
+.PP
+These services are started at boot if
+\fBpassno\fR
+in
+/etc/fstab
+for the file system is set to a value greater than zero, but only if it is also configured to be mounted at boot (i\&.e\&. without
+"noauto"
+option)\&. The file system check for root is performed before the other file systems\&. Other file systems may be checked in parallel, except when they are on the same rotating disk\&.
+.PP
+systemd\-fsck
+does not know any details about specific filesystems, and simply executes file system checkers specific to each filesystem type (fsck\&.\fItype\fR)\&. These checkers will decide if the filesystem should actually be checked based on the time since last check, number of mounts, unclean unmount, etc\&.
+.PP
+systemd\-fsck\-root\&.service
+and
+systemd\-fsck\-usr\&.service
+will activate
+reboot\&.target
+if
+\fBfsck\fR
+returns the "System should reboot" condition, or
+emergency\&.target
+if
+\fBfsck\fR
+returns the "Filesystem errors left uncorrected" condition\&.
+.PP
+systemd\-fsck@\&.service
+will fail if
+\fBfsck\fR
+returns with either "System should reboot" or "Filesystem errors left uncorrected" conditions\&. For filesystems listed in
+/etc/fstab
+without
+"nofail"
+or
+"noauto"
+options,
+"local\-fs\&.target"
+will then activate
+emergency\&.target\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+\fBsystemd\-fsck\fR
+understands these kernel command line parameters:
+.PP
+\fIfsck\&.mode=\fR
+.RS 4
+One of
+"auto",
+"force",
+"skip"\&. Controls the mode of operation\&. The default is
+"auto", and ensures that file system checks are done when the file system checker deems them necessary\&.
+"force"
+unconditionally results in full file system checks\&.
+"skip"
+skips any file system checks\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIfsck\&.repair=\fR
+.RS 4
+One of
+"preen",
+"yes",
+"no"\&. Controls the mode of operation\&. The default is
+"preen", and will automatically repair problems that can be safely fixed\&.
+"yes"
+will answer yes to all questions by fsck and
+"no"
+will answer no to all questions\&.
+.sp
+Added in version 213\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBfsck\fR(8),
+\fBsystemd-quotacheck.service\fR(8),
+\fBfsck.btrfs\fR(8),
+\fBfsck.cramfs\fR(8),
+\fBfsck.ext4\fR(8),
+\fBfsck.fat\fR(8),
+\fBfsck.hfsplus\fR(8),
+\fBfsck.minix\fR(8),
+\fBfsck.ntfs\fR(8),
+\fBfsck.xfs\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-fstab-generator.8 b/upstream/fedora-40/man8/systemd-fstab-generator.8
new file mode 100644
index 00000000..3b6f3d17
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-fstab-generator.8
@@ -0,0 +1,372 @@
+'\" t
+.TH "SYSTEMD\-FSTAB\-GENERATOR" "8" "" "systemd 255" "systemd-fstab-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-fstab-generator \- Unit generator for /etc/fstab
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-fstab\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-fstab\-generator
+is a generator that translates
+/etc/fstab
+(see
+\fBfstab\fR(5)
+for details) into native systemd units early at boot and when configuration of the system manager is reloaded\&. This will instantiate mount and swap units as necessary\&.
+.PP
+The
+\fIpassno\fR
+field is treated like a simple boolean, and the ordering information is discarded\&. However, if the root file system is checked, it is checked before all the other file systems\&.
+.PP
+See
+\fBsystemd.mount\fR(5)
+and
+\fBsystemd.swap\fR(5)
+for more information about special
+/etc/fstab
+mount options this generator understands\&.
+.PP
+One special topic is handling of symbolic links\&. Historical init implementations supported symlinks in
+/etc/fstab\&. Because mount units will refuse mounts where the target is a symbolic link, this generator will resolve any symlinks as far as possible when processing
+/etc/fstab
+in order to enhance backwards compatibility\&. If a symlink target does not exist at the time that this generator runs, it is assumed that the symlink target is the final target of the mount\&.
+.PP
+systemd\-fstab\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-fstab\-generator
+understands the following kernel command line parameters:
+.PP
+\fIfstab=\fR, \fIrd\&.fstab=\fR
+.RS 4
+Takes a boolean argument\&. Defaults to
+"yes"\&. If
+"no", causes the generator to ignore any mounts or swap devices configured in
+/etc/fstab\&.
+\fIrd\&.fstab=\fR
+is honored only in the initrd, while
+\fIfstab=\fR
+is honored by both the main system and the initrd\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIroot=\fR
+.RS 4
+Configures the operating system\*(Aqs root filesystem to mount when running in the initrd\&. This accepts a device node path (usually
+/dev/disk/by\-uuid/\&...
+or
+/dev/disk/by\-label/\&...
+or similar), or the special values
+"gpt\-auto",
+"fstab", and
+"tmpfs"\&.
+.sp
+Use
+"gpt\-auto"
+to explicitly request automatic root file system discovery via
+\fBsystemd-gpt-auto-generator\fR(8)\&.
+.sp
+Use
+"fstab"
+to explicitly request automatic root file system discovery via the initrd
+/etc/fstab
+rather than via kernel command line\&.
+.sp
+Use
+"tmpfs"
+in order to mount a
+\fBtmpfs\fR(5)
+file system as root file system of the OS\&. This is useful in combination with
+\fImount\&.usr=\fR
+(see below) in order to combine a volatile root file system with a separate, immutable
+/usr/
+file system\&. Also see
+\fIsystemd\&.volatile=\fR
+below\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fIrootfstype=\fR
+.RS 4
+Takes the root filesystem type that will be passed to the mount command\&.
+\fIrootfstype=\fR
+is honored by the initrd\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fIrootflags=\fR
+.RS 4
+Takes the root filesystem mount options to use\&.
+\fIrootflags=\fR
+is honored by the initrd\&.
+.sp
+Note that unlike most kernel command line options this setting does not override settings made in configuration files (specifically: the mount option string in
+/etc/fstab)\&. See
+\fBsystemd-remount-fs.service\fR(8)\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fImount\&.usr=\fR
+.RS 4
+Takes the
+/usr/
+filesystem to be mounted by the initrd\&. If
+\fImount\&.usrfstype=\fR
+or
+\fImount\&.usrflags=\fR
+is set, then
+\fImount\&.usr=\fR
+will default to the value set in
+\fIroot=\fR\&.
+.sp
+Otherwise, this parameter defaults to the
+/usr/
+entry found in
+/etc/fstab
+on the root filesystem\&.
+.sp
+\fImount\&.usr=\fR
+is honored by the initrd\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fImount\&.usrfstype=\fR
+.RS 4
+Takes the
+/usr/
+filesystem type that will be passed to the mount command\&. If
+\fImount\&.usr=\fR
+or
+\fImount\&.usrflags=\fR
+is set, then
+\fImount\&.usrfstype=\fR
+will default to the value set in
+\fIrootfstype=\fR\&.
+.sp
+Otherwise, this value will be read from the
+/usr/
+entry in
+/etc/fstab
+on the root filesystem\&.
+.sp
+\fImount\&.usrfstype=\fR
+is honored by the initrd\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fImount\&.usrflags=\fR
+.RS 4
+Takes the
+/usr/
+filesystem mount options to use\&. If
+\fImount\&.usr=\fR
+or
+\fImount\&.usrfstype=\fR
+is set, then
+\fImount\&.usrflags=\fR
+will default to the value set in
+\fIrootflags=\fR\&.
+.sp
+Otherwise, this value will be read from the
+/usr/
+entry in
+/etc/fstab
+on the root filesystem\&.
+.sp
+\fImount\&.usrflags=\fR
+is honored by the initrd\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fIroothash=\fR, \fIusrhash=\fR
+.RS 4
+These options are primarily read by
+\fBsystemd-veritysetup-generator\fR(8)\&. When set this indicates that the root file system (or
+/usr/) shall be mounted from Verity volumes with the specified hashes\&. If these kernel command line options are set the root (or
+/usr/) file system is thus mounted from a device mapper volume
+/dev/mapper/root
+(or
+/dev/mapper/usr)\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fIsystemd\&.volatile=\fR
+.RS 4
+Controls whether the system shall boot up in volatile mode\&. Takes a boolean argument or the special value
+\fBstate\fR\&.
+.sp
+If false (the default), this generator makes no changes to the mount tree and the system is booted up in normal mode\&.
+.sp
+If true the generator ensures
+\fBsystemd-volatile-root.service\fR(8)
+is run in the initrd\&. This service changes the mount table before transitioning to the host system, so that a volatile memory file system ("tmpfs") is used as root directory, with only
+/usr/
+mounted into it from the configured root file system, in read\-only mode\&. This way the system operates in fully stateless mode, with all configuration and state reset at boot and lost at shutdown, as
+/etc/
+and
+/var/
+will be served from the (initially unpopulated) volatile memory file system\&.
+.sp
+If set to
+\fBstate\fR
+the generator will leave the root directory mount point unaltered, however will mount a
+"tmpfs"
+file system to
+/var/\&. In this mode the normal system configuration (i\&.e\&. the contents of
+"/etc/") is in effect (and may be modified during system runtime), however the system state (i\&.e\&. the contents of
+"/var/") is reset at boot and lost at shutdown\&.
+.sp
+If this setting is set to
+"overlay"
+the root file system is set up as
+"overlayfs"
+mount combining the read\-only root directory with a writable
+"tmpfs", so that no modifications are made to disk, but the file system may be modified nonetheless with all changes being lost at reboot\&.
+.sp
+Note that in none of these modes the root directory,
+/etc/,
+/var/
+or any other resources stored in the root file system are physically removed\&. It\*(Aqs thus safe to boot a system that is normally operated in non\-volatile mode temporarily into volatile mode, without losing data\&.
+.sp
+Note that with the exception of
+"overlay"
+mode, enabling this setting will only work correctly on operating systems that can boot up with only
+/usr/
+mounted, and are able to automatically populate
+/etc/, and also
+/var/
+in case of
+"systemd\&.volatile=yes"\&.
+.sp
+Also see
+\fIroot=tmpfs\fR
+above, for a method to combine a
+"tmpfs"
+file system with a regular
+/usr/
+file system (as configured via
+\fImount\&.usr=\fR)\&. The main distinction between
+\fIsystemd\&.volatile=yes\fR, and
+\fIroot=tmpfs\fR
+in combination
+\fImount\&.usr=\fR
+is that the former operates on top of a regular root file system and temporarily obstructs the files and directories above its
+/usr/
+subdirectory, while the latter does not hide any files, but simply mounts a unpopulated tmpfs as root file system and combines it with a user picked
+/usr/
+file system\&.
+.sp
+Added in version 233\&.
+.RE
+.PP
+\fIsystemd\&.swap=\fR
+.RS 4
+Takes a boolean argument or enables the option if specified without an argument\&. If disabled, causes the generator to ignore any swap devices configured in
+/etc/fstab\&. Defaults to enabled\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+\fIsystemd\&.mount\-extra=\fR\fI\fIWHAT\fR\fR\fI:\fR\fI\fIWHERE\fR\fR\fI[:\fR\fI\fIFSTYPE\fR\fR\fI[:\fR\fI\fIOPTIONS\fR\fR\fI]]\fR, \fIrd\&.systemd\&.mount\-extra=\fR\fI\fIWHAT\fR\fR\fI:\fR\fI\fIWHERE\fR\fR\fI[:\fR\fI\fIFSTYPE\fR\fR\fI[:\fR\fI\fIOPTIONS\fR\fR\fI]]\fR
+.RS 4
+Specifies the mount unit\&. Takes at least two and at most four fields separated with a colon (":")\&. Each field is handled as the corresponding fstab field\&. This option can be specified multiple times\&.
+\fIrd\&.systemd\&.mount\-extra=\fR
+is honored only in the initrd, while
+\fIsystemd\&.mount\-extra=\fR
+is honored by both the main system and the initrd\&. In the initrd, the mount point (and also source path if the mount is bind mount) specified in
+\fIsystemd\&.mount\-extra=\fR
+is prefixed with
+/sysroot/\&.
+.sp
+Example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemd\&.mount\-extra=/dev/sda1:/mount\-point:ext4:rw,noatime
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fIsystemd\&.swap\-extra=\fR\fI\fIWHAT\fR\fR\fI[:\fR\fI\fIOPTIONS\fR\fR\fI]\fR, \fIrd\&.systemd\&.swap\-extra=\fR\fI\fIWHAT\fR\fR\fI[:\fR\fI\fIOPTIONS\fR\fR\fI]\fR
+.RS 4
+Specifies the swap unit\&. Takes the block device to be used as a swap device, and optionally takes mount options followed by a colon (":")\&. This option can be specified multiple times\&.
+\fIrd\&.systemd\&.swap\-extra=\fR
+is honored only in the initrd, while
+\fIsystemd\&.swap\-extra=\fR
+is honored by both the main system and the initrd\&.
+.sp
+Example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemd\&.swap\-extra=/dev/sda2:x\-systemd\&.makefs
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Added in version 254\&.
+.RE
+.SH "SYSTEM CREDENTIALS"
+.PP
+\fIfstab\&.extra\fR
+.RS 4
+This credential may contain addition mounts to establish, in the same format as
+\fBfstab\fR(5), with one mount per line\&. It is read in addition to
+/etc/fstab\&.
+.sp
+Added in version 254\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBfstab\fR(5),
+\fBsystemd.mount\fR(5),
+\fBsystemd.swap\fR(5),
+\fBsystemd-cryptsetup-generator\fR(8),
+\fBsystemd-gpt-auto-generator\fR(8),
+\fBkernel-command-line\fR(7),
+\m[blue]\fBKnown Environment Variables\fR\m[]\&\s-2\u[1]\d\s+2
+.SH "NOTES"
+.IP " 1." 4
+Known Environment Variables
+.RS 4
+\%https://systemd.io/ENVIRONMENT/
+.RE
diff --git a/upstream/fedora-40/man8/systemd-getty-generator.8 b/upstream/fedora-40/man8/systemd-getty-generator.8
new file mode 100644
index 00000000..a14b9abc
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-getty-generator.8
@@ -0,0 +1,111 @@
+'\" t
+.TH "SYSTEMD\-GETTY\-GENERATOR" "8" "" "systemd 255" "systemd-getty-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-getty-generator \- Generator for enabling getty instances on the console
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-getty\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-getty\-generator
+is a generator that automatically instantiates
+serial\-getty@\&.service
+on the kernel consoles, if they can function as ttys and are not provided by the virtual console subsystem\&. It will also instantiate
+serial\-getty@\&.service
+instances for virtualizer consoles, if execution in a virtualized environment is detected\&. If execution in a container environment is detected, it will instead enable
+console\-getty\&.service
+for
+/dev/console, and
+container\-getty@\&.service
+instances for additional container pseudo TTYs as requested by the container manager (see
+\m[blue]\fBContainer Interface\fR\m[]\&\s-2\u[1]\d\s+2)\&. This should ensure that the user is shown a login prompt at the right place, regardless of which environment the system is started in\&. For example, it is sufficient to redirect the kernel console with a kernel command line argument such as
+\fIconsole=\fR
+to get both kernel messages and a getty prompt on a serial TTY\&. See
+\m[blue]\fBThe kernel\*(Aqs command\-line parameters\fR\m[]\&\s-2\u[2]\d\s+2
+for more information on the
+\fIconsole=\fR
+kernel parameter\&.
+.PP
+systemd\-getty\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.PP
+Further information about configuration of gettys can be found in
+\m[blue]\fBsystemd for Administrators, Part XVI: Gettys on Serial Consoles (and Elsewhere)\fR\m[]\&\s-2\u[3]\d\s+2\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-getty\-generator
+understands the following
+\fBkernel-command-line\fR(7)
+parameters:
+.PP
+\fIsystemd\&.getty_auto=\fR
+.RS 4
+this options take an optional boolean argument, and default to yes\&. The generator is enabled by default, and a false value may be used to disable it\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "ENVIRONMENT"
+.PP
+\fI$SYSTEMD_GETTY_AUTO\fR
+.RS 4
+This variable takes an optional boolean argument, and default to yes\&. The generator is enabled by default, and a false value may be used to disable it\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "SYSTEM CREDENTIALS"
+.PP
+\fIgetty\&.ttys\&.serial\fR, \fIgetty\&.ttys\&.container\fR
+.RS 4
+These system credentials may be used to spawn additional login prompts on selected TTYs\&. The two credentials should contain a newline\-separated list of TTY names to spawn instances of
+serial\-getty@\&.service
+(in case of
+\fIgetty\&.ttys\&.serial\fR) and
+container\-getty@\&.service
+(in case of
+\fIgetty\&.ttys\&.container\fR) on\&.
+.sp
+Added in version 254\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBkernel-command-line\fR(7),
+\fBsystemd.system-credentials\fR(7),
+\fBagetty\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Container
+ Interface
+.RS 4
+\%https://systemd.io/CONTAINER_INTERFACE
+.RE
+.IP " 2." 4
+The kernel's command-line parameters
+.RS 4
+\%https://docs.kernel.org/admin-guide/kernel-parameters.html
+.RE
+.IP " 3." 4
+systemd for Administrators, Part XVI: Gettys on Serial Consoles (and Elsewhere)
+.RS 4
+\%https://0pointer.de/blog/projects/serial-console.html
+.RE
diff --git a/upstream/fedora-40/man8/systemd-gpt-auto-generator.8 b/upstream/fedora-40/man8/systemd-gpt-auto-generator.8
new file mode 100644
index 00000000..2282d2fe
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-gpt-auto-generator.8
@@ -0,0 +1,367 @@
+'\" t
+.TH "SYSTEMD\-GPT\-AUTO\-GENERATOR" "8" "" "systemd 255" "systemd-gpt-auto-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-gpt-auto-generator \- Generator for automatically discovering and mounting root, /home/, /srv/, /var/ and /var/tmp/ partitions, as well as discovering and enabling swap partitions, based on GPT partition type GUIDs
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-gpt\-auto\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-gpt\-auto\-generator
+is a unit generator that automatically discovers the root partition,
+/home/,
+/srv/,
+/var/,
+/var/tmp/, the EFI System Partition, the Extended Boot Loader Partition, and swap partitions and creates mount and swap units for them, based on the partition type GUIDs of GUID partition tables (GPT)\&. See
+\m[blue]\fBUEFI Specification\fR\m[]\&\s-2\u[1]\d\s+2, chapter 5 for more details\&. It implements the
+\m[blue]\fBDiscoverable Partitions Specification\fR\m[]\&\s-2\u[2]\d\s+2\&.
+.PP
+Note that this generator has no effect on non\-GPT systems\&. It will also not create mount point configuration for directories which already contain files or if the mount point is explicitly configured in
+\fBfstab\fR(5)\&. If the units this generator creates are overridden, for example by units in directories with higher precedence, drop\-ins and additional dependencies created by this generator might still be used\&.
+.PP
+This generator will only look for the root partition on the same physical disk where the EFI System Partition (ESP) is located\&. Note that support from the boot loader is required: the EFI variable
+\fILoaderDevicePartUUID\fR
+of the
+\fB4a67b082\-0a4c\-41cf\-b6c7\-440b29bb8c4f\fR
+vendor UUID is used to determine from which partition, and hence the disk, from which the system was booted\&. If the boot loader does not set this variable, this generator will not be able to detect the root partition\&. See the
+\m[blue]\fBBoot Loader Interface\fR\m[]\&\s-2\u[3]\d\s+2
+for details\&.
+.PP
+Similarly, this generator will only look for the other partitions on the same physical disk as the root partition\&. In this case, boot loader support is not required\&. These partitions will not be searched for on systems where the root file system is distributed on multiple disks, for example via btrfs RAID\&.
+.PP
+systemd\-gpt\-auto\-generator
+is useful for centralizing file system configuration in the partition table and making configuration in
+/etc/fstab
+or on the kernel command line unnecessary\&.
+.PP
+This generator looks for the partitions based on their partition type GUID\&. The following partition type GUIDs are identified:
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.B Table\ \&1.\ \&Partition Type GUIDs
+.TS
+allbox tab(:);
+lB lB lB lB.
+T{
+Partition Type GUID
+T}:T{
+Name
+T}:T{
+Mount Point
+T}:T{
+Explanation
+T}
+.T&
+l l l l
+l l l l
+l l l l
+l l l l
+l l l l
+l l l l
+l l l l
+l l l l
+l l l l
+l l l l.
+T{
+\fBSD_GPT_ROOT_X86_64\fR \fB4f68bce3\-e8cd\-4db1\-96e7\-fbcaf984b709\fR
+T}:T{
+Root Partition (x86\-64)
+T}:T{
+/
+T}:T{
+The first partition with this type UUID, located on the same disk as the ESP, is used as the root file system / on AMD64 / 64\-bit x86 systems\&.
+T}
+T{
+\fBSD_GPT_ROOT_ARM64\fR \fBb921b045\-1df0\-41c3\-af44\-4c6f280d3fae\fR
+T}:T{
+Root Partition (64\-bit ARM)
+T}:T{
+/
+T}:T{
+The first partition with this type UUID, located on the same disk as the ESP, is used as the root file system / on AArch64 / 64\-bit ARM systems\&.
+T}
+T{
+\fBSD_GPT_ROOT_ALPHA\fR \fBSD_GPT_ROOT_ARC\fR \fBSD_GPT_ROOT_ARM\fR \fBSD_GPT_ROOT_ARM64\fR \fBSD_GPT_ROOT_IA64\fR \fBSD_GPT_ROOT_LOONGARCH64\fR \fBSD_GPT_ROOT_MIPS\fR \fBSD_GPT_ROOT_MIPS64\fR \fBSD_GPT_ROOT_MIPS_LE\fR \fBSD_GPT_ROOT_MIPS64_LE\fR \fBSD_GPT_ROOT_PARISC\fR \fBSD_GPT_ROOT_PPC\fR \fBSD_GPT_ROOT_PPC64\fR \fBSD_GPT_ROOT_PPC64_LE\fR \fBSD_GPT_ROOT_RISCV32\fR \fBSD_GPT_ROOT_RISCV64\fR \fBSD_GPT_ROOT_S390\fR \fBSD_GPT_ROOT_S390X\fR \fBSD_GPT_ROOT_TILEGX\fR \fBSD_GPT_ROOT_X86\fR \fBSD_GPT_ROOT_X86_64\fR \fBSD_GPT_USR_ALPHA\fR \fBSD_GPT_USR_ARC\fR \fBSD_GPT_USR_ARM\fR \fBSD_GPT_USR_IA64\fR \fBSD_GPT_USR_LOONGARCH64\fR \fBSD_GPT_USR_MIPS_LE\fR \fBSD_GPT_USR_MIPS64_LE\fR \fBSD_GPT_USR_PARISC\fR \fBSD_GPT_USR_PPC\fR \fBSD_GPT_USR_PPC64\fR \fBSD_GPT_USR_PPC64_LE\fR \fBSD_GPT_USR_RISCV32\fR \fBSD_GPT_USR_RISCV64\fR \fBSD_GPT_USR_S390\fR \fBSD_GPT_USR_S390X\fR \fBSD_GPT_USR_TILEGX\fR \fBSD_GPT_USR_X86\fR
+T}:T{
+root partitions for other architectures
+T}:T{
+/
+T}:T{
+The first partition with the type UUID matching the architecture, located on the same disk as the ESP, is used as the root file system /\&. For the full list and constant values, see \m[blue]\fBDiscoverable Partitions Specification\fR\m[]\&\s-2\u[2]\d\s+2\&.
+T}
+T{
+\fBSD_GPT_HOME\fR \fB933ac7e1\-2eb4\-4f13\-b844\-0e14e2aef915\fR
+T}:T{
+Home Partition
+T}:T{
+/home/
+T}:T{
+The first partition with this type UUID on the same disk as the ESP is mounted to /home/\&.
+T}
+T{
+\fBSD_GPT_SRV\fR \fB3b8f8425\-20e0\-4f3b\-907f\-1a25a76f98e8\fR
+T}:T{
+Server Data Partition
+T}:T{
+/srv/
+T}:T{
+The first partition with this type UUID on the same disk as the ESP is mounted to /srv/\&.
+T}
+T{
+\fBSD_GPT_VAR\fR \fB4d21b016\-b534\-45c2\-a9fb\-5c16e091fd2d\fR
+T}:T{
+Variable Data Partition
+T}:T{
+/var/
+T}:T{
+The first partition with this type UUID on the same disk as the ESP is mounted to /var/ \(em under the condition its partition UUID matches the first 128 bit of the HMAC\-SHA256 of the GPT type uuid of this partition keyed by the machine ID of the installation stored in \fBmachine-id\fR(5)\&.
+T}
+T{
+\fBSD_GPT_TMP\fR \fB7ec6f557\-3bc5\-4aca\-b293\-16ef5df639d1\fR
+T}:T{
+Temporary Data Partition
+T}:T{
+/var/tmp/
+T}:T{
+The first partition with this type UUID on the same disk as the ESP is mounted to /var/tmp/\&.
+T}
+T{
+\fBSD_GPT_SWAP\fR \fB0657fd6d\-a4ab\-43c4\-84e5\-0933c84b4f4f\fR
+T}:T{
+Swap
+T}:T{
+n/a
+T}:T{
+All partitions with this type UUID on the same disk as the ESP are used as swap\&.
+T}
+T{
+\fBSD_GPT_ESP\fR \fBc12a7328\-f81f\-11d2\-ba4b\-00a0c93ec93b\fR
+T}:T{
+EFI System Partition (ESP)
+T}:T{
+/efi/ or /boot/
+T}:T{
+The first partition with this type UUID located on the same disk as the root partition is mounted to /boot/ or /efi/, see below\&.
+T}
+T{
+\fBSD_GPT_XBOOTLDR\fR \fBbc13c2ff\-59e6\-4262\-a352\-b275fd6f7172\fR
+T}:T{
+Extended Boot Loader Partition
+T}:T{
+/boot/
+T}:T{
+The first partition with this type UUID located on the same disk as the root partition is mounted to /boot/, see below\&.
+T}
+.TE
+.sp 1
+.PP
+This generator understands the following attribute flags for partitions:
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.B Table\ \&2.\ \&Partition Attribute Flags
+.TS
+allbox tab(:);
+lB lB lB.
+T{
+Flag
+T}:T{
+Applicable to
+T}:T{
+Explanation
+T}
+.T&
+l l l
+l l l
+l l l.
+T{
+\fBSD_GPT_FLAG_READ_ONLY\fR \fB0x1000000000000000\fR
+T}:T{
+/, /home/, /srv/, /var/, /var/tmp/, Extended Boot Loader Partition
+T}:T{
+Partition is mounted read\-only
+T}
+T{
+\fBSD_GPT_FLAG_NO_AUTO\fR \fB0x8000000000000000\fR
+T}:T{
+/, /home/, /srv/, /var/, /var/tmp/, Extended Boot Loader Partition
+T}:T{
+Partition is not mounted automatically
+T}
+T{
+\fBSD_GPT_FLAG_NO_BLOCK_IO_PROTOCOL\fR \fB0x0000000000000002\fR
+T}:T{
+EFI System Partition (ESP)
+T}:T{
+Partition is not mounted automatically
+T}
+.TE
+.sp 1
+.PP
+The
+/home/,
+/srv/,
+/var/,
+/var/tmp/
+and swap partitions may be encrypted in LUKS format\&. In this case, a device mapper device is set up under the names
+/dev/mapper/home,
+/dev/mapper/srv,
+/dev/mapper/var,
+/dev/mapper/tmp
+or
+/dev/mapper/swap\&. Note that this might create conflicts if the same partition is listed in
+/etc/crypttab
+with a different device mapper device name\&.
+.PP
+When systemd is running in the initrd the
+/
+partition may be encrypted with LUKS as well\&. In this case, a device mapper device is set up under the name
+/dev/mapper/root, and a
+sysroot\&.mount
+is set up that mounts the device under
+/sysroot\&. For more information, see
+\fBbootup\fR(7)\&.
+.PP
+The root partition can be specified by symlinking
+/run/systemd/volatile\-root
+to
+/dev/block/$major:$minor\&. This is especially useful if the root mount has been replaced by some form of volatile file system (overlayfs)\&.
+.PP
+Mount and automount units for the EFI System Partition (ESP) and Extended Boot Loader Partition (XBOOTLDR) are generated on EFI systems\&. If the disk contains an XBOOTLDR partition, as defined in the
+\m[blue]\fBBoot Loader Specification\fR\m[]\&\s-2\u[4]\d\s+2, it is made available at
+/boot/\&. This generator creates an automount unit; the mount will only be activated on\-demand when accessed\&. The mount point will be created if necessary\&.
+.PP
+The ESP is mounted to
+/boot/
+if that directory exists and is not used for XBOOTLDR, and otherwise to
+/efi/\&. Same as for
+/boot/, an automount unit is used\&. The mount point will be created if necessary\&.
+.PP
+No configuration is created for mount points that are configured in
+\fBfstab\fR(5)
+or when the target directory contains files\&.
+.PP
+When using this generator in conjunction with btrfs file systems, make sure to set the correct default subvolumes on them, using
+\fBbtrfs subvolume set\-default\fR\&.
+.PP
+If the system was booted via
+\fBsystemd-stub\fR(7)
+and the stub reported to userspace that the kernel image was measured to a TPM2 PCR, then any discovered root and
+/var/
+volume identifiers (and volume encryption key in case it is encrypted) will be automatically measured into PCR 15 on activation, via
+\fBsystemd-pcrfs@.service\fR(8)\&.
+.PP
+systemd\-gpt\-auto\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-gpt\-auto\-generator
+understands the following kernel command line parameters:
+.PP
+\fIsystemd\&.gpt_auto\fR, \fIrd\&.systemd\&.gpt_auto\fR
+.RS 4
+Those options take an optional boolean argument, and default to yes\&. The generator is enabled by default, and a false value may be used to disable it (e\&.g\&.
+"systemd\&.gpt_auto=0")\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fIsystemd\&.image_policy=\fR, \fIrd\&.systemd\&.image_policy=\fR
+.RS 4
+Takes an image dissection policy string as argument (as per
+\fBsystemd.image-policy\fR(7)), and allows enforcing a policy on dissection and use of the automatically discovered GPT partition table entries\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fIroot=\fR, \fIrootfstype=\fR, \fIrootflags=\fR
+.RS 4
+When
+\fIroot=\fR
+is used with the special value
+"gpt\-auto"
+(or if the parameter is not used at all), automatic discovery of the root partition based on the GPT partition type is enabled\&. Any other value disables this logic\&.
+.sp
+The
+\fIrootfstype=\fR
+and
+\fIrootflags=\fR
+are used to select the file system type and options when the root file system is automatically discovered\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fIrw\fR, \fIro\fR
+.RS 4
+Mount the root partition read\-write or read\-only
+\fIinitially\fR\&.
+.sp
+Note that unlike most kernel command line options these settings do not override configuration in the file system, and the file system may be remounted later\&. See
+\fBsystemd-remount-fs.service\fR(8)\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fIsystemd\&.swap=\fR
+.RS 4
+Takes a boolean argument or enables the option if specified without an argument\&. If disabled, automatic discovery of swap partition(s) based on GPT partition type is disabled\&. Defaults to enabled\&.
+.sp
+Added in version 254\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.mount\fR(5),
+\fBsystemd.swap\fR(5),
+\fBsystemd-fstab-generator\fR(8),
+\fBsystemd-cryptsetup@.service\fR(8),
+\fBsystemd-pcrfs@.service\fR(8),
+\fBmachine-id\fR(5),
+\fBcryptsetup\fR(8),
+\fBfstab\fR(5),
+\fBbtrfs\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+UEFI Specification
+.RS 4
+\%https://uefi.org/specifications
+.RE
+.IP " 2." 4
+Discoverable Partitions Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/discoverable_partitions_specification
+.RE
+.IP " 3." 4
+Boot Loader Interface
+.RS 4
+\%https://systemd.io/BOOT_LOADER_INTERFACE
+.RE
+.IP " 4." 4
+Boot Loader Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/boot_loader_specification
+.RE
diff --git a/upstream/fedora-40/man8/systemd-hibernate-resume-generator.8 b/upstream/fedora-40/man8/systemd-hibernate-resume-generator.8
new file mode 100644
index 00000000..21c57e3f
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-hibernate-resume-generator.8
@@ -0,0 +1,82 @@
+'\" t
+.TH "SYSTEMD\-HIBERNATE\-RESUME\-GENERATOR" "8" "" "systemd 255" "systemd-hibernate-resume-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-hibernate-resume-generator \- Unit generator for resume= kernel parameter
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-hibernate\-resume\-generator
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-hibernate\-resume\-generator\fR
+is a generator that initiates the procedure to resume the system from hibernation\&. It creates the
+\fBsystemd-hibernate-resume.service\fR(8)
+unit according to the value of
+\fBresume=\fR
+parameter specified on the kernel command line, or the value of EFI variable
+\fIHibernateLocation\fR, which will instruct the kernel to resume the system from the hibernation image on that device\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-hibernate\-resume\-generator
+understands the following kernel command line parameters:
+.PP
+\fIresume=\fR
+.RS 4
+Takes a path to the resume device\&. Both persistent block device paths like
+/dev/disk/by\-foo/bar
+and
+\fBfstab\fR(5)\-style specifiers like
+"FOO=bar"
+are supported\&.
+.sp
+Added in version 217\&.
+.RE
+.PP
+\fIresume_offset=\fR
+.RS 4
+Takes the page offset of the swap space from the resume device\&. Defaults to
+"0"\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fIresumeflags=\fR
+.RS 4
+Takes the resume device mount options to use\&. Defaults
+\fIrootflags=\fR
+if not specified\&.
+.sp
+Added in version 243\&.
+.RE
+.PP
+\fInoresume\fR
+.RS 4
+Do not try to resume from hibernation\&. If this parameter is present,
+\fIresume=\fR
+is ignored\&.
+.sp
+Added in version 240\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-hibernate-resume.service\fR(8),
+\fBkernel-command-line\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-hibernate-resume.service.8 b/upstream/fedora-40/man8/systemd-hibernate-resume.service.8
new file mode 100644
index 00000000..9117af69
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-hibernate-resume.service.8
@@ -0,0 +1,49 @@
+'\" t
+.TH "SYSTEMD\-HIBERNATE\-RESUME\&.SERVICE" "8" "" "systemd 255" "systemd-hibernate-resume.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-hibernate-resume.service, systemd-hibernate-resume \- Resume from hibernation
+.SH "SYNOPSIS"
+.PP
+systemd\-hibernate\-resume\&.service
+.PP
+/usr/lib/systemd/systemd\-hibernate\-resume
+.SH "DESCRIPTION"
+.PP
+systemd\-hibernate\-resume\&.service
+initiates the resume from hibernation\&.
+.PP
+\fBsystemd\-hibernate\-resume\fR
+only supports the in\-kernel hibernation implementation, see
+\m[blue]\fBSwap suspend\fR\m[]\&\s-2\u[1]\d\s+2\&. Internally, it works by writing the major:minor of specified device node to
+/sys/power/resume, along with the offset in memory pages (/sys/power/resume_offset) if supported\&.
+.PP
+Failing to initiate a resume is not an error condition\&. It may mean that there was no resume image (e\&. g\&. if the system has been simply powered off and not hibernated)\&. In such cases, the boot is ordinarily continued\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-hibernate-resume-generator\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Swap suspend
+.RS 4
+\%https://docs.kernel.org/power/swsusp.html
+.RE
diff --git a/upstream/fedora-40/man8/systemd-homed.service.8 b/upstream/fedora-40/man8/systemd-homed.service.8
new file mode 100644
index 00000000..b9f44fb1
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-homed.service.8
@@ -0,0 +1,116 @@
+'\" t
+.TH "SYSTEMD\-HOMED\&.SERVICE" "8" "" "systemd 255" "systemd-homed.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-homed.service, systemd-homed \- Home Area/User Account Manager
+.SH "SYNOPSIS"
+.PP
+systemd\-homed\&.service
+.PP
+/usr/lib/systemd/systemd\-homed
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-homed\fR
+is a system service that may be used to create, remove, change or inspect home areas (directories and network mounts and real or loopback block devices with a filesystem, optionally encrypted)\&.
+.PP
+Most of
+\fBsystemd\-homed\fR\*(Aqs functionality is accessible through the
+\fBhomectl\fR(1)
+command\&.
+.PP
+See the
+\m[blue]\fBHome Directories\fR\m[]\&\s-2\u[1]\d\s+2
+documentation for details about the format and design of home areas managed by
+systemd\-homed\&.service\&.
+.PP
+Each home directory managed by
+systemd\-homed\&.service
+synthesizes a local user and group\&. These are made available to the system using the
+\m[blue]\fBUser/Group Record Lookup API via Varlink\fR\m[]\&\s-2\u[2]\d\s+2, and thus may be browsed with
+\fBuserdbctl\fR(1)\&.
+.SH "KEY MANAGEMENT"
+.PP
+User records are cryptographically signed with a public/private key pair (the signature is part of the JSON record itself)\&. For a user to be permitted to log in locally the public key matching the signature of their user record must be installed\&. For a user record to be modified locally the private key matching the signature must be installed locally, too\&. The keys are stored in the
+/var/lib/systemd/home/
+directory:
+.PP
+/var/lib/systemd/home/local\&.private
+.RS 4
+The private key of the public/private key pair used for local records\&. Currently, only a single such key may be installed\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+/var/lib/systemd/home/local\&.public
+.RS 4
+The public key of the public/private key pair used for local records\&. Currently, only a single such key may be installed\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+/var/lib/systemd/home/*\&.public
+.RS 4
+Additional public keys\&. Any users whose user records are signed with any of these keys are permitted to log in locally\&. An arbitrary number of keys may be installed this way\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+All key files listed above are in PEM format\&.
+.PP
+In order to migrate a home directory from a host
+"foobar"
+to another host
+"quux"
+it is hence sufficient to copy
+/var/lib/systemd/home/local\&.public
+from the host
+"foobar"
+to
+"quux", maybe calling the file on the destination
+/var/lib/systemd/home/foobar\&.public, reflecting the origin of the key\&. If the user record should be modifiable on
+"quux"
+the pair
+/var/lib/systemd/home/local\&.public
+and
+/var/lib/systemd/home/local\&.private
+need to be copied from
+"foobar"
+to
+"quux", and placed under the identical paths there, as currently only a single private key is supported per host\&. Note of course that the latter means that user records generated/signed before the key pair is copied in, lose their validity\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBhomed.conf\fR(5),
+\fBhomectl\fR(1),
+\fBpam_systemd_home\fR(8),
+\fBuserdbctl\fR(1),
+\fBorg.freedesktop.home1\fR(5)
+.SH "NOTES"
+.IP " 1." 4
+Home Directories
+.RS 4
+\%https://systemd.io/HOME_DIRECTORY
+.RE
+.IP " 2." 4
+User/Group Record Lookup API via Varlink
+.RS 4
+\%https://systemd.io/USER_GROUP_API
+.RE
diff --git a/upstream/fedora-40/man8/systemd-hostnamed.service.8 b/upstream/fedora-40/man8/systemd-hostnamed.service.8
new file mode 100644
index 00000000..af2fd26a
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-hostnamed.service.8
@@ -0,0 +1,118 @@
+'\" t
+.TH "SYSTEMD\-HOSTNAMED\&.SERVICE" "8" "" "systemd 255" "systemd-hostnamed.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-hostnamed.service, systemd-hostnamed \- Daemon to control system hostname from programs
+.SH "SYNOPSIS"
+.PP
+systemd\-hostnamed\&.service
+.PP
+/usr/lib/systemd/systemd\-hostnamed
+.SH "DESCRIPTION"
+.PP
+systemd\-hostnamed\&.service
+is a system service that may be used to change the system\*(Aqs hostname and related machine metadata from user programs\&. It is automatically activated on request and terminates itself when unused\&.
+.PP
+It currently offers access to five variables:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The current hostname (Example:
+"dhcp\-192\-168\-47\-11")
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The static (configured) hostname (Example:
+"lennarts\-computer")
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The pretty hostname (Example:
+"Lennart\*(Aqs Computer")
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A suitable icon name for the local host (Example:
+"computer\-laptop")
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A chassis type (Example:
+"tablet")
+.RE
+.PP
+The static hostname is stored in
+/etc/hostname, see
+\fBhostname\fR(5)
+for more information\&. The pretty hostname, chassis type, and icon name are stored in
+/etc/machine\-info, see
+\fBmachine-info\fR(5)\&.
+.PP
+The tool
+\fBhostnamectl\fR(1)
+is a command line client to this service\&.
+.PP
+See
+\fBorg.freedesktop.hostname1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)
+for a description of the D\-Bus API\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBhostname\fR(5),
+\fBmachine-info\fR(5),
+\fBhostnamectl\fR(1),
+\fBsethostname\fR(2)
diff --git a/upstream/fedora-40/man8/systemd-hwdb.8 b/upstream/fedora-40/man8/systemd-hwdb.8
new file mode 100644
index 00000000..193b99ef
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-hwdb.8
@@ -0,0 +1,68 @@
+'\" t
+.TH "SYSTEMD\-HWDB" "8" "" "systemd 255" "systemd-hwdb"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-hwdb \- hardware database management tool
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-hwdb\ \fR\fB[options]\fR\fB\ update\fR\ 'u
+\fBsystemd\-hwdb \fR\fB[options]\fR\fB update\fR
+.HP \w'\fBsystemd\-hwdb\ \fR\fB[options]\fR\fB\ query\ \fR\fB\fImodalias\fR\fR\ 'u
+\fBsystemd\-hwdb \fR\fB[options]\fR\fB query \fR\fB\fImodalias\fR\fR
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-hwdb\fR
+expects a command and command specific arguments\&. It manages the binary hardware database\&.
+.SH "OPTIONS"
+.PP
+\fB\-\-usr\fR
+.RS 4
+Generate in /usr/lib/udev instead of /etc/udev\&.
+.sp
+Added in version 219\&.
+.RE
+.PP
+\fB\-r\fR, \fB\-\-root=\fR\fB\fIPATH\fR\fR
+.RS 4
+Alternate root path in the filesystem\&.
+.sp
+Added in version 219\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-strict\fR
+.RS 4
+When updating, return non\-zero exit value on any parsing error\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "systemd\-hwdb [\fIoptions\fR] update"
+.PP
+Update the binary database\&.
+.SS "systemd\-hwdb [\fIoptions\fR] query [\fIMODALIAS\fR]"
+.PP
+Query database and print result\&.
+.SH "SEE ALSO"
+.PP
+\fBhwdb\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-importd.service.8 b/upstream/fedora-40/man8/systemd-importd.service.8
new file mode 100644
index 00000000..a9bdd93f
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-importd.service.8
@@ -0,0 +1,54 @@
+'\" t
+.TH "SYSTEMD\-IMPORTD\&.SERVICE" "8" "" "systemd 255" "systemd-importd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-importd.service, systemd-importd \- VM and container image import and export service
+.SH "SYNOPSIS"
+.PP
+systemd\-importd\&.service
+.PP
+/usr/lib/systemd/systemd\-importd
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-importd\fR
+is a system service that allows importing, exporting and downloading of system images suitable for running as VM or containers\&. It is a companion service for
+\fBsystemd-machined.service\fR(8), and provides the implementation for
+\fBmachinectl\fR(1)\*(Aqs
+\fBpull\-raw\fR,
+\fBpull\-tar\fR,
+\fBimport\-raw\fR,
+\fBimport\-tar\fR,
+\fBimport\-fs\fR,
+\fBexport\-raw\fR, and
+\fBexport\-tar\fR
+commands\&.
+.PP
+See
+\fBorg.freedesktop.import1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)
+for a description of the D\-Bus API\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBmachinectl\fR(1),
+\fBsystemd-machined.service\fR(8),
+\fBsystemd-nspawn\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-initctl.service.8 b/upstream/fedora-40/man8/systemd-initctl.service.8
new file mode 100644
index 00000000..b88bead9
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-initctl.service.8
@@ -0,0 +1,41 @@
+'\" t
+.TH "SYSTEMD\-INITCTL\&.SERVICE" "8" "" "systemd 255" "systemd-initctl.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-initctl.service, systemd-initctl.socket, systemd-initctl \- /dev/initctl compatibility
+.SH "SYNOPSIS"
+.PP
+systemd\-initctl\&.service
+.PP
+systemd\-initctl\&.socket
+.PP
+/usr/lib/systemd/systemd\-initctl
+.SH "DESCRIPTION"
+.PP
+systemd\-initctl
+is a system service that implements compatibility with the
+/dev/initctl
+FIFO file system object, as implemented by the SysV init system\&.
+systemd\-initctl
+is automatically activated on request and terminates itself when it is unused\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-integritysetup-generator.8 b/upstream/fedora-40/man8/systemd-integritysetup-generator.8
new file mode 100644
index 00000000..67bc9462
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-integritysetup-generator.8
@@ -0,0 +1,43 @@
+'\" t
+.TH "SYSTEMD\-INTEGRITYSETUP\-GENERATOR" "8" "" "systemd 255" "systemd-integritysetup-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-integritysetup-generator \- Unit generator for integrity protected block devices
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-integritysetup\-generator
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-integritysetup\-generator\fR
+is a generator that translates
+/etc/integritytab
+entries into native systemd units early at boot\&. This will create
+\fBsystemd-integritysetup@.service\fR(8)
+units as necessary\&.
+.PP
+\fBsystemd\-integritysetup\-generator\fR
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-integritysetup@.service\fR(8),
+\fBintegritysetup\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-integritysetup@.service.8 b/upstream/fedora-40/man8/systemd-integritysetup@.service.8
new file mode 100644
index 00000000..badc9c26
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-integritysetup@.service.8
@@ -0,0 +1,88 @@
+'\" t
+.TH "SYSTEMD\-INTEGRITYSETUP@\&.SERVICE" "8" "" "systemd 255" "systemd-integritysetup@.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-integritysetup@.service, systemd-integritysetup \- Disk integrity protection logic
+.SH "SYNOPSIS"
+.PP
+systemd\-integritysetup@\&.service
+.PP
+/usr/lib/systemd/systemd\-integritysetup
+.SH "DESCRIPTION"
+.PP
+systemd\-integritysetup@\&.service
+is a service responsible for setting up integrity protected block devices\&. It should be instantiated for each device that requires integrity protection\&.
+.PP
+At early boot and when the system manager configuration is reloaded, entries from
+\fBintegritytab\fR(5)
+are converted into
+systemd\-integritysetup@\&.service
+units by
+\fBsystemd-integritysetup-generator\fR(8)\&.
+.PP
+systemd\-integritysetup@\&.service
+calls
+\fBsystemd\-integritysetup\fR\&.
+.SH "COMMANDS"
+.PP
+The following commands are understood by
+\fBsystemd\-integritysetup\fR:
+.PP
+\fBattach\fR \fIvolume\fR \fIdevice\fR [\fIkey\-file|\-\fR] [\fIoption(s)|\-\fR]
+.RS 4
+Create a block device
+\fIvolume\fR
+using
+\fIdevice\fR\&. See
+\fBintegritytab\fR(5)
+and
+\m[blue]\fBKernel dm\-integrity\fR\m[]\&\s-2\u[1]\d\s+2
+documentation for details\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fBdetach\fR \fIvolume\fR
+.RS 4
+Detach (destroy) the block device
+\fIvolume\fR\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fBhelp\fR
+.RS 4
+Print short information about command syntax\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBintegritytab\fR(5),
+\fBsystemd-integritysetup-generator\fR(8),
+\fBintegritysetup\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Kernel dm-integrity
+.RS 4
+\%https://docs.kernel.org/admin-guide/device-mapper/dm-integrity.html
+.RE
diff --git a/upstream/fedora-40/man8/systemd-journal-gatewayd.service.8 b/upstream/fedora-40/man8/systemd-journal-gatewayd.service.8
new file mode 100644
index 00000000..5ab1dd0b
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-journal-gatewayd.service.8
@@ -0,0 +1,333 @@
+'\" t
+.TH "SYSTEMD\-JOURNAL\-GATEWAYD\&.SERVICE" "8" "" "systemd 255" "systemd-journal-gatewayd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-journal-gatewayd.service, systemd-journal-gatewayd.socket, systemd-journal-gatewayd \- HTTP server for journal events
+.SH "SYNOPSIS"
+.PP
+systemd\-journal\-gatewayd\&.service
+.PP
+systemd\-journal\-gatewayd\&.socket
+.HP \w'\fB/usr/lib/systemd/systemd\-journal\-gatewayd\fR\ 'u
+\fB/usr/lib/systemd/systemd\-journal\-gatewayd\fR [OPTIONS...]
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-journal\-gatewayd\fR
+serves journal events over the network\&. Clients must connect using HTTP\&. The server listens on port 19531 by default\&. If
+\fB\-\-cert=\fR
+is specified, the server expects HTTPS connections\&.
+.PP
+The program is started by
+\fBsystemd\fR(1)
+and expects to receive a single socket\&. Use
+\fBsystemctl start systemd\-journal\-gatewayd\&.socket\fR
+to start the service, and
+\fBsystemctl enable systemd\-journal\-gatewayd\&.socket\fR
+to have it started on boot\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-cert=\fR
+.RS 4
+Specify the path to a file or
+\fBAF_UNIX\fR
+stream socket to read the server certificate from\&. The certificate must be in PEM format\&. This option switches
+\fBsystemd\-journal\-gatewayd\fR
+into HTTPS mode and must be used together with
+\fB\-\-key=\fR\&.
+.sp
+Added in version 198\&.
+.RE
+.PP
+\fB\-\-key=\fR
+.RS 4
+Specify the path to a file or
+\fBAF_UNIX\fR
+stream socket to read the secret server key corresponding to the certificate specified with
+\fB\-\-cert=\fR
+from\&. The key must be in PEM format\&.
+.sp
+Added in version 198\&.
+.RE
+.PP
+\fB\-\-trust=\fR
+.RS 4
+Specify the path to a file or
+\fBAF_UNIX\fR
+stream socket to read a CA certificate from\&. The certificate must be in PEM format\&.
+.sp
+Added in version 236\&.
+.RE
+.PP
+\fB\-\-system\fR, \fB\-\-user\fR
+.RS 4
+Limit served entries to entries from system services and the kernel, or to entries from services of current user\&. This has the same meaning as
+\fB\-\-system\fR
+and
+\fB\-\-user\fR
+options for
+\fBjournalctl\fR(1)\&. If neither is specified, all accessible entries are served\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-m\fR, \fB\-\-merge\fR
+.RS 4
+Serve entries interleaved from all available journals, including other machines\&. This has the same meaning as
+\fB\-\-merge\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-D \fR\fB\fIDIR\fR\fR, \fB\-\-directory=\fR\fB\fIDIR\fR\fR
+.RS 4
+Takes a directory path as argument\&. If specified,
+\fBsystemd\-journal\-gatewayd\fR
+will serve the specified journal directory
+\fIDIR\fR
+instead of the default runtime and system journal paths\&.
+.sp
+Added in version 232\&.
+.RE
+.PP
+\fB\-\-file=\fR\fB\fIGLOB\fR\fR
+.RS 4
+Takes a file glob as an argument\&. Serve entries from the specified journal files matching
+\fIGLOB\fR
+instead of the default runtime and system journal paths\&. May be specified multiple times, in which case files will be suitably interleaved\&. This has the same meaning as
+\fB\-\-file=\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "SUPPORTED URLS"
+.PP
+The following URLs are recognized:
+.PP
+/browse
+.RS 4
+Interactive browsing\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+/entries[?option1&option2=value\&...]
+.RS 4
+Retrieval of events in various formats\&.
+.sp
+The
+\fBAccept:\fR
+part of the HTTP header determines the format\&. Supported values are described below\&.
+.sp
+The
+\fBRange:\fR
+part of the HTTP header determines the range of events returned\&. Supported values are described below\&.
+.sp
+GET parameters can be used to modify what events are returned\&. Supported parameters are described below\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+/machine
+.RS 4
+Return a JSON structure describing the machine\&.
+.sp
+Example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+{ "machine_id" : "8cf7ed9d451ea194b77a9f118f3dc446",
+ "boot_id" : "3d3c9efaf556496a9b04259ee35df7f7",
+ "hostname" : "fedora",
+ "os_pretty_name" : "Fedora 19 (Rawhide)",
+ "virtualization" : "kvm",
+ \&...}
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Added in version 197\&.
+.RE
+.PP
+/fields/\fIFIELD_NAME\fR
+.RS 4
+Return a list of values of this field present in the logs\&.
+.sp
+Added in version 197\&.
+.RE
+.SH "ACCEPT HEADER"
+.PP
+\fBAccept: \fR\fB\fIformat\fR\fR
+.PP
+Recognized formats:
+.PP
+\fBtext/plain\fR
+.RS 4
+The default\&. Plaintext syslog\-like output, one line per journal entry (like
+\fBjournalctl \-\-output short\fR)\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+\fBapplication/json\fR
+.RS 4
+Entries are formatted as JSON data structures, one per line (like
+\fBjournalctl \-\-output json\fR)\&. See
+\m[blue]\fBJournal JSON Format\fR\m[]\&\s-2\u[1]\d\s+2
+for more information\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+\fBtext/event\-stream\fR
+.RS 4
+Entries are formatted as JSON data structures, wrapped in a format suitable for
+\m[blue]\fBServer\-Sent Events\fR\m[]\&\s-2\u[2]\d\s+2
+(like
+\fBjournalctl \-\-output json\-sse\fR)\&.
+.sp
+Added in version 229\&.
+.RE
+.PP
+\fBapplication/vnd\&.fdo\&.journal\fR
+.RS 4
+Entries are serialized into a binary (but mostly text\-based) stream suitable for backups and network transfer (like
+\fBjournalctl \-\-output export\fR)\&. See
+\m[blue]\fBJournal Export Format\fR\m[]\&\s-2\u[3]\d\s+2
+for more information\&.
+.sp
+Added in version 197\&.
+.RE
+.SH "RANGE HEADER"
+.PP
+\fBRange: entries=\fR\fB\fIcursor\fR\fR\fB[[:\fR\fB\fInum_skip\fR\fR\fB]:\fR\fB\fInum_entries\fR\fR\fB]\fR
+.PP
+where
+\fIcursor\fR
+is a cursor string,
+\fInum_skip\fR
+is an integer,
+\fInum_entries\fR
+is an unsigned integer\&.
+.PP
+Range defaults to all available events\&.
+.SH "URL GET PARAMETERS"
+.PP
+Following parameters can be used as part of the URL:
+.PP
+follow
+.RS 4
+wait for new events (like
+\fBjournalctl \-\-follow\fR, except that the number of events returned is not limited)\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+discrete
+.RS 4
+Test that the specified cursor refers to an entry in the journal\&. Returns just this entry\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+boot
+.RS 4
+Limit events to the current boot of the system (like
+\fBjournalctl \-b\fR)\&.
+.sp
+Added in version 197\&.
+.RE
+.PP
+\fIKEY\fR=\fImatch\fR
+.RS 4
+Match journal fields\&. See
+\fBsystemd.journal-fields\fR(7)\&.
+.sp
+Added in version 197\&.
+.RE
+.SH "EXAMPLES"
+.PP
+Retrieve events from this boot from local journal in
+\m[blue]\fBJournal Export Format\fR\m[]\&\s-2\u[3]\d\s+2:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+curl \-\-silent \-H\*(AqAccept: application/vnd\&.fdo\&.journal\*(Aq \e
+ \*(Aqhttp://localhost:19531/entries?boot\*(Aq
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Listen for core dumps:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+curl \*(Aqhttp://localhost:19531/entries?follow&MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1\*(Aq
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBjournalctl\fR(1),
+\fBsystemd.journal-fields\fR(7),
+\fBsystemd-journald.service\fR(8),
+\fBsystemd-journal-remote.service\fR(8),
+\fBsystemd-journal-upload.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Journal JSON Format
+.RS 4
+\%https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format
+.RE
+.IP " 2." 4
+Server-Sent Events
+.RS 4
+\%https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events
+.RE
+.IP " 3." 4
+Journal Export Format
+.RS 4
+\%https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format
+.RE
diff --git a/upstream/fedora-40/man8/systemd-journal-remote.service.8 b/upstream/fedora-40/man8/systemd-journal-remote.service.8
new file mode 100644
index 00000000..32c6bb3d
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-journal-remote.service.8
@@ -0,0 +1,353 @@
+'\" t
+.TH "SYSTEMD\-JOURNAL\-REMOTE\&.SERVICE" "8" "" "systemd 255" "systemd-journal-remote.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-journal-remote.service, systemd-journal-remote.socket, systemd-journal-remote \- Receive journal messages over the network
+.SH "SYNOPSIS"
+.PP
+systemd\-journal\-remote\&.service
+.PP
+systemd\-journal\-remote\&.socket
+.HP \w'\fB/usr/lib/systemd/systemd\-journal\-remote\fR\ 'u
+\fB/usr/lib/systemd/systemd\-journal\-remote\fR [OPTIONS...] [\-o/\-\-output=\fIDIR\fR|\fIFILE\fR] [SOURCES...]
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-journal\-remote\fR
+is a command to receive serialized journal events and store them to journal files\&. Input streams are in the
+\m[blue]\fBJournal Export Format\fR\m[]\&\s-2\u[1]\d\s+2, i\&.e\&. like the output from
+\fBjournalctl \-\-output=export\fR\&. For transport over the network, this serialized stream is usually carried over an HTTPS connection\&.
+.PP
+systemd\-journal\-remote\&.service
+is a system service that uses
+\fBsystemd\-journal\-remote\fR
+to listen for connections\&.
+systemd\-journal\-remote\&.socket
+configures the network address that
+systemd\-journal\-remote\&.service
+listens on\&. By default this is port 19532\&. What connections are accepted and how the received data is stored can be configured through the
+\fBjournal-remote.conf\fR(5)
+configuration file\&.
+.SH "SOURCES"
+.PP
+Sources can be either "active" (\fBsystemd\-journal\-remote\fR
+requests and pulls the data), or "passive" (\fBsystemd\-journal\-remote\fR
+waits for a connection and then receives events pushed by the other side)\&.
+.PP
+\fBsystemd\-journal\-remote\fR
+can read more than one event stream at a time\&. They will be interleaved in the output file\&. In case of "active" connections, each "source" is one stream, and in case of "passive" connections, each connection can result in a separate stream\&. Sockets can be configured in "accept" mode (i\&.e\&. only one connection), or "listen" mode (i\&.e\&. multiple connections, each resulting in a stream)\&.
+.PP
+When there are no more connections, and no more can be created (there are no listening sockets), then
+\fBsystemd\-journal\-remote\fR
+will exit\&.
+.PP
+Active sources can be specified in the following ways:
+.PP
+[SOURCES...]
+.RS 4
+When
+\fB\-\fR
+is given as a positional argument, events will be read from standard input\&. Other positional arguments will be treated as filenames to open and read from\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-url=\fR\fB\fIADDRESS\fR\fR
+.RS 4
+With the
+\fB\-\-url=\fR\fB\fIADDRESS\fR\fR
+option, events will be retrieved using HTTP from
+\fIADDRESS\fR\&. This URL should refer to the root of a remote
+\fBsystemd-journal-gatewayd\fR(8)
+instance, e\&.g\&. http://some\&.host:19531/ or https://some\&.host:19531/\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-getter=\*(Aq\fR\fB\fIPROG\fR\fR\fB \fR\fB[OPTIONS...]\fR\fB\*(Aq\fR
+.RS 4
+Program to invoke to retrieve data\&. The journal event stream must be generated on standard output\&.
+.sp
+Examples:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-\-getter=\*(Aqcurl "\-HAccept: application/vnd\&.fdo\&.journal" https://some\&.host:19531/\*(Aq
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-\-getter=\*(Aqwget \-\-header="Accept: application/vnd\&.fdo\&.journal" \-O\- https://some\&.host:19531/\*(Aq
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Added in version 239\&.
+.RE
+.PP
+Passive sources can be specified in the following ways:
+.PP
+\fB\-\-listen\-raw=\fR\fB\fIADDRESS\fR\fR
+.RS 4
+\fIADDRESS\fR
+must be an address suitable for
+\fBListenStream=\fR
+(cf\&.
+\fBsystemd.socket\fR(5))\&.
+\fBsystemd\-journal\-remote\fR
+will listen on this socket for connections\&. Each connection is expected to be a stream of journal events\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-listen\-http=\fR\fB\fIADDRESS\fR\fR, \fB\-\-listen\-https=\fR\fB\fIADDRESS\fR\fR
+.RS 4
+\fIADDRESS\fR
+must be either a negative integer, in which case it will be interpreted as the (negated) file descriptor number, or an address suitable for
+\fBListenStream=\fR
+(c\&.f\&.
+\fBsystemd.socket\fR(5))\&. In the first case, the server listens on port 19532 by default, and the matching file descriptor must be inherited through
+\fI$LISTEN_FDS\fR/\fI$LISTEN_PID\fR\&. In the second case, an HTTP or HTTPS server will be spawned on this port, respectively for
+\fB\-\-listen\-http=\fR
+and
+\fB\-\-listen\-https=\fR\&. Currently, only POST requests to
+/upload
+with
+"Content\-Type: application/vnd\&.fdo\&.journal"
+are supported\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fI$LISTEN_FDS\fR
+.RS 4
+\fBsystemd\-journal\-remote\fR
+supports the
+\fI$LISTEN_FDS\fR/\fI$LISTEN_PID\fR
+protocol\&. Open sockets inherited through socket activation behave like those opened with
+\fB\-\-listen\-raw=\fR
+described above, unless they are specified as an argument in
+\fB\-\-listen\-http=\-\fR\fB\fIn\fR\fR
+or
+\fB\-\-listen\-https=\-\fR\fB\fIn\fR\fR
+above\&. In the latter case, an HTTP or HTTPS server will be spawned using this descriptor and connections must be made over the HTTP protocol\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-key=\fR
+.RS 4
+Takes a path to a SSL secret key file in PEM format\&. Defaults to
+/etc/ssl/private/journal\-remote\&.pem\&. This option can be used with
+\fB\-\-listen\-https=\fR\&. If the path refers to an
+\fBAF_UNIX\fR
+stream socket in the file system a connection is made to it and the key read from it\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-cert=\fR
+.RS 4
+Takes a path to a SSL certificate file in PEM format\&. Defaults to
+/etc/ssl/certs/journal\-remote\&.pem\&. This option can be used with
+\fB\-\-listen\-https=\fR\&. If the path refers to an
+\fBAF_UNIX\fR
+stream socket in the file system a connection is made to it and the certificate read from it\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-trust=\fR
+.RS 4
+Takes a path to a SSL CA certificate file in PEM format, or
+\fBall\fR\&. If
+\fBall\fR
+is set, then certificate checking will be disabled\&. Defaults to
+/etc/ssl/ca/trusted\&.pem\&. This option can be used with
+\fB\-\-listen\-https=\fR\&. If the path refers to an
+\fBAF_UNIX\fR
+stream socket in the file system a connection is made to it and the certificate read from it\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-gnutls\-log=\fR
+.RS 4
+Takes a comma separated list of gnutls logging categories\&. This option can be used with
+\fB\-\-listen\-http=\fR
+or
+\fB\-\-listen\-https=\fR\&.
+.sp
+Added in version 239\&.
+.RE
+.SH "SINKS"
+.PP
+The location of the output journal can be specified with
+\fB\-o\fR
+or
+\fB\-\-output=\fR\&.
+.PP
+\fB\-o \fR\fB\fIFILE\fR\fR, \fB\-\-output=\fR\fB\fIFILE\fR\fR
+.RS 4
+Will write to this journal file\&. The filename must end with
+\&.journal\&. The file will be created if it does not exist\&. If necessary (journal file full, or corrupted), the file will be renamed following normal journald rules and a new journal file will be created in its stead\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-o \fR\fB\fIDIR\fR\fR, \fB\-\-output=\fR\fB\fIDIR\fR\fR
+.RS 4
+Will create journal files underneath directory
+\fIDIR\fR\&. The directory must exist\&. If necessary (journal files over size, or corrupted), journal files will be rotated following normal journald rules\&. Names of files underneath
+\fIDIR\fR
+will be generated using the rules described below\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+If
+\fB\-\-output=\fR
+is not used, the output directory
+/var/log/journal/remote/
+will be used\&. In case the output file is not specified, journal files will be created underneath the selected directory\&. Files will be called
+remote\-\fIhostname\fR\&.journal, where the
+\fIhostname\fR
+part is the escaped hostname of the source endpoint of the connection, or the numerical address if the hostname cannot be determined\&.
+.PP
+In the case that "active" sources are given by the positional arguments or
+\fB\-\-getter=\fR
+option, the output file name must always be given explicitly\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-split\-mode\fR
+.RS 4
+One of
+\fBnone\fR
+or
+\fBhost\fR\&. For the first, only one output journal file is used\&. For the latter, a separate output file is used, based on the hostname of the other endpoint of a connection\&.
+.sp
+In the case that "active" sources are given by the positional arguments or
+\fB\-\-getter=\fR
+option, the output file name must always be given explicitly and only
+\fBnone\fR
+is allowed\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-compress\fR [\fIBOOL\fR]
+.RS 4
+If this is set to
+"yes"
+then compress the data in the journal using XZ\&. The default is
+"yes"\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-seal\fR [\fIBOOL\fR]
+.RS 4
+If this is set to
+"yes"
+then periodically sign the data in the journal using Forward Secure Sealing\&. The default is
+"no"\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "EXAMPLES"
+.PP
+Copy local journal events to a different journal directory:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+journalctl \-o export | systemd\-journal\-remote \-o /tmp/dir/foo\&.journal \-
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Retrieve all available events from a remote
+\fBsystemd-journal-gatewayd\fR(8)
+instance and store them in
+/var/log/journal/remote/remote\-some\&.host\&.journal:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemd\-journal\-remote \-\-url http://some\&.host:19531/
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Retrieve current boot events and wait for new events from a remote
+\fBsystemd-journal-gatewayd\fR(8)
+instance, and store them in
+/var/log/journal/remote/remote\-some\&.host\&.journal:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemd\-journal\-remote \-\-url http://some\&.host:19531/entries?boot&follow
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.SH "SEE ALSO"
+.PP
+\fBjournal-remote.conf\fR(5),
+\fBjournalctl\fR(1),
+\fBsystemd-journal-gatewayd.service\fR(8),
+\fBsystemd-journal-upload.service\fR(8),
+\fBsystemd-journald.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Journal Export Format
+.RS 4
+\%https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format
+.RE
diff --git a/upstream/fedora-40/man8/systemd-journal-upload.service.8 b/upstream/fedora-40/man8/systemd-journal-upload.service.8
new file mode 100644
index 00000000..d74e313e
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-journal-upload.service.8
@@ -0,0 +1,288 @@
+'\" t
+.TH "SYSTEMD\-JOURNAL\-UPLOAD\&.SERVICE" "8" "" "systemd 255" "systemd-journal-upload.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-journal-upload.service, systemd-journal-upload \- Send journal messages over the network
+.SH "SYNOPSIS"
+.PP
+systemd\-journal\-upload\&.service
+.HP \w'\fB/usr/lib/systemd/systemd\-journal\-upload\fR\ 'u
+\fB/usr/lib/systemd/systemd\-journal\-upload\fR [OPTIONS...] [\-u/\-\-url=\fIURL\fR] [SOURCES...]
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-journal\-upload\fR
+will upload journal entries to the URL specified with
+\fB\-\-url=\fR\&. This program reads journal entries from one or more journal files, similarly to
+\fBjournalctl\fR(1)\&. Unless limited by one of the options specified below, all journal entries accessible to the user the program is running as will be uploaded, and then the program will wait and send new entries as they become available\&.
+.PP
+\fBsystemd\-journal\-upload\fR
+transfers the raw content of journal file and uses HTTP as a transport protocol\&.
+.PP
+systemd\-journal\-upload\&.service
+is a system service that uses
+\fBsystemd\-journal\-upload\fR
+to upload journal entries to a server\&. It uses the configuration in
+\fBjournal-upload.conf\fR(5)\&. At least the
+\fIURL=\fR
+option must be specified\&.
+.SH "OPTIONS"
+.PP
+\fB\-u\fR, \fB\-\-url=\fR\fB[https://]\fR\fB\fIURL\fR\fR\fB[:\fR\fB\fIPORT\fR\fR\fB]\fR, \fB\-\-url=\fR\fB[http://]\fR\fB\fIURL\fR\fR\fB[:\fR\fB\fIPORT\fR\fR\fB]\fR
+.RS 4
+Upload to the specified address\&.
+\fIURL\fR
+may specify either just the hostname or both the protocol and hostname\&.
+\fBhttps\fR
+is the default\&. The port number may be specified after a colon (":"), otherwise
+\fB19532\fR
+will be used by default\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-system\fR, \fB\-\-user\fR
+.RS 4
+Limit uploaded entries to entries from system services and the kernel, or to entries from services of current user\&. This has the same meaning as
+\fB\-\-system\fR
+and
+\fB\-\-user\fR
+options for
+\fBjournalctl\fR(1)\&. If neither is specified, all accessible entries are uploaded\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-m\fR, \fB\-\-merge\fR
+.RS 4
+Upload entries interleaved from all available journals, including other machines\&. This has the same meaning as
+\fB\-\-merge\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-namespace=\fR\fB\fINAMESPACE\fR\fR
+.RS 4
+Takes a journal namespace identifier string as argument\&. Upload entries from the specified journal namespace
+\fINAMESPACE\fR
+instead of the default namespace\&. This has the same meaning as
+\fB\-\-namespace=\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-D\fR, \fB\-\-directory=\fR\fB\fIDIR\fR\fR
+.RS 4
+Takes a directory path as argument\&. Upload entries from the specified journal directory
+\fIDIR\fR
+instead of the default runtime and system journal paths\&. This has the same meaning as
+\fB\-\-directory=\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-file=\fR\fB\fIGLOB\fR\fR
+.RS 4
+Takes a file glob as an argument\&. Upload entries from the specified journal files matching
+\fIGLOB\fR
+instead of the default runtime and system journal paths\&. May be specified multiple times, in which case files will be suitably interleaved\&. This has the same meaning as
+\fB\-\-file=\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-cursor=\fR
+.RS 4
+Upload entries from the location in the journal specified by the passed cursor\&. This has the same meaning as
+\fB\-\-cursor=\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-after\-cursor=\fR
+.RS 4
+Upload entries from the location in the journal
+\fIafter\fR
+the location specified by the this cursor\&. This has the same meaning as
+\fB\-\-after\-cursor=\fR
+option for
+\fBjournalctl\fR(1)\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-save\-state\fR[=\fIPATH\fR]
+.RS 4
+Upload entries from the location in the journal
+\fIafter\fR
+the location specified by the cursor saved in file at
+\fIPATH\fR
+(/var/lib/systemd/journal\-upload/state
+by default)\&. After an entry is successfully uploaded, update this file with the cursor of that entry\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-follow\fR[=\fIBOOL\fR]
+.RS 4
+If set to yes, then
+\fBsystemd\-journal\-upload\fR
+waits for input\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-key=\fR
+.RS 4
+Takes a path to a SSL key file in PEM format, or
+\fB\-\fR\&. If
+\fB\-\fR
+is set, then client certificate authentication checking will be disabled\&. Defaults to
+/etc/ssl/private/journal\-upload\&.pem\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-cert=\fR
+.RS 4
+Takes a path to a SSL certificate file in PEM format, or
+\fB\-\fR\&. If
+\fB\-\fR
+is set, then client certificate authentication checking will be disabled\&. Defaults to
+/etc/ssl/certs/journal\-upload\&.pem\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-\-trust=\fR
+.RS 4
+Takes a path to a SSL CA certificate file in PEM format, or
+\fB\-\fR/\fBall\fR\&. If
+\fB\-\fR/\fBall\fR
+is set, then certificate checking will be disabled\&. Defaults to
+/etc/ssl/ca/trusted\&.pem\&.
+.sp
+Added in version 239\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned; otherwise, a non\-zero failure code is returned\&.
+.SH "EXAMPLES"
+.PP
+\fBExample\ \&1.\ \&Setting up certificates for authentication\fR
+.PP
+Certificates signed by a trusted authority are used to verify that the server to which messages are uploaded is legitimate, and vice versa, that the client is trusted\&.
+.PP
+A suitable set of certificates can be generated with
+\fBopenssl\fR\&. Note, 2048 bits of key length is minimally recommended to use for security reasons:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+openssl req \-newkey rsa:2048 \-days 3650 \-x509 \-nodes \e
+ \-out ca\&.pem \-keyout ca\&.key \-subj \*(Aq/CN=Certificate authority/\*(Aq
+
+cat >ca\&.conf <<EOF
+[ ca ]
+default_ca = this
+
+[ this ]
+new_certs_dir = \&.
+certificate = ca\&.pem
+database = \&./index
+private_key = ca\&.key
+serial = \&./serial
+default_days = 3650
+default_md = default
+policy = policy_anything
+
+[ policy_anything ]
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+EOF
+
+touch index
+echo 0001 >serial
+
+SERVER=server
+CLIENT=client
+
+openssl req \-newkey rsa:2048 \-nodes \-out $SERVER\&.csr \-keyout $SERVER\&.key \-subj "/CN=$SERVER/"
+openssl ca \-batch \-config ca\&.conf \-notext \-in $SERVER\&.csr \-out $SERVER\&.pem
+
+openssl req \-newkey rsa:2048 \-nodes \-out $CLIENT\&.csr \-keyout $CLIENT\&.key \-subj "/CN=$CLIENT/"
+openssl ca \-batch \-config ca\&.conf \-notext \-in $CLIENT\&.csr \-out $CLIENT\&.pem
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Generated files
+ca\&.pem,
+server\&.pem, and
+server\&.key
+should be installed on server, and
+ca\&.pem,
+client\&.pem, and
+client\&.key
+on the client\&. The location of those files can be specified using
+\fITrustedCertificateFile=\fR,
+\fIServerCertificateFile=\fR, and
+\fIServerKeyFile=\fR
+in
+/etc/systemd/journal\-remote\&.conf
+and
+/etc/systemd/journal\-upload\&.conf, respectively\&. The default locations can be queried by using
+\fBsystemd\-journal\-remote \-\-help\fR
+and
+\fBsystemd\-journal\-upload \-\-help\fR\&.
+.SH "SEE ALSO"
+.PP
+\fBjournal-upload.conf\fR(5),
+\fBsystemd-journal-remote.service\fR(8),
+\fBjournalctl\fR(1),
+\fBsystemd-journald.service\fR(8),
+\fBsystemd-journal-gatewayd.service\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-journald.service.8 b/upstream/fedora-40/man8/systemd-journald.service.8
new file mode 100644
index 00000000..029e419d
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-journald.service.8
@@ -0,0 +1,412 @@
+'\" t
+.TH "SYSTEMD\-JOURNALD\&.SERVICE" "8" "" "systemd 255" "systemd-journald.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-journald.service, systemd-journald.socket, systemd-journald-dev-log.socket, systemd-journald-audit.socket, systemd-journald@.service, systemd-journald@.socket, systemd-journald-varlink@.socket, systemd-journald \- Journal service
+.SH "SYNOPSIS"
+.PP
+systemd\-journald\&.service
+.PP
+systemd\-journald\&.socket
+.PP
+systemd\-journald\-dev\-log\&.socket
+.PP
+systemd\-journald\-audit\&.socket
+.PP
+systemd\-journald@\&.service
+.PP
+systemd\-journald@\&.socket
+.PP
+systemd\-journald\-varlink@\&.socket
+.PP
+/usr/lib/systemd/systemd\-journald
+.SH "DESCRIPTION"
+.PP
+systemd\-journald
+is a system service that collects and stores logging data\&. It creates and maintains structured, indexed journals based on logging information that is received from a variety of sources:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Kernel log messages, via kmsg
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Simple system log messages, via the
+libc
+\fBsyslog\fR(3)
+call
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Structured system log messages via the native Journal API, see
+\fBsd_journal_print\fR(3)
+and
+\m[blue]\fBNative Journal Protocol\fR\m[]\&\s-2\u[1]\d\s+2
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Standard output and standard error of service units\&. For further details see below\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Audit records, originating from the kernel audit subsystem
+.RE
+.PP
+The daemon will implicitly collect numerous metadata fields for each log messages in a secure and unfakeable way\&. See
+\fBsystemd.journal-fields\fR(7)
+for more information about the collected metadata\&.
+.PP
+Log data collected by the journal is primarily text\-based but can also include binary data where necessary\&. Individual fields making up a log record stored in the journal may be up to 2⁶⁴\-1 bytes in size\&.
+.PP
+The journal service stores log data either persistently below
+/var/log/journal
+or in a volatile way below
+/run/log/journal/
+(in the latter case it is lost at reboot)\&. By default, log data is stored persistently if
+/var/log/journal/
+exists during boot, with an implicit fallback to volatile storage otherwise\&. Use
+\fIStorage=\fR
+in
+\fBjournald.conf\fR(5)
+to configure where log data is placed, independently of the existence of
+/var/log/journal/\&.
+.PP
+Note that journald will initially use volatile storage, until a call to
+\fBjournalctl \-\-flush\fR
+(or sending
+\fBSIGUSR1\fR
+to journald) will cause it to switch to persistent logging (under the conditions mentioned above)\&. This is done automatically on boot via
+"systemd\-journal\-flush\&.service"\&.
+.PP
+On systems where
+/var/log/journal/
+does not exist yet but where persistent logging is desired (and the default
+journald\&.conf
+is used), it is sufficient to create the directory, and ensure it has the correct access modes and ownership:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+mkdir \-p /var/log/journal
+systemd\-tmpfiles \-\-create \-\-prefix /var/log/journal
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+See
+\fBjournald.conf\fR(5)
+for information about the configuration of this service\&.
+.SH "STREAM LOGGING"
+.PP
+The systemd service manager invokes all service processes with standard output and standard error connected to the journal by default\&. This behaviour may be altered via the
+\fIStandardOutput=\fR/\fIStandardError=\fR
+unit file settings, see
+\fBsystemd.exec\fR(5)
+for details\&. The journal converts the log byte stream received this way into individual log records, splitting the stream at newline ("\en", ASCII
+\fB10\fR) and
+\fBNUL\fR
+bytes\&.
+.PP
+If
+systemd\-journald\&.service
+is stopped, the stream connections associated with all services are terminated\&. Further writes to those streams by the service will result in
+\fBEPIPE\fR
+errors\&. In order to react gracefully in this case it is recommended that programs logging to standard output/error ignore such errors\&. If the
+\fBSIGPIPE\fR
+UNIX signal handler is not blocked or turned off, such write attempts will also result in such process signals being generated, see
+\fBsignal\fR(7)\&. To mitigate this issue, systemd service manager explicitly turns off the
+\fBSIGPIPE\fR
+signal for all invoked processes by default (this may be changed for each unit individually via the
+\fIIgnoreSIGPIPE=\fR
+option, see
+\fBsystemd.exec\fR(5)
+for details)\&. After the standard output/standard error streams have been terminated they may not be recovered until the services they are associated with are restarted\&. Note that during normal operation,
+systemd\-journald\&.service
+stores copies of the file descriptors for those streams in the service manager\&. If
+systemd\-journald\&.service
+is restarted using
+\fBsystemctl restart\fR
+or equivalent operation instead of a pair of separate
+\fBsystemctl stop\fR
+and
+\fBsystemctl start\fR
+commands (or equivalent operations), these stream connections are not terminated and survive the restart\&. It is thus safe to restart
+systemd\-journald\&.service, but stopping it is not recommended\&.
+.PP
+Note that the log record metadata for records transferred via such standard output/error streams reflect the metadata of the peer the stream was originally created for\&. If the stream connection is passed on to other processes (such as further child processes forked off the main service process), the log records will not reflect their metadata, but will continue to describe the original process\&. This is different from the other logging transports listed above, which are inherently record based and where the metadata is always associated with the individual record\&.
+.PP
+In addition to the implicit standard output/error logging of services, stream logging is also available via the
+\fBsystemd-cat\fR(1)
+command line tool\&.
+.PP
+Currently, the number of parallel log streams
+systemd\-journald
+will accept is limited to 4096\&. When this limit is reached further log streams may be established but will receive
+\fBEPIPE\fR
+right from the beginning\&.
+.SH "JOURNAL NAMESPACES"
+.PP
+Journal \*(Aqnamespaces\*(Aq are both a mechanism for logically isolating the log stream of projects consisting of one or more services from the rest of the system and a mechanism for improving performance\&. Multiple journal namespaces may exist simultaneously, each defining its own, independent log stream managed by its own instance of
+\fBsystemd\-journald\fR\&. Namespaces are independent of each other, both in the data store and in the IPC interface\&. By default only a single \*(Aqdefault\*(Aq namespace exists, managed by
+systemd\-journald\&.service
+(and its associated socket units)\&. Additional namespaces are created by starting an instance of the
+systemd\-journald@\&.service
+service template\&. The instance name is the namespace identifier, which is a short string used for referencing the journal namespace\&. Service units may be assigned to a specific journal namespace through the
+\fILogNamespace=\fR
+unit file setting, see
+\fBsystemd.exec\fR(5)
+for details\&. The
+\fB\-\-namespace=\fR
+switch of
+\fBjournalctl\fR(1)
+may be used to view the log stream of a specific namespace\&. If the switch is not used the log stream of the default namespace is shown, i\&.e\&. log data from other namespaces is not visible\&.
+.PP
+Services associated with a specific log namespace may log via syslog, the native logging protocol of the journal and via stdout/stderr; the logging from all three transports is associated with the namespace\&.
+.PP
+By default only the default namespace will collect kernel and audit log messages\&.
+.PP
+The
+\fBsystemd\-journald\fR
+instance of the default namespace is configured through
+/etc/systemd/journald\&.conf
+(see below), while the other instances are configured through
+/etc/systemd/journald@\fINAMESPACE\fR\&.conf\&. The journal log data for the default namespace is placed in
+/var/log/journal/\fIMACHINE_ID\fR
+(see below) while the data for the other namespaces is located in
+/var/log/journal/\fIMACHINE_ID\fR\&.\fINAMESPACE\fR\&.
+.SH "SIGNALS"
+.PP
+SIGUSR1
+.RS 4
+Request that journal data from
+/run/
+is flushed to
+/var/
+in order to make it persistent (if this is enabled)\&. This must be used after
+/var/
+is mounted, as otherwise log data from
+/run/
+is never flushed to
+/var/
+regardless of the configuration\&. Use the
+\fBjournalctl \-\-flush\fR
+command to request flushing of the journal files, and wait for the operation to complete\&. See
+\fBjournalctl\fR(1)
+for details\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+SIGUSR2
+.RS 4
+Request immediate rotation of the journal files\&. Use the
+\fBjournalctl \-\-rotate\fR
+command to request journal file rotation, and wait for the operation to complete\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+SIGRTMIN+1
+.RS 4
+Request that all unwritten log data is written to disk\&. Use the
+\fBjournalctl \-\-sync\fR
+command to trigger journal synchronization, and wait for the operation to complete\&.
+.sp
+Added in version 228\&.
+.RE
+.SH "KERNEL COMMAND LINE"
+.PP
+A few configuration parameters from
+journald\&.conf
+may be overridden on the kernel command line:
+.PP
+\fIsystemd\&.journald\&.forward_to_syslog=\fR, \fIsystemd\&.journald\&.forward_to_kmsg=\fR, \fIsystemd\&.journald\&.forward_to_console=\fR, \fIsystemd\&.journald\&.forward_to_wall=\fR
+.RS 4
+Enables/disables forwarding of collected log messages to syslog, the kernel log buffer, the system console or wall\&.
+.sp
+See
+\fBjournald.conf\fR(5)
+for information about these settings\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+Note that these kernel command line options are only honoured by the default namespace, see above\&.
+.SH "ACCESS CONTROL"
+.PP
+Journal files are, by default, owned and readable by the
+"systemd\-journal"
+system group but are not writable\&. Adding a user to this group thus enables them to read the journal files\&.
+.PP
+By default, each user, with a UID outside the range of system users, dynamic service users, and the nobody user, will get their own set of journal files in
+/var/log/journal/\&. See
+\m[blue]\fBUsers, Groups, UIDs and GIDs on systemd systems\fR\m[]\&\s-2\u[2]\d\s+2
+for more details about UID ranges\&. These journal files will not be owned by the user, however, in order to avoid that the user can write to them directly\&. Instead, file system ACLs are used to ensure the user gets read access only\&.
+.PP
+Additional users and groups may be granted access to journal files via file system access control lists (ACL)\&. Distributions and administrators may choose to grant read access to all members of the
+"wheel"
+and
+"adm"
+system groups with a command such as the following:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# setfacl \-Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Note that this command will update the ACLs both for existing journal files and for future journal files created in the
+/var/log/journal/
+directory\&.
+.SH "FILES"
+.PP
+/etc/systemd/journald\&.conf
+.RS 4
+Configure
+\fBsystemd\-journald\fR
+behavior\&. See
+\fBjournald.conf\fR(5)\&.
+.sp
+Added in version 206\&.
+.RE
+.PP
+/run/log/journal/\fImachine\-id\fR/*\&.journal, /run/log/journal/\fImachine\-id\fR/*\&.journal~, /var/log/journal/\fImachine\-id\fR/*\&.journal, /var/log/journal/\fImachine\-id\fR/*\&.journal~
+.RS 4
+\fBsystemd\-journald\fR
+writes entries to files in
+/run/log/journal/\fImachine\-id\fR/
+or
+/var/log/journal/\fImachine\-id\fR/
+with the
+"\&.journal"
+suffix\&. If the daemon is stopped uncleanly, or if the files are found to be corrupted, they are renamed using the
+"\&.journal~"
+suffix, and
+\fBsystemd\-journald\fR
+starts writing to a new file\&.
+/run/
+is used when
+/var/log/journal
+is not available, or when
+\fBStorage=volatile\fR
+is set in the
+\fBjournald.conf\fR(5)
+configuration file\&.
+.sp
+When
+systemd\-journald
+ceases writing to a journal file, it will be renamed to
+"\fIoriginal\-name\fR@\fIsuffix\&.journal\fR"
+(or
+"\fIoriginal\-name\fR@\fIsuffix\&.journal~\fR")\&. Such files are "archived" and will not be written to any more\&.
+.sp
+In general, it is safe to read or copy any journal file (active or archived)\&.
+\fBjournalctl\fR(1)
+and the functions in the
+\fBsd-journal\fR(3)
+library should be able to read all entries that have been fully written\&.
+.sp
+systemd\-journald
+will automatically remove the oldest archived journal files to limit disk use\&. See
+\fISystemMaxUse=\fR
+and related settings in
+\fBjournald.conf\fR(5)\&.
+.sp
+Added in version 206\&.
+.RE
+.PP
+/dev/kmsg, /dev/log, /run/systemd/journal/dev\-log, /run/systemd/journal/socket, /run/systemd/journal/stdout
+.RS 4
+Sockets and other file node paths that
+\fBsystemd\-journald\fR
+will listen on and are visible in the file system\&. In addition to these,
+\fBsystemd\-journald\fR
+can listen for audit events using
+\fBnetlink\fR(7), depending on whether
+"systemd\-journald\-audit\&.socket"
+is enabled or not\&.
+.sp
+Added in version 228\&.
+.RE
+.PP
+If journal namespacing is used these paths are slightly altered to include a namespace identifier, see above\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBjournalctl\fR(1),
+\fBjournald.conf\fR(5),
+\fBsystemd.journal-fields\fR(7),
+\fBsd-journal\fR(3),
+\fBsystemd-coredump\fR(8),
+\fBsetfacl\fR(1),
+\fBsd_journal_print\fR(3),
+\fBpydoc systemd\&.journal\fR
+.SH "NOTES"
+.IP " 1." 4
+Native Journal Protocol
+.RS 4
+\%https://systemd.io/JOURNAL_NATIVE_PROTOCOL
+.RE
+.IP " 2." 4
+Users, Groups, UIDs and GIDs on systemd systems
+.RS 4
+\%https://systemd.io/UIDS-GIDS
+.RE
diff --git a/upstream/fedora-40/man8/systemd-localed.service.8 b/upstream/fedora-40/man8/systemd-localed.service.8
new file mode 100644
index 00000000..eabe5304
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-localed.service.8
@@ -0,0 +1,51 @@
+'\" t
+.TH "SYSTEMD\-LOCALED\&.SERVICE" "8" "" "systemd 255" "systemd-localed.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-localed.service, systemd-localed \- Locale bus mechanism
+.SH "SYNOPSIS"
+.PP
+systemd\-localed\&.service
+.PP
+/usr/lib/systemd/systemd\-localed
+.SH "DESCRIPTION"
+.PP
+systemd\-localed\&.service
+is a system service that may be used as mechanism to change the system locale settings, as well as the console key mapping and default X11 key mapping\&.
+systemd\-localed
+is automatically activated on request and terminates itself when it is unused\&.
+.PP
+The tool
+\fBlocalectl\fR(1)
+is a command line client to this service\&.
+.PP
+See
+\fBorg.freedesktop.locale1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)
+for a description of the D\-Bus API\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBlocale.conf\fR(5),
+\fBvconsole.conf\fR(5),
+\fBlocalectl\fR(1),
+\fBloadkeys\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-logind.service.8 b/upstream/fedora-40/man8/systemd-logind.service.8
new file mode 100644
index 00000000..f1bf34d2
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-logind.service.8
@@ -0,0 +1,213 @@
+'\" t
+.TH "SYSTEMD\-LOGIND\&.SERVICE" "8" "" "systemd 255" "systemd-logind.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-logind.service, systemd-logind \- Login manager
+.SH "SYNOPSIS"
+.PP
+systemd\-logind\&.service
+.PP
+/usr/lib/systemd/systemd\-logind
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-logind\fR
+is a system service that manages user logins\&. It is responsible for:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Keeping track of users and sessions, their processes and their idle state\&. This is implemented by allocating a systemd slice unit for each user below
+user\&.slice, and a scope unit below it for each concurrent session of a user\&. Also, a per\-user service manager is started as system service instance of
+user@\&.service
+for each logged in user\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Generating and managing session IDs\&. If auditing is available and an audit session ID is already set for a session, then this ID is reused as the session ID\&. Otherwise, an independent session counter is used\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Providing
+\m[blue]\fBpolkit\fR\m[]\&\s-2\u[1]\d\s+2\-based access for users for operations such as system shutdown or sleep
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Implementing a shutdown/sleep inhibition logic for applications
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Handling of power/sleep hardware keys
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Multi\-seat management
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Session switch management
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Device access management for users
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Automatic spawning of text logins (gettys) on virtual console activation and user runtime directory management
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Scheduled shutdown
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Sending "wall" messages
+.RE
+.PP
+User sessions are registered with logind via the
+\fBpam_systemd\fR(8)
+PAM module\&.
+.PP
+See
+\fBlogind.conf\fR(5)
+for information about the configuration of this service\&.
+.PP
+See
+\fBsd-login\fR(3)
+for information about the basic concepts of logind such as users, sessions and seats\&.
+.PP
+See
+\fBorg.freedesktop.login1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)
+for information about the D\-Bus APIs
+systemd\-logind
+provides\&.
+.PP
+For more information on the inhibition logic see the
+\m[blue]\fBInhibitor Lock Developer Documentation\fR\m[]\&\s-2\u[2]\d\s+2\&.
+.PP
+If you are interested in writing a display manager that makes use of logind, please have look at
+\m[blue]\fBWriting Display Managers\fR\m[]\&\s-2\u[3]\d\s+2\&. If you are interested in writing a desktop environment that makes use of logind, please have look at
+\m[blue]\fBWriting Desktop Environments\fR\m[]\&\s-2\u[4]\d\s+2\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-user-sessions.service\fR(8),
+\fBloginctl\fR(1),
+\fBlogind.conf\fR(5),
+\fBpam_systemd\fR(8),
+\fBsd-login\fR(3)
+.SH "NOTES"
+.IP " 1." 4
+polkit
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/polkit
+.RE
+.IP " 2." 4
+Inhibitor Lock Developer Documentation
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/inhibit
+.RE
+.IP " 3." 4
+Writing Display Managers
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/writing-display-managers
+.RE
+.IP " 4." 4
+Writing Desktop Environments
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/writing-desktop-environments
+.RE
diff --git a/upstream/fedora-40/man8/systemd-machine-id-commit.service.8 b/upstream/fedora-40/man8/systemd-machine-id-commit.service.8
new file mode 100644
index 00000000..c76834db
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-machine-id-commit.service.8
@@ -0,0 +1,59 @@
+'\" t
+.TH "SYSTEMD\-MACHINE\-ID\-COMMIT\&.SERVICE" "8" "" "systemd 255" "systemd-machine-id-commit.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-machine-id-commit.service \- Commit a transient machine ID to disk
+.SH "SYNOPSIS"
+.PP
+systemd\-machine\-id\-commit\&.service
+.SH "DESCRIPTION"
+.PP
+systemd\-machine\-id\-commit\&.service
+is an early boot service responsible for committing transient
+/etc/machine\-id
+files to a writable disk file system\&. See
+\fBmachine-id\fR(5)
+for more information about machine IDs\&.
+.PP
+This service is started after
+local\-fs\&.target
+in case
+/etc/machine\-id
+is a mount point of its own (usually from a memory file system such as
+"tmpfs") and /etc is writable\&. The service will invoke
+\fBsystemd\-machine\-id\-setup \-\-commit\fR, which writes the current transient machine ID to disk and unmount the
+/etc/machine\-id
+file in a race\-free manner to ensure that file is always valid and accessible for other processes\&. See
+\fBsystemd-machine-id-setup\fR(1)
+for details\&.
+.PP
+The main use case of this service are systems where
+/etc/machine\-id
+is read\-only and initially not initialized\&. In this case, the system manager will generate a transient machine ID file on a memory file system, and mount it over
+/etc/machine\-id, during the early boot phase\&. This service is then invoked in a later boot phase, as soon as
+/etc/
+has been remounted writable and the ID may thus be committed to disk to make it permanent\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-machine-id-setup\fR(1),
+\fBmachine-id\fR(5),
+\fBsystemd-firstboot\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-machined.service.8 b/upstream/fedora-40/man8/systemd-machined.service.8
new file mode 100644
index 00000000..37940727
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-machined.service.8
@@ -0,0 +1,206 @@
+'\" t
+.TH "SYSTEMD\-MACHINED\&.SERVICE" "8" "" "systemd 255" "systemd-machined.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-machined.service, systemd-machined \- Virtual machine and container registration manager
+.SH "SYNOPSIS"
+.PP
+systemd\-machined\&.service
+.PP
+/usr/lib/systemd/systemd\-machined
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-machined\fR
+is a system service that keeps track of locally running virtual machines and containers\&.
+.PP
+\fBsystemd\-machined\fR
+is useful for registering and keeping track of both OS containers (containers that share the host kernel but run a full init system of their own and behave in most regards like a full virtual operating system rather than just one virtualized app) and full virtual machines (virtualized hardware running normal operating systems and possibly different kernels)\&.
+.PP
+\fBsystemd\-machined\fR
+should
+\fInot\fR
+be used for registering/keeping track of application sandbox containers\&. A
+\fImachine\fR
+in the context of
+\fBsystemd\-machined\fR
+is supposed to be an abstract term covering both OS containers and full virtual machines, but not application sandboxes\&.
+.PP
+Machines registered with machined are exposed in various ways in the system\&. For example:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Tools like
+\fBps\fR(1)
+will show to which machine a specific process belongs in a column of its own, and so will
+\m[blue]\fBgnome\-system\-monitor\fR\m[]\&\s-2\u[1]\d\s+2
+or
+\fBsystemd-cgls\fR(1)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+systemd\*(Aqs various tools (\fBsystemctl\fR(1),
+\fBjournalctl\fR(1),
+\fBloginctl\fR(1),
+\fBhostnamectl\fR(1),
+\fBtimedatectl\fR(1),
+\fBlocalectl\fR(1),
+\fBmachinectl\fR(1), \&.\&.\&.) support the
+\fB\-M\fR
+switch to operate on local containers instead of the host system\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBsystemctl list\-machines\fR
+will show the system state of all local containers, connecting to the container\*(Aqs init system for that\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+systemctl\*(Aqs
+\fB\-\-recursive\fR
+switch has the effect of not only showing the locally running services, but recursively showing the services of all registered containers\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The
+\fBmachinectl\fR
+command provides access to a number of useful operations on registered containers, such as introspecting them, rebooting, shutting them down, and getting a login prompt on them\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The
+\fBsd-bus\fR(3)
+library exposes the
+\fBsd_bus_open_system_machine\fR(3)
+call to connect to the system bus of any registered container\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The
+\fBnss-mymachines\fR(8)
+module makes sure all registered containers can be resolved via normal glibc
+\fBgethostbyname\fR(3)
+or
+\fBgetaddrinfo\fR(3)
+calls\&.
+.RE
+.PP
+See
+\fBsystemd-nspawn\fR(1)
+for some examples on how to run containers with OS tools\&.
+.PP
+If you are interested in writing a VM or container manager that makes use of machined, please have look at
+\m[blue]\fBWriting Virtual Machine or Container Managers\fR\m[]\&\s-2\u[2]\d\s+2\&. Also see the
+\m[blue]\fBNew Control Group Interfaces\fR\m[]\&\s-2\u[3]\d\s+2\&.
+.PP
+The daemon provides both a C library interface (which is shared with
+\fBsystemd-logind.service\fR(8)) as well as a D\-Bus interface\&. The library interface may be used to introspect and watch the state of virtual machines/containers\&. The bus interface provides the same but in addition may also be used to register or terminate machines\&. For more information please consult
+\fBsd-login\fR(3)
+and
+\fBorg.freedesktop.machine1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)\&.
+.PP
+A small companion daemon
+\fBsystemd-importd.service\fR(8)
+is also available, which implements importing, exporting, and downloading of container and VM images\&.
+.PP
+For each container registered with
+systemd\-machined\&.service
+that employs user namespacing, users/groups are synthesized for the used UIDs/GIDs\&. These are made available to the system using the
+\m[blue]\fBUser/Group Record Lookup API via Varlink\fR\m[]\&\s-2\u[4]\d\s+2, and thus may be resolved with
+\fBuserdbctl\fR(1)
+or the usual glibc NSS calls\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBmachinectl\fR(1),
+\fBsystemd-nspawn\fR(1),
+\fBnss-mymachines\fR(8),
+\fBsystemd.special\fR(7)
+.SH "NOTES"
+.IP " 1." 4
+gnome-system-monitor
+.RS 4
+\%https://help.gnome.org/users/gnome-system-monitor/
+.RE
+.IP " 2." 4
+Writing Virtual Machine or Container Managers
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/writing-vm-managers
+.RE
+.IP " 3." 4
+New Control Group Interfaces
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface
+.RE
+.IP " 4." 4
+User/Group Record Lookup API via Varlink
+.RS 4
+\%https://systemd.io/USER_GROUP_API
+.RE
diff --git a/upstream/fedora-40/man8/systemd-makefs@.service.8 b/upstream/fedora-40/man8/systemd-makefs@.service.8
new file mode 100644
index 00000000..b1f51d1b
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-makefs@.service.8
@@ -0,0 +1,84 @@
+'\" t
+.TH "SYSTEMD\-MAKEFS@\&.SERVICE" "8" "" "systemd 255" "systemd-makefs@.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-makefs@.service, systemd-mkswap@.service, systemd-growfs@.service, systemd-growfs-root.service, systemd-makefs, systemd-growfs \- Creating and growing file systems on demand
+.SH "SYNOPSIS"
+.PP
+systemd\-makefs@\fIdevice\fR\&.service
+.PP
+systemd\-mkswap@\fIdevice\fR\&.service
+.PP
+systemd\-growfs@\fImountpoint\fR\&.service
+.PP
+systemd\-growfs\-root\&.service
+.PP
+/usr/lib/systemd/systemd\-makefs
+.PP
+/usr/lib/systemd/systemd\-growfs
+.SH "DESCRIPTION"
+.PP
+systemd\-makefs@\&.service,
+systemd\-mkswap@\&.service,
+systemd\-growfs@\&.service, and
+systemd\-growfs\-root\&.service
+are used to implement the
+\fBx\-systemd\&.makefs\fR
+and
+\fBx\-systemd\&.growfs\fR
+options in
+\fBfstab\fR(5), see
+\fBsystemd.mount\fR(5)\&. They are instantiated for each device for which the file system or swap structure needs to be initialized, and for each mount point where the file system needs to be grown\&.
+.PP
+These services are started at boot, either right before or right after the mount point or swap device are used\&.
+.PP
+systemd\-makefs
+knows very little about specific file systems and swap devices, and after checking that the block device does not already contain a file system or other content, it will execute binaries specific to each filesystem type (/sbin/mkfs\&.\fItype\fR
+or
+/sbin/mkswap)\&. For certain file system types (currently ext2/ext3/\fBext4\fR(5),
+\fBbtrfs\fR(5),
+\fBxfs\fR(5), f2fs, vfat) and for swap devices, it will configure reasonable defaults and set the file system label and UUID based on the device name\&.
+.PP
+systemd\-growfs
+knows very little about specific file systems and swap devices, and will instruct the kernel to grow the mounted filesystem to full size of the underlying block device\&. Nevertheless, it needs to know the
+\fBioctl\fR(2)
+number specific to each file system, so only certain types are supported\&. Currently:
+\fBext4\fR(5),
+\fBbtrfs\fR(5),
+\fBxfs\fR(5),
+and dm\-crypt partitions (see
+\fBcryptsetup\fR(8))\&.
+.PP
+If the creation of a file system or swap device fails, the mount point or swap is failed too\&. If the growing of a file system fails, a warning is emitted\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.mount\fR(8),
+\fBsystemd-fstab-generator\fR(8),
+\fBsystemd-repart\fR(8),
+\fBmkfs.btrfs\fR(8),
+\fBmkfs.cramfs\fR(8),
+\fBmkfs.ext4\fR(8),
+\fBmkfs.fat\fR(8),
+\fBmkfs.hfsplus\fR(8),
+\fBmkfs.minix\fR(8),
+\fBmkfs.ntfs\fR(8),
+\fBmkfs.xfs\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-modules-load.service.8 b/upstream/fedora-40/man8/systemd-modules-load.service.8
new file mode 100644
index 00000000..4aa80ef1
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-modules-load.service.8
@@ -0,0 +1,58 @@
+'\" t
+.TH "SYSTEMD\-MODULES\-LOAD\&.SERVICE" "8" "" "systemd 255" "systemd-modules-load.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-modules-load.service, systemd-modules-load \- Load kernel modules at boot
+.SH "SYNOPSIS"
+.PP
+systemd\-modules\-load\&.service
+.PP
+/usr/lib/systemd/systemd\-modules\-load
+.SH "DESCRIPTION"
+.PP
+systemd\-modules\-load\&.service
+is an early boot service that loads kernel modules\&. It reads static configuration from files in
+/usr/
+and
+/etc/, but also runtime configuration from
+/run/
+and the kernel command line (see below)\&.
+.PP
+See
+\fBmodules-load.d\fR(5)
+for information about the configuration format of this service and paths where configuration files can be created\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-modules\-load\&.service
+understands the following kernel command line parameters:
+.PP
+\fImodules_load=\fR, \fIrd\&.modules_load=\fR
+.RS 4
+Takes a comma\-separated list of kernel modules to statically load during early boot\&. The option prefixed with
+"rd\&."
+is read in the initrd only\&.
+.sp
+Added in version 187\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBmodules-load.d\fR(5),
diff --git a/upstream/fedora-40/man8/systemd-network-generator.service.8 b/upstream/fedora-40/man8/systemd-network-generator.service.8
new file mode 100644
index 00000000..e2d012e7
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-network-generator.service.8
@@ -0,0 +1,98 @@
+'\" t
+.TH "SYSTEMD\-NETWORK\-GENERATOR\&.SERVICE" "8" "" "systemd 255" "systemd-network-generator.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-network-generator.service, systemd-network-generator \- Generate network configuration from the kernel command line
+.SH "SYNOPSIS"
+.PP
+systemd\-network\-generator\&.service
+.PP
+/usr/lib/systemd/systemd\-network\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-network\-generator\&.service
+is a system service that translates
+\fIip=\fR
+and related settings on the kernel command line (see below) into
+\fBsystemd.network\fR(5),
+\fBsystemd.netdev\fR(5), and
+\fBsystemd.link\fR(5)
+configuration files understood by
+\fBsystemd-networkd.service\fR(8)
+and
+\fBsystemd-udevd.service\fR(8)\&.
+.PP
+Files are generated in
+/run/systemd/network/\&.
+.PP
+Note: despite the name, this generator executes as a normal systemd service and is
+\fInot\fR
+an implementation of the
+\fBsystemd.generator\fR(7)
+concept\&.
+.SH "KERNEL COMMAND LINE OPTIONS"
+.PP
+This tool understands the following options:
+.PP
+\fIip=\fR, \fInameserver=\fR, \fIrd\&.route=\fR, \fIrd\&.peerdns=\fR
+.RS 4
+Translated into
+\fBsystemd.network\fR(5)
+files\&.
+.sp
+In addition to the parameters
+\fBdracut.cmdline\fR(7)
+defines the
+\fIip=\fR
+option accepts the special value
+"link\-local"\&. If selected, the network interfaces will be configured for link\-local addressing (IPv4LL, IPv6LL) only, DHCP or IPv6RA will not be enabled\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fIifname=\fR, \fInet\&.ifname\-policy=\fR
+.RS 4
+Translated into
+\fBsystemd.link\fR(5)
+files\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fIvlan=\fR, \fIbond=\fR, \fIbridge=\fR, \fIbootdev=\fR
+.RS 4
+Translated into
+\fBsystemd.netdev\fR(5)
+files\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+See
+\fBdracut.cmdline\fR(7)
+and
+\fBsystemd-udevd.service\fR(8)
+for option syntax and details\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-networkd.service\fR(8),
+\fBdracut\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-networkd-wait-online.service.8 b/upstream/fedora-40/man8/systemd-networkd-wait-online.service.8
new file mode 100644
index 00000000..a1eafa54
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-networkd-wait-online.service.8
@@ -0,0 +1,191 @@
+'\" t
+.TH "SYSTEMD\-NETWORKD\-WAIT\-ONLINE\&.SERVICE" "8" "" "systemd 255" "systemd-networkd-wait-online.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-networkd-wait-online.service, systemd-networkd-wait-online@.service, systemd-networkd-wait-online \- Wait for network to come online
+.SH "SYNOPSIS"
+.PP
+systemd\-networkd\-wait\-online\&.service
+.PP
+systemd\-networkd\-wait\-online@\&.service
+.PP
+/usr/lib/systemd/systemd\-networkd\-wait\-online
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-networkd\-wait\-online\fR
+is a oneshot system service (see
+\fBsystemd.service\fR(5)), that waits for the network to be configured\&. By default, it will wait for all links it is aware of and which are managed by
+\fBsystemd-networkd.service\fR(8)
+to be fully configured or failed, and for at least one link to be online\&. Here, online means that the link\*(Aqs operational state is equal or higher than
+"degraded"\&. The threshold can be configured by
+\fB\-\-operational\-state=\fR
+option\&.
+.PP
+The service
+systemd\-networkd\-wait\-online\&.service
+invokes
+\fBsystemd\-networkd\-wait\-online\fR
+without any options\&. Thus, it waits for all managed interfaces to be configured or failed, and for at least one to be online\&.
+.PP
+The service
+systemd\-networkd\-wait\-online@\&.service
+takes an interface name, and invokes
+\fBsystemd\-networkd\-wait\-online\fR
+with
+\fB\-i\fR
+and the specified interface name\&. Thus, wait for the specified interface to be configured and online\&. For example,
+systemd\-networkd\-wait\-online@eth0\&.service
+waits for
+eth0
+to be configured by
+\fBsystemd\-networkd\fR
+and online\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-i\fR \fIINTERFACE\fR[:\fIMIN_OPERSTATE\fR[:\fIMAX_OPERSTATE\fR]], \fB\-\-interface=\fR\fIINTERFACE\fR[:\fIMIN_OPERSTATE\fR[:\fIMAX_OPERSTATE\fR]]
+.RS 4
+Network interface to wait for before deciding if the system is online\&. This is useful when a system has several interfaces which will be configured, but a particular one is necessary to access some network resources\&. When used, all other interfaces are ignored\&. This option may be used more than once to wait for multiple network interfaces\&. When this option is specified multiple times, then
+\fBsystemd\-networkd\-wait\-online\fR
+waits for all specified interfaces to be online\&. Optionally, required minimum and maximum operational states can be specified after a colon
+":"\&. Please see
+\fBnetworkctl\fR(1)
+for possible operational states\&. If the operational state is not specified here, then the value from
+\fIRequiredForOnline=\fR
+in the corresponding
+\&.network
+file is used if present, and
+"degraded"
+otherwise\&.
+.sp
+Added in version 213\&.
+.RE
+.PP
+\fB\-\-ignore=\fR\fIINTERFACE\fR
+.RS 4
+Network interfaces to be ignored when deciding if the system is online\&. By default, only the loopback interface is ignored\&. This option may be used more than once to ignore multiple network interfaces\&.
+.sp
+Added in version 219\&.
+.RE
+.PP
+\fB\-o\fR \fIMIN_OPERSTATE\fR[:\fIMAX_OPERSTATE\fR], \fB\-\-operational\-state=\fR\fIMIN_OPERSTATE\fR[:\fIMAX_OPERSTATE\fR]
+.RS 4
+Takes a minimum operational state and an optional maximum operational state\&. Please see
+\fBnetworkctl\fR(1)
+for possible operational states\&. If set, the specified value overrides
+\fIRequiredForOnline=\fR
+settings in
+\&.network
+files\&. But this does not override operational states specified in
+\fB\-\-interface=\fR
+option\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fB\-4\fR, \fB\-\-ipv4\fR
+.RS 4
+Waiting for an IPv4 address of each network interface to be configured\&. If this option is specified with
+\fB\-\-any\fR, then
+\fBsystemd\-networkd\-wait\-online\fR
+exits with success when at least one interface becomes online and has an IPv4 address\&. If the required minimum operational state is below
+"routable", then each link (or at least one link with
+\fB\-\-any\fR) must have an IPv4 link\-local or routable address\&. If the required minimum operational state is
+"routable", then each link must have an IPv4 routable address\&.
+.sp
+If neither
+\fB\-\-ipv4\fR
+nor
+\fB\-\-ipv6\fR
+is specified, then the value from
+\fIRequiredFamilyForOnline=\fR
+in the corresponding
+\&.network
+file is used if present\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-6\fR, \fB\-\-ipv6\fR
+.RS 4
+Waiting for an IPv6 address of each network interface to be configured\&. If this option is specified with
+\fB\-\-any\fR, then
+\fBsystemd\-networkd\-wait\-online\fR
+exits with success when at least one interface becomes online and has an IPv6 address\&. If the required minimum operational state is below
+"routable", then each link (or at least one link with
+\fB\-\-any\fR) must have an IPv6 link\-local or routable address\&. If the required minimum operational state is
+"routable", then each link must have an IPv6 routable address\&.
+.sp
+If neither
+\fB\-\-ipv4\fR
+nor
+\fB\-\-ipv6\fR
+is specified, then the value from
+\fIRequiredFamilyForOnline=\fR
+in the corresponding
+\&.network
+file is used if present\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-\-any\fR
+.RS 4
+Even if several interfaces are in configuring state,
+\fBsystemd\-networkd\-wait\-online\fR
+exits with success when at least one interface becomes online\&. When this option is specified with
+\fB\-\-interface=\fR, then
+\fBsystemd\-networkd\-wait\-online\fR
+waits for one of the specified interfaces to be online\&. This option is useful when some interfaces may not have carrier on boot\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fB\-\-timeout=\fR\fISECS\fR
+.RS 4
+Fail the service if the network is not online by the time the timeout elapses\&. A timeout of 0 disables the timeout\&. Defaults to 120 seconds\&.
+.sp
+Added in version 219\&.
+.RE
+.PP
+\fB\-q\fR, \fB\-\-quiet\fR
+.RS 4
+Suppress log messages\&.
+.sp
+Added in version 242\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.service\fR(5),
+\fBsystemd-networkd.service\fR(8),
+\fBnetworkctl\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-networkd.service.8 b/upstream/fedora-40/man8/systemd-networkd.service.8
new file mode 100644
index 00000000..f421a6a1
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-networkd.service.8
@@ -0,0 +1,87 @@
+'\" t
+.TH "SYSTEMD\-NETWORKD\&.SERVICE" "8" "" "systemd 255" "systemd-networkd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-networkd.service, systemd-networkd \- Network manager
+.SH "SYNOPSIS"
+.PP
+systemd\-networkd\&.service
+.PP
+/usr/lib/systemd/systemd\-networkd
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-networkd\fR
+is a system service that manages networks\&. It detects and configures network devices as they appear, as well as creating virtual network devices\&.
+.PP
+To configure low\-level link settings independently of networks, see
+\fBsystemd.link\fR(5)\&.
+.PP
+\fBsystemd\-networkd\fR
+will create network devices based on the configuration in
+\fBsystemd.netdev\fR(5)
+files, respecting the [Match] sections in those files\&.
+.PP
+\fBsystemd\-networkd\fR
+will manage network addresses and routes for any link for which it finds a
+\&.network
+file with an appropriate [Match] section, see
+\fBsystemd.network\fR(5)\&. For those links, it will flush existing network addresses and routes when bringing up the device\&. Any links not matched by one of the
+\&.network
+files will be ignored\&. It is also possible to explicitly tell
+systemd\-networkd
+to ignore a link by using
+\fIUnmanaged=yes\fR
+option, see
+\fBsystemd.network\fR(5)\&.
+.PP
+When
+systemd\-networkd
+exits, it generally leaves existing network devices and configuration intact\&. This makes it possible to transition from the initrd and to restart the service without breaking connectivity\&. This also means that when configuration is updated and
+systemd\-networkd
+is restarted, netdev interfaces for which configuration was removed will not be dropped, and may need to be cleaned up manually\&.
+.PP
+\fBsystemd\-networkd\fR
+may be introspected and controlled at runtime using
+\fBnetworkctl\fR(1)\&.
+.SH "CONFIGURATION FILES"
+.PP
+The configuration files are read from the files located in the system network directory
+/usr/lib/systemd/network, the volatile runtime network directory
+/run/systemd/network
+and the local administration network directory
+/etc/systemd/network\&.
+.PP
+Networks are configured in
+\&.network
+files, see
+\fBsystemd.network\fR(5), and virtual network devices are configured in
+\&.netdev
+files, see
+\fBsystemd.netdev\fR(5)\&.
+.SH "SEE ALSO"
+.PP
+\fBnetworkctl\fR(1),
+\fBsystemd\fR(1),
+\fBsystemd.link\fR(5),
+\fBsystemd.network\fR(5),
+\fBsystemd.netdev\fR(5),
+\fBsystemd-networkd-wait-online.service\fR(8),
+\fBsystemd-network-generator.service\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-oomd.service.8 b/upstream/fedora-40/man8/systemd-oomd.service.8
new file mode 100644
index 00000000..b29c880d
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-oomd.service.8
@@ -0,0 +1,146 @@
+'\" t
+.TH "SYSTEMD\-OOMD\&.SERVICE" "8" "" "systemd 255" "systemd-oomd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-oomd.service, systemd-oomd \- A userspace out\-of\-memory (OOM) killer
+.SH "SYNOPSIS"
+.PP
+systemd\-oomd\&.service
+.PP
+/usr/lib/systemd/systemd\-oomd
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-oomd\fR
+is a system service that uses cgroups\-v2 and pressure stall information (PSI) to monitor and take corrective action before an OOM occurs in the kernel space\&.
+.PP
+You can enable monitoring and actions on units by setting
+\fIManagedOOMSwap=\fR
+and
+\fIManagedOOMMemoryPressure=\fR
+in the unit configuration, see
+\fBsystemd.resource-control\fR(5)\&.
+\fBsystemd\-oomd\fR
+retrieves information about such units from
+\fBsystemd\fR(1)
+when it starts and watches for subsequent changes\&.
+.PP
+Cgroups of units with
+\fIManagedOOMSwap=\fR
+or
+\fIManagedOOMMemoryPressure=\fR
+set to
+\fBkill\fR
+will be monitored\&.
+\fBsystemd\-oomd\fR
+periodically polls PSI statistics for the system and those cgroups to decide when to take action\&. If the configured limits are exceeded,
+\fBsystemd\-oomd\fR
+will select a cgroup to terminate, and send
+\fBSIGKILL\fR
+to all processes in it\&. Note that only descendant cgroups are eligible candidates for killing; the unit with its property set to
+\fBkill\fR
+is not a candidate (unless one of its ancestors set their property to
+\fBkill\fR)\&. Also only leaf cgroups and cgroups with
+memory\&.oom\&.group
+set to
+\fB1\fR
+are eligible candidates; see
+\fIOOMPolicy=\fR
+in
+\fBsystemd.service\fR(5)\&.
+.PP
+\fBoomctl\fR(1)
+can be used to list monitored cgroups and pressure information\&.
+.PP
+See
+\fBoomd.conf\fR(5)
+for more information about the configuration of this service\&.
+.SH "SYSTEM REQUIREMENTS AND CONFIGURATION"
+.PP
+The system must be running systemd with a full unified cgroup hierarchy for the expected cgroups\-v2 features\&. Furthermore, memory accounting must be turned on for all units monitored by
+\fBsystemd\-oomd\fR\&. The easiest way to turn on memory accounting is by ensuring the value for
+\fIDefaultMemoryAccounting=\fR
+is set to
+\fBtrue\fR
+in
+\fBsystemd-system.conf\fR(5)\&.
+.PP
+The kernel must be compiled with PSI support\&. This is available in Linux 4\&.20 and above\&.
+.PP
+It is highly recommended for the system to have swap enabled for
+\fBsystemd\-oomd\fR
+to function optimally\&. With swap enabled, the system spends enough time swapping pages to let
+\fBsystemd\-oomd\fR
+react\&. Without swap, the system enters a livelocked state much more quickly and may prevent
+\fBsystemd\-oomd\fR
+from responding in a reasonable amount of time\&. See
+\m[blue]\fB"In defence of swap: common misconceptions"\fR\m[]\&\s-2\u[1]\d\s+2
+for more details on swap\&. Any swap\-based actions on systems without swap will be ignored\&. While
+\fBsystemd\-oomd\fR
+can perform pressure\-based actions on such a system, the pressure increases will be more abrupt and may require more tuning to get the desired thresholds and behavior\&.
+.PP
+Be aware that if you intend to enable monitoring and actions on
+user\&.slice,
+user\-$UID\&.slice, or their ancestor cgroups, it is highly recommended that your programs be managed by the systemd user manager to prevent running too many processes under the same session scope (and thus avoid a situation where memory intensive tasks trigger
+\fBsystemd\-oomd\fR
+to kill everything under the cgroup)\&. If you\*(Aqre using a desktop environment like GNOME or KDE, it already spawns many session components with the systemd user manager\&.
+.SH "USAGE RECOMMENDATIONS"
+.PP
+\fIManagedOOMSwap=\fR
+works with the system\-wide swap values, so setting it on the root slice
+\-\&.slice, and allowing all descendant cgroups to be eligible candidates may make the most sense\&.
+.PP
+\fIManagedOOMMemoryPressure=\fR
+tends to work better on the cgroups below the root slice\&. For units which tend to have processes that are less latency sensitive (e\&.g\&.
+system\&.slice), a higher limit like the default of 60% may be acceptable, as those processes can usually ride out slowdowns caused by lack of memory without serious consequences\&. However, something like
+user@$UID\&.service
+may prefer a much lower value like 40%\&.
+.SH "OPTIONS"
+.PP
+\fB\-\-dry\-run\fR
+.RS 4
+Do a dry run of
+\fBsystemd\-oomd\fR: when a kill is triggered, print it to the log instead of killing the cgroup\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-system.conf\fR(5),
+\fBsystemd.resource-control\fR(5),
+\fBoomd.conf\fR(5),
+\fBoomctl\fR(1)
+.SH "NOTES"
+.IP " 1." 4
+"In defence of swap: common misconceptions"
+.RS 4
+\%https://chrisdown.name/2018/01/02/in-defence-of-swap.html
+.RE
diff --git a/upstream/fedora-40/man8/systemd-pcrlock.8 b/upstream/fedora-40/man8/systemd-pcrlock.8
new file mode 100644
index 00000000..b3206f6b
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-pcrlock.8
@@ -0,0 +1,537 @@
+'\" t
+.TH "SYSTEMD\-PCRLOCK" "8" "" "systemd 255" "systemd-pcrlock"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service \- Analyze and predict TPM2 PCR states and generate an access policy from the prediction
+.SH "SYNOPSIS"
+.HP \w'\fB/usr/lib/systemd/systemd\-pcrlock\ \fR\fB[OPTIONS...]\fR\ 'u
+\fB/usr/lib/systemd/systemd\-pcrlock \fR\fB[OPTIONS...]\fR
+.SH "DESCRIPTION"
+.PP
+Note: this command is experimental for now\&. While it is likely to become a regular component of systemd, it might still change in behaviour and interface\&.
+.PP
+\fBsystemd\-pcrlock\fR
+is a tool that may be used to analyze and predict TPM2 PCR measurements, and generate TPM2 access policies from the prediction which it stores in a TPM2 NV index (i\&.e\&. in the TPM2 non\-volatile memory)\&. This may then be used to restrict access to TPM2 objects (such as disk encryption keys) to system boot\-ups in which only specific, trusted components are used\&.
+.PP
+\fBsystemd\-pcrlock\fR
+uses as input for its analysis and prediction:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The UEFI firmware TPM2 event log (i\&.e\&.
+/sys/kernel/security/tpm0/binary_bios_measurements) of the current boot\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The userspace TPM2 event log (i\&.e\&.
+/run/log/systemd/tpm2\-measure\&.log) of the current boot\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The current PCR state of the TPM2 chip\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Boot component definition files (*\&.pcrlock
+and
+*\&.pcrlock\&.d/*\&.pcrlock, see
+\fBsystemd.pcrlock\fR(5)) that each define expected measurements for one component of the boot process, permitting alternative variants for each\&. (Variants may be used used to bless multiple kernel versions or boot loader versions at the same time\&.)
+.RE
+.PP
+It uses these inputs to generate a combined event log, validating it against the PCR states\&. It then attempts to recognize event log records and matches them against the defined components\&. For each PCR where this can be done comprehensively (i\&.e\&. where all listed records and all defined components have been matched) this may then be used to predict future PCR measurements, taking the alternative variants defined for each component into account\&. This prediction may then be converted into a TPM2 access policy (consisting of TPM2
+\fBPolicyPCR\fR
+and
+\fBPolicyOR\fR
+items), which is then stored in an NV index in the TPM2\&. This may be used to then lock secrets (such as disk encryption keys) to these policies (via a TPM2
+\fBPolicyAuthorizeNV\fR
+policy)\&.
+.PP
+Use tools such as
+\fBsystemd-cryptenroll\fR(1)
+or
+\fBsystemd-repart\fR(8)
+to bind disk encryption to such a
+\fBsystemd\-pcrlock\fR
+TPM2 policy\&. Specifically, see the
+\fB\-\-tpm2\-pcrlock=\fR
+switches of these tools\&.
+.PP
+The access policy logic requires a TPM2 device that implements the
+"PolicyAuthorizeNV"
+command, i\&.e\&. implements TPM 2\&.0 version 1\&.38 or newer\&.
+.SH "COMMANDS"
+.PP
+The following commands are understood:
+.PP
+\fBlog\fR
+.RS 4
+This reads the combined TPM2 event log, validates it, matches it against the current PCR values, and outputs both in tabular form\&. Combine with
+\fB\-\-json=\fR
+to generate output in JSON format\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBcel\fR
+.RS 4
+This reads the combined TPM2 event log and writes it to STDOUT in
+\m[blue]\fBTCG Common Event Log Format (CEL\-JSON)\fR\m[]\&\s-2\u[1]\d\s+2
+format\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlist\-components\fR
+.RS 4
+Shows a list of component definitions and their variants, i\&.e\&. the
+*\&.pcrlock
+files discovered in
+/var/lib/pcrlock\&.d/,
+/usr/lib/pcrlock\&.d/, and the other supported directories\&. See
+\fBsystemd.pcrlock\fR(5)
+for details on these files and the full list of directories searched\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBpredict\fR
+.RS 4
+Predicts the PCR state on future boots\&. This will analyze the TPM2 event log as described above, recognize components, and then generate all possible resulting PCR values for all combinations of component variants\&. Note that no prediction is made for PCRs whose value does not match the event log records, for which unrecognized measurements are discovered or for which components are defined that cannot be found in the event log\&. This is a safety measure to ensure that any generated access policy can be fulfilled correctly on current and future boots\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBmake\-policy\fR
+.RS 4
+This predicts the PCR state for future boots, much like the
+\fBpredict\fR
+command above\&. It then uses this data to generate a TPM2 access policy which it stores in a TPM2 NV index\&. The prediction and information about the used TPM2 and its NV index are written to
+/var/lib/systemd/pcrlock\&.json\&.
+.sp
+The NV index is allocated on first invocation, and updated on subsequent invocations\&.
+.sp
+The NV index contents may be changed (and thus the policy stored in it updated) by providing an access PIN\&. This PIN is normally generated automatically and stored in encrypted form (with an access policy binding it to the NV index itself) in the aforementioned JSON policy file\&. This PIN may be chosen by the user, via the
+\fB\-\-recovery\-pin=\fR
+switch\&. If specified it may be used as alternative path of access to update the policy\&.
+.sp
+If the new prediction matches the old this command terminates quickly and executes no further operation\&. (Unless
+\fB\-\-force\fR
+is specified, see below\&.)
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBremove\-policy\fR
+.RS 4
+Removes a previously generated policy\&. Deletes the
+/var/lib/systemd/pcrlock\&.json
+file, and deallocates the NV index\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-firmware\-code\fR, \fBunlock\-firmware\-code\fR
+.RS 4
+Generates/removes
+\&.pcrlock
+files based on the TPM2 event log of the current boot covering all records for PCRs 0 ("platform\-code") and 2 ("external\-code")\&.
+.sp
+This operation allows locking the boot process to the current version of the firmware of the system and its extension cards\&. This operation should only be used if the system vendor does not provide suitable pcrlock data ahead of time\&.
+.sp
+Note that this data only matches the current version of the firmware\&. If a firmware update is applied this data will be out\-of\-date and any access policy generated from it will no longer pass\&. It is thus recommended to invoke
+\fBunlock\-firmware\-code\fR
+before doing a firmware update, followed by
+\fBmake\-policy\fR
+to refresh the policy\&.
+.sp
+\fBsystemd\-pcrlock lock\-firmware\-code\fR
+is invoked automatically at boot via the
+systemd\-pcrlock\-firmware\-code\&.service
+unit, if enabled\&. This ensures that an access policy managed by
+\fBsystemd\-pcrlock\fR
+is automatically locked to the new firmware version whenever the policy has been relaxed temporarily, in order to cover for firmware updates, as described above\&.
+.sp
+The files are only generated from the event log if the event log matches the current TPM2 PCR state\&.
+.sp
+This writes/removes the files
+/var/lib/pcrlock\&.d/250\-firmware\-code\-early\&.pcrlock\&.d/generated\&.pcrlock
+and
+/var/lib/pcrlock\&.d/550\-firmware\-code\-late\&.pcrlock\&.d/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-firmware\-config\fR, \fBunlock\-firmware\-config\fR
+.RS 4
+This is similar to
+\fBlock\-firmware\-code\fR/\fBunlock\-firmware\-code\fR
+but locks down the firmware configuration, i\&.e\&. PCRs 1 ("platform\-config") and 3 ("external\-config")\&.
+.sp
+This functionality should be used with care as in most scenarios a minor firmware configuration change should not invalidate access policies to TPM2 objects\&. Also note that some systems measure unstable and unpredictable information (e\&.g\&. current CPU voltages, temperatures, as part of SMBIOS data) to these PCRs, which means this form of lockdown cannot be used reliably on such systems\&. Use this functionality only if the system and hardware is well known and does not suffer by these limitations, for example in virtualized environments\&.
+.sp
+Use
+\fBunlock\-firmware\-config\fR
+before making firmware configuration changes\&. If the
+systemd\-pcrlock\-firmware\-config\&.service
+unit is enabled it will automatically generate a pcrlock file from the new measurements\&.
+.sp
+This writes/removes the files
+/var/lib/pcrlock\&.d/250\-firmware\-config\-early\&.pcrlock\&.d/generated\&.pcrlock
+and
+/var/lib/pcrlock\&.d/550\-firmware\-config\-late\&.pcrlock\&.d/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-secureboot\-policy\fR, \fBunlock\-secureboot\-policy\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on the SecureBoot policy currently enforced\&. This looks at the SecureBoot, PK, KEK, db, dbx, dbt, dbr EFI variables and predicts their measurements to PCR 7 ("secure\-boot\-policy") on the next boot\&.
+.sp
+Use
+\fBunlock\-firmware\-config\fR
+before applying SecureBoot policy updates\&. If the
+systemd\-pcrlock\-secureboot\-policy\&.service
+unit is enabled it will automatically generate a pcrlock file from the policy discovered\&.
+.sp
+This writes/removes the file
+/var/lib/pcrlock\&.d/230\-secureboot\-policy\&.pcrlock\&.d/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-secureboot\-authority\fR, \fBunlock\-secureboot\-authority\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on the SecureBoot authorities used to validate the boot path\&. SecureBoot authorities are the specific SecureBoot database entries that where used to validate the UEFI PE binaries executed at boot\&. This looks at the event log of the current boot, and uses relevant measurements on PCR 7 ("secure\-boot\-policy")\&.
+.sp
+This writes/removes the file
+/var/lib/pcrlock\&.d/620\-secureboot\-authority\&.pcrlock\&.d/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-gpt\fR [\fIDEVICE\fR], \fBunlock\-gpt\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on the GPT partition table of the specified disk\&. If no disk is specified automatically determines the block device backing the root file system\&. This locks the state of the disk partitioning of the booted medium, which firmware measures to PCR 5 ("boot\-loader\-config")\&.
+.sp
+This writes/removes the file
+/var/lib/pcrlock\&.d/600\-gpt\&.pcrlock\&.d/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-pe\fR [\fIBINARY\fR], \fBunlock\-pe\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on the specified PE binary\&. This is useful for predicting measurements the firmware makes to PCR 4 ("boot\-loader\-code") if the specified binary is part of the UEFI boot process\&. Use this on boot loader binaries and suchlike\&. Use
+\fBlock\-uki\fR
+(see below) for PE binaries that are unified kernel images (UKIs)\&.
+.sp
+Expects a path to the PE binary as argument\&. If not specified, reads the binary from STDIN instead\&.
+.sp
+The pcrlock file to write must be specified via the
+\fB\-\-pcrlock=\fR
+switch\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-uki\fR [\fIUKI\fR], \fBunlock\-uki\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on the specified UKI PE binary\&. This is useful for predicting measurements the firmware makes to PCR 4 ("boot\-loader\-code"), and
+\fBsystemd-stub\fR(7)
+makes to PCR 11 ("kernel\-boot"), if the specified UKI is booted\&. This is a superset of
+\fBlock\-pe\fR\&.
+.sp
+Expects a path to the UKI PE binary as argument\&. If not specified, reads the binary from STDIN instead\&.
+.sp
+The pcrlock file to write must be specified via the
+\fB\-\-pcrlock=\fR
+switch\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-machine\-id\fR, \fBunlock\-machine\-id\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on
+/etc/machine\-id\&. This is useful for predicting measurements
+\fBsystemd-pcrmachine.service\fR(8)
+makes to PCR 15 ("system\-identity")\&.
+.sp
+This writes/removes the file
+/var/lib/pcrlock\&.d/820\-machine\-id\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-file\-system\fR [\fIPATH\fR], \fBunlock\-file\-system\fR [\fIPATH\fR]
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on file system identity\&. This is useful for predicting measurements
+\fBsystemd-pcrfs@.service\fR(8)
+makes to PCR 15 ("system\-identity") for the root and
+/var/
+file systems\&.
+.sp
+This writes/removes the files
+/var/lib/pcrlock\&.d/830\-root\-file\-system\&.pcrlock
+and
+/var/lib/pcrlock\&.d/840\-file\-system\-\fIpath\fR\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-kernel\-cmdline\fR [\fIFILE\fR], \fBunlock\-kernel\-cmdline\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on
+/proc/cmdline
+(or the specified file if given)\&. This is useful for predicting measurements the Linux kernel makes to PCR 9 ("kernel\-initrd")\&.
+.sp
+This writes/removes the file
+/var/lib/pcrlock\&.d/710\-kernel\-cmdline\&.pcrlock/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-kernel\-initrd\fR \fIFILE\fR, \fBunlock\-kernel\-initrd\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on a kernel initrd cpio archive\&. This is useful for predicting measurements the Linux kernel makes to PCR 9 ("kernel\-initrd")\&. Do not use for
+\fBsystemd\-stub\fR
+UKIs, as the initrd is combined dynamically from various sources and hence does not take a single input, like this command\&.
+.sp
+This writes/removes the file
+/var/lib/pcrlock\&.d/720\-kernel\-initrd\&.pcrlock/generated\&.pcrlock\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlock\-raw\fR [\fIFILE\fR], \fBunlock\-raw\fR
+.RS 4
+Generates/removes a
+\&.pcrlock
+file based on raw binary data\&. The data is either read from the specified file or from STDIN (if none is specified)\&. This requires that
+\fB\-\-pcrs=\fR
+is specified\&. The generated pcrlock file is written to the file specified via
+\fB\-\-pcrlock=\fR
+or to STDOUT (if none is specified)\&.
+.sp
+Added in version 255\&.
+.RE
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-raw\-description\fR
+.RS 4
+When displaying the TPM2 event log do not attempt to decode the records to provide a friendly event log description string\&. Instead, show the binary payload data in escaped form\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-pcr=\fR
+.RS 4
+Specifies the PCR number to use\&. May be specified more than once to select multiple PCRs\&.
+.sp
+This is used by
+\fBlock\-raw\fR
+and
+\fBlock\-pe\fR
+to select the PCR to lock against\&.
+.sp
+If used with
+\fBpredict\fR
+and
+\fBmake\-policy\fR
+this will override which PCRs to include in the prediction and policy\&. If unspecified this defaults to PCRs 0\-5, 7, 11\-15\&. Note that these commands will not include any PCRs in the prediction/policy (even if specified explicitly) if there are measurements in the event log that do not match the current PCR value, or there are unrecognized measurements in the event log, or components define measurements not seen in the event log\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-nv\-index=\fR
+.RS 4
+Specifies to NV index to store the policy in\&. Honoured by
+\fBmake\-policy\fR\&. If not specified the command will automatically pick a free NV index\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-components=\fR
+.RS 4
+Takes a path to read
+*\&.pcrlock
+and
+*\&.pcrlock\&.d/*\&.pcrlock
+files from\&. May be used more than once to specify multiple such directories\&. If not specified defaults to
+/etc/pcrlock\&.d/,
+/run/pcrlock\&.d/,
+/var/lib/pcrlock\&.d/,
+/usr/local/pcrlock\&.d/,
+/usr/lib/pcrlock\&.d/\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-location=\fR
+.RS 4
+Takes either a string or a colon\-separated pair of strings\&. Configures up to which point in the sorted list of defined components to analyze/predict PCRs to\&. Typically, the
+\fBsystemd\-pcrlock\fR
+tool is invoked from a fully booted system after boot\-up and before shutdown\&. This means various components that are defined for shutdown have not been measured yet, and should not be searched for\&. This option allows one to restrict which components are considered for analysis (taking only components before some point into account, ignoring components after them)\&. The expected string is ordered against the filenames of the components defined\&. Any components with a lexicographically later name are ignored\&. This logic applies to the
+\fBlog\fR,
+\fBpredict\fR, and
+\fBmake\-policy\fR
+verbs\&. If a colon\-separated pair of strings are specified then they select which phases of the boot to include in the prediction/policy\&. The first string defines where the first prediction shall be made, and the second string defines where the last prediction shall be made\&. All such predictions are then combined into one set\&.
+.sp
+If used with
+\fBlist\-components\fR
+the selected location range will be highlighted in the component list\&.
+.sp
+Defaults to
+"760\-:940\-", which means the policies generated by default will basically cover the whole runtime of the OS userspace, from the initrd (as
+"760\-"
+closely follows
+750\-enter\-initrd\&.pcrlock) until (and including) the main runtime of the system (as
+"940\-"
+is closely followed by
+950\-shutdown\&.pcrlock)\&. See
+\fBsystemd.pcrlock\fR(5)
+for a full list of well\-known components, that illustrate where this range is placed by default\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-recovery\-pin=\fR
+.RS 4
+Takes a boolean\&. Defaults to false\&. Honoured by
+\fBmake\-policy\fR\&. If true, will query the user for a PIN to unlock the TPM2 NV index with\&. If no policy was created before this PIN is used to protect the newly allocated NV index\&. If a policy has been created before the PIN is used to unlock write access to the NV index\&. If this option is not used a PIN is automatically generated\&. Regardless if user supplied or automatically generated, it is stored in encrypted form in the policy metadata file\&. The recovery PIN may be used to regain write access to an NV index in case the access policy became out of date\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-pcrlock=\fR
+.RS 4
+Takes a file system path as argument\&. If specified overrides where to write the generated pcrlock data to\&. Honoured by the various
+\fBlock\-*\fR
+commands\&. If not specified, a default path is generally used, as documented above\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-policy=\fR
+.RS 4
+Takes a file system path as argument\&. If specified overrides where to write pcrlock policy metadata to\&. If not specified defaults to
+/var/lib/systemd/pcrlock\&.json\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-force\fR
+.RS 4
+If specified with
+\fBmake\-policy\fR, the predicted policy will be written to the NV index even if it is detected to be the same as the previously stored one\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Shows output formatted as JSON\&. Expects one of
+"short"
+(for the shortest possible output without any redundant whitespace or line breaks),
+"pretty"
+(for a pretty version of the same, with indentation and line breaks) or
+"off"
+(to turn off JSON output, the default)\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.pcrlock\fR(5),
+\fBsystemd-cryptenroll\fR(1),
+\fBsystemd-cryptsetup@.service\fR(8),
+\fBsystemd-repart\fR(8),
+\fBsystemd-pcrmachine.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+TCG Common Event Log Format (CEL-JSON)
+.RS 4
+\%https://trustedcomputinggroup.org/resource/canonical-event-log-format/
+.RE
diff --git a/upstream/fedora-40/man8/systemd-pcrphase.service.8 b/upstream/fedora-40/man8/systemd-pcrphase.service.8
new file mode 100644
index 00000000..38f7e40c
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-pcrphase.service.8
@@ -0,0 +1,293 @@
+'\" t
+.TH "SYSTEMD\-PCRPHASE\&.SERVICE" "8" "" "systemd 255" "systemd-pcrphase.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrmachine.service, systemd-pcrfs-root.service, systemd-pcrfs@.service, systemd-pcrextend \- Measure boot phase into TPM2 PCR 11, machine ID and file system identity into PCR 15
+.SH "SYNOPSIS"
+.PP
+systemd\-pcrphase\&.service
+.PP
+systemd\-pcrphase\-sysinit\&.service
+.PP
+systemd\-pcrphase\-initrd\&.service
+.PP
+systemd\-pcrmachine\&.service
+.PP
+systemd\-pcrfs\-root\&.service
+.PP
+systemd\-pcrfs@\&.service
+.PP
+/usr/lib/systemd/systemd\-pcrextend
+[\fISTRING\fR]
+.SH "DESCRIPTION"
+.PP
+systemd\-pcrphase\&.service,
+systemd\-pcrphase\-sysinit\&.service, and
+systemd\-pcrphase\-initrd\&.service
+are system services that measure specific strings into TPM2 PCR 11 during boot at various milestones of the boot process\&.
+.PP
+systemd\-pcrmachine\&.service
+is a system service that measures the machine ID (see
+\fBmachine-id\fR(5)) into PCR 15\&.
+.PP
+systemd\-pcrfs\-root\&.service
+and
+systemd\-pcrfs@\&.service
+are services that measure file system identity information (i\&.e\&. mount point, file system type, label and UUID, partition label and UUID) into PCR 15\&.
+systemd\-pcrfs\-root\&.service
+does so for the root file system,
+systemd\-pcrfs@\&.service
+is a template unit that measures the file system indicated by its instance identifier instead\&.
+.PP
+These services require
+\fBsystemd-stub\fR(7)
+to be used in a unified kernel image (UKI)\&. They execute no operation when the stub has not been used to invoke the kernel\&. The stub will measure the invoked kernel and associated vendor resources into PCR 11 before handing control to it; once userspace is invoked these services then will extend TPM2 PCR 11 with certain literal strings indicating phases of the boot process\&. During a regular boot process PCR 11 is extended with the following strings:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+"enter\-initrd"
+\(em early when the initrd initializes, before activating system extension images for the initrd\&. It acts as a barrier between the time where the kernel initializes and where the initrd starts operating and enables system extension images, i\&.e\&. code shipped outside of the UKI\&. (This extension happens when the
+\fBsystemd-pcrphase-initrd.service\fR(8)
+service is started\&.)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+"leave\-initrd"
+\(em when the initrd is about to transition into the host file system\&. It acts as barrier between initrd code and host OS code\&. (This extension happens when the
+systemd\-pcrphase\-initrd\&.service
+service is stopped\&.)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 3." 4.2
+.\}
+"sysinit"
+\(em when basic system initialization is complete (which includes local file systems having been mounted), and the system begins starting regular system services\&. (This extension happens when the
+\fBsystemd-pcrphase-sysinit.service\fR(8)
+service is started\&.)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 4.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 4." 4.2
+.\}
+"ready"
+\(em during later boot\-up, after remote file systems have been activated (i\&.e\&. after
+remote\-fs\&.target), but before users are permitted to log in (i\&.e\&. before
+systemd\-user\-sessions\&.service)\&. It acts as barrier between the time where unprivileged regular users are still prohibited to log in and where they are allowed to log in\&. (This extension happens when the
+systemd\-pcrphase\&.service
+service is started\&.)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 5.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 5." 4.2
+.\}
+"shutdown"
+\(em when the system shutdown begins\&. It acts as barrier between the time the system is fully up and running and where it is about to shut down\&. (This extension happens when the
+systemd\-pcrphase\&.service
+service is stopped\&.)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 6.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 6." 4.2
+.\}
+"final"
+\(em at the end of system shutdown\&. It acts as barrier between the time the service manager still runs and when it transitions into the final shutdown phase where service management is not available anymore\&. (This extension happens when the
+\fBsystemd-pcrphase-sysinit.service\fR(8)
+service is stopped\&.)
+.RE
+.PP
+During a regular system lifecycle, PCR 11 is extended with the strings
+"enter\-initrd",
+"leave\-initrd",
+"sysinit",
+"ready",
+"shutdown", and
+"final"\&.
+.PP
+Specific phases of the boot process may be referenced via the series of strings measured, separated by colons (the "phase path")\&. For example, the phase path for the regular system runtime is
+"enter\-initrd:leave\-initrd:sysinit:ready", while the one for the initrd is just
+"enter\-initrd"\&. The phase path for the boot phase before the initrd is an empty string; because that\*(Aqs hard to pass around a single colon (":") may be used instead\&. Note that the aforementioned six strings are just the default strings and individual systems might measure other strings at other times, and thus implement different and more fine\-grained boot phases to bind policy to\&.
+.PP
+By binding policy of TPM2 objects to a specific phase path it is possible to restrict access to them to specific phases of the boot process, for example making it impossible to access the root file system\*(Aqs encryption key after the system transitioned from the initrd into the host root file system\&.
+.PP
+Use
+\fBsystemd-measure\fR(1)
+to pre\-calculate expected PCR 11 values for specific boot phases (via the
+\fB\-\-phase=\fR
+switch)\&.
+.PP
+systemd\-pcrfs\-root\&.service
+and
+systemd\-pcrfs@\&.service
+are automatically pulled into the initial transaction by
+\fBsystemd-gpt-auto-generator\fR(8)
+for the root and
+/var/
+file systems\&.
+\fBsystemd-fstab-generator\fR(8)
+will do this for all mounts with the
+\fBx\-systemd\&.pcrfs\fR
+mount option in
+/etc/fstab\&.
+.SH "OPTIONS"
+.PP
+The
+/usr/lib/systemd/system\-pcrextend
+executable may also be invoked from the command line, where it expects the word to extend into PCR 11, as well as the following switches:
+.PP
+\fB\-\-bank=\fR
+.RS 4
+Takes the PCR banks to extend the specified word into\&. If not specified the tool automatically determines all enabled PCR banks and measures the word into all of them\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-pcr=\fR
+.RS 4
+Takes the index of the PCR to extend\&. If
+\fB\-\-machine\-id\fR
+or
+\fB\-\-file\-system=\fR
+are specified defaults to 15, otherwise defaults to 11\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-tpm2\-device=\fR\fIPATH\fR
+.RS 4
+Controls which TPM2 device to use\&. Expects a device node path referring to the TPM2 chip (e\&.g\&.
+/dev/tpmrm0)\&. Alternatively the special value
+"auto"
+may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one)\&. The special value
+"list"
+may be used to enumerate all suitable TPM2 devices currently discovered\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-graceful\fR
+.RS 4
+If no TPM2 firmware, kernel subsystem, kernel driver or device support is found, exit with exit status 0 (i\&.e\&. indicate success)\&. If this is not specified any attempt to measure without a TPM2 device will cause the invocation to fail\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-machine\-id\fR
+.RS 4
+Instead of measuring a word specified on the command line into PCR 11, measure the host\*(Aqs machine ID into PCR 15\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-file\-system=\fR
+.RS 4
+Instead of measuring a word specified on the command line into PCR 11, measure identity information of the specified file system into PCR 15\&. The parameter must be the path to the established mount point of the file system to measure\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "FILES"
+.PP
+/run/log/systemd/tpm2\-measure\&.log
+.RS 4
+Measurements are logged into an event log file maintained in
+/run/log/systemd/tpm2\-measure\&.log, which contains a
+\m[blue]\fBJSON\-SEQ\fR\m[]\&\s-2\u[1]\d\s+2
+series of objects that follow the general structure of the
+\m[blue]\fBTCG Common Event Log Format (CEL\-JSON)\fR\m[]\&\s-2\u[2]\d\s+2
+event objects (but lack the
+"recnum"
+field)\&.
+.sp
+A
+\fBLOCK_EX\fR
+BSD file lock (\fBflock\fR(2)) on the log file is acquired while the measurement is made and the file is updated\&. Thus, applications that intend to acquire a consistent quote from the TPM with the associated snapshot of the event log should acquire a
+\fBLOCK_SH\fR
+lock while doing so\&.
+.sp
+Added in version 252\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-stub\fR(7),
+\fBsystemd-measure\fR(1),
+\fBsystemd-gpt-auto-generator\fR(8),
+\fBsystemd-fstab-generator\fR(8),
+\m[blue]\fBTPM2 PCR Measurements Made by systemd\fR\m[]\&\s-2\u[3]\d\s+2
+.SH "NOTES"
+.IP " 1." 4
+JSON-SEQ
+.RS 4
+\%https://www.rfc-editor.org/rfc/rfc7464.html
+.RE
+.IP " 2." 4
+TCG Common Event Log Format (CEL-JSON)
+.RS 4
+\%https://trustedcomputinggroup.org/resource/canonical-event-log-format/
+.RE
+.IP " 3." 4
+TPM2 PCR Measurements Made by systemd
+.RS 4
+\%https://systemd.io/TPM2_PCR_MEASUREMENTS
+.RE
diff --git a/upstream/fedora-40/man8/systemd-portabled.service.8 b/upstream/fedora-40/man8/systemd-portabled.service.8
new file mode 100644
index 00000000..e3b40f6e
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-portabled.service.8
@@ -0,0 +1,52 @@
+'\" t
+.TH "SYSTEMD\-PORTABLED\&.SERVICE" "8" "" "systemd 255" "systemd-portabled.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-portabled.service, systemd-portabled \- Portable service manager
+.SH "SYNOPSIS"
+.PP
+systemd\-portabled\&.service
+.PP
+/usr/lib/systemd/systemd\-portabled
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-portabled\fR
+is a system service that may be used to attach, detach and inspect portable service images\&.
+.PP
+Most of
+\fBsystemd\-portabled\fR\*(Aqs functionality is accessible through the
+\fBportablectl\fR(1)
+command\&.
+.PP
+See the
+\m[blue]\fBPortable Services\fR\m[]\&\s-2\u[1]\d\s+2
+page for details about the concepts this service implements\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBportablectl\fR(1),
+\fBorg.freedesktop.portable1\fR(5)
+.SH "NOTES"
+.IP " 1." 4
+Portable Services
+.RS 4
+\%https://systemd.io/PORTABLE_SERVICES
+.RE
diff --git a/upstream/fedora-40/man8/systemd-poweroff.service.8 b/upstream/fedora-40/man8/systemd-poweroff.service.8
new file mode 100644
index 00000000..b7a3d813
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-poweroff.service.8
@@ -0,0 +1,93 @@
+'\" t
+.TH "SYSTEMD\-POWEROFF\&.SERVICE" "8" "" "systemd 255" "systemd-poweroff.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-poweroff.service, systemd-halt.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown \- System shutdown logic
+.SH "SYNOPSIS"
+.PP
+systemd\-poweroff\&.service
+.PP
+systemd\-halt\&.service
+.PP
+systemd\-reboot\&.service
+.PP
+systemd\-kexec\&.service
+.PP
+/usr/lib/systemd/systemd\-shutdown
+.PP
+/usr/lib/systemd/system\-shutdown/
+.SH "DESCRIPTION"
+.PP
+systemd\-poweroff\&.service
+is a system service that is pulled in by
+poweroff\&.target
+and is responsible for the actual system power\-off operation\&. Similarly,
+systemd\-halt\&.service
+is pulled in by
+halt\&.target,
+systemd\-reboot\&.service
+by
+reboot\&.target
+and
+systemd\-kexec\&.service
+by
+kexec\&.target
+to execute the respective actions\&.
+.PP
+When these services are run, they ensure that PID 1 is replaced by the
+/usr/lib/systemd/systemd\-shutdown
+tool which is then responsible for the actual shutdown\&. Before shutting down, this binary will try to unmount all remaining file systems (or at least remount them read\-only), disable all remaining swap devices, detach all remaining storage devices and kill all remaining processes\&.
+.PP
+It is necessary to have this code in a separate binary because otherwise rebooting after an upgrade might be broken\ \&\(em the running PID 1 could still depend on libraries which are not available any more, thus keeping the file system busy, which then cannot be re\-mounted read\-only\&.
+.PP
+Shortly before executing the actual system power\-off/halt/reboot/kexec
+systemd\-shutdown
+will run all executables in
+/usr/lib/systemd/system\-shutdown/
+and pass one arguments to them: either
+"poweroff",
+"halt",
+"reboot", or
+"kexec", depending on the chosen action\&. All executables in this directory are executed in parallel, and execution of the action is not continued before all executables finished\&. Note that these executables are run
+\fIafter\fR
+all services have been shut down, and after most mounts have been detached (the root file system as well as
+/run/
+and various API file systems are still around though)\&. This means any programs dropped into this directory must be prepared to run in such a limited execution environment and not rely on external services or hierarchies such as
+/var/
+to be around (or writable)\&.
+.PP
+Note that
+systemd\-poweroff\&.service
+(and the related units) should never be executed directly\&. Instead, trigger system shutdown with a command such as
+"systemctl poweroff"\&.
+.PP
+Another form of shutdown is provided by the
+\fBsystemd-soft-reboot.service\fR(8)
+functionality\&. It reboots only the OS userspace, leaving the kernel, firmware, and hardware as it is\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBsystemd.special\fR(7),
+\fBreboot\fR(2),
+\fBsystemd-suspend.service\fR(8),
+\fBsystemd-soft-reboot.service\fR(8),
+\fBbootup\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-pstore.service.8 b/upstream/fedora-40/man8/systemd-pstore.service.8
new file mode 100644
index 00000000..3eb96dec
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-pstore.service.8
@@ -0,0 +1,92 @@
+'\" t
+.TH "SYSTEMD\-PSTORE\&.SERVICE" "8" "" "systemd 255" "systemd-pstore.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-pstore.service, systemd-pstore \- A service to archive contents of pstore
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/systemd\-pstore
+.PP
+systemd\-pstore\&.service
+.SH "DESCRIPTION"
+.PP
+systemd\-pstore\&.service
+is a system service that archives the contents of the Linux persistent storage filesystem, pstore, to other storage, thus preserving the existing information contained in the pstore, and clearing pstore storage for future error events\&.
+.PP
+Linux provides a persistent storage file system, pstore, that can store error records when the kernel dies (or reboots or powers\-off)\&. These records in turn can be referenced to debug kernel problems (currently the kernel stores the tail of the kernel log, which also contains a stack backtrace, into pstore)\&.
+.PP
+The pstore file system supports a variety of backends that map onto persistent storage, such as the ACPI ERST and UEFI variables\&. The pstore backends typically offer a relatively small amount of persistent storage, e\&.g\&. 64KiB, which can quickly fill up and thus prevent subsequent kernel crashes from recording errors\&. Thus there is a need to monitor and extract the pstore contents so that future kernel problems can also record information in the pstore\&.
+.PP
+The pstore service is independent of the kdump service\&. In cloud environments specifically, host and guest filesystems are on remote filesystems (e\&.g\&. iSCSI or NFS), thus kdump relies (implicitly and/or explicitly) upon proper operation of networking software *and* hardware *and* infrastructure\&. Thus it may not be possible to capture a kernel coredump to a file since writes over the network may not be possible\&.
+.PP
+The pstore backend, on the other hand, is completely local and provides a path to store error records which will survive a reboot and aid in post\-mortem debugging\&.
+.PP
+The
+\fBsystemd\-pstore\fR
+executable does the actual work\&. Upon starting, the
+pstore\&.conf
+file is read and the
+/sys/fs/pstore/
+directory contents are processed according to the options\&. Pstore files are written to the journal, and optionally saved into
+/var/lib/systemd/pstore/\&.
+.SH "CONFIGURATION"
+.PP
+The behavior of
+\fBsystemd\-pstore\fR
+is configured through the configuration file
+/etc/systemd/pstore\&.conf
+and corresponding snippets
+/etc/systemd/pstore\&.conf\&.d/*\&.conf, see
+\fBpstore.conf\fR(5)\&.
+.SS "Disabling pstore processing"
+.PP
+To disable pstore processing by
+\fBsystemd\-pstore\fR, set
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Storage=none
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+in
+\fBpstore.conf\fR(5)\&.
+.SS "Kernel parameters"
+.PP
+The kernel has two parameters,
+/sys/module/kernel/parameters/crash_kexec_post_notifiers
+and
+/sys/module/printk/parameters/always_kmsg_dump, that control writes into pstore\&. The first enables storing of the kernel log (including stack trace) into pstore upon a panic or crash, and the second enables storing of the kernel log upon a normal shutdown (shutdown, reboot, halt)\&. These parameters can be managed via the
+\fBtmpfiles.d\fR(5)
+mechanism, specifically the file
+/usr/lib/tmpfiles/systemd\-pstore\&.conf\&.
+.SH "USAGE"
+.PP
+Data stored in the journal can be viewed with
+\fBjournalctl\fR(1)
+as usual\&.
+.SH "SEE ALSO"
+.PP
+\fBpstore.conf\fR(5)
diff --git a/upstream/fedora-40/man8/systemd-quotacheck.service.8 b/upstream/fedora-40/man8/systemd-quotacheck.service.8
new file mode 100644
index 00000000..5a4d5e34
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-quotacheck.service.8
@@ -0,0 +1,56 @@
+'\" t
+.TH "SYSTEMD\-QUOTACHECK\&.SERVICE" "8" "" "systemd 255" "systemd-quotacheck.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-quotacheck.service, systemd-quotacheck \- File system quota checker logic
+.SH "SYNOPSIS"
+.PP
+systemd\-quotacheck\&.service
+.PP
+/usr/lib/systemd/systemd\-quotacheck
+.SH "DESCRIPTION"
+.PP
+systemd\-quotacheck\&.service
+is a service responsible for file system quota checks\&. It is run once at boot after all necessary file systems are mounted\&. It is pulled in only if at least one file system has quotas enabled\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-quotacheck
+understands one kernel command line parameter:
+.PP
+\fIquotacheck\&.mode=\fR
+.RS 4
+One of
+"auto",
+"force",
+"skip"\&. Controls the mode of operation\&. The default is
+"auto", and ensures that file system quota checks are done when the file system quota checker deems them necessary\&.
+"force"
+unconditionally results in full file system quota checks\&.
+"skip"
+skips any file system quota checks\&.
+.sp
+Added in version 186\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBquotacheck\fR(8),
+\fBsystemd-fsck@.service\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-random-seed.service.8 b/upstream/fedora-40/man8/systemd-random-seed.service.8
new file mode 100644
index 00000000..d8cbd444
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-random-seed.service.8
@@ -0,0 +1,86 @@
+'\" t
+.TH "SYSTEMD\-RANDOM\-SEED\&.SERVICE" "8" "" "systemd 255" "systemd-random-seed.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-random-seed.service, systemd-random-seed \- Load and save the OS system random seed at boot and shutdown
+.SH "SYNOPSIS"
+.PP
+systemd\-random\-seed\&.service
+.PP
+/usr/lib/systemd/systemd\-random\-seed
+.SH "DESCRIPTION"
+.PP
+systemd\-random\-seed\&.service
+is a service that loads an on\-disk random seed into the kernel entropy pool during boot and saves it at shutdown\&. See
+\fBrandom\fR(4)
+for details\&. By default, no entropy is credited when the random seed is written into the kernel entropy pool, but this may be changed with
+\fI$SYSTEMD_RANDOM_SEED_CREDIT\fR, see below\&. On disk the random seed is stored in
+/var/lib/systemd/random\-seed\&.
+.PP
+Note that this service runs relatively late during the early boot phase, i\&.e\&. generally after the initrd phase has finished and the
+/var/
+file system has been mounted\&. Many system services require entropy much earlier than this \(em this service is hence of limited use for complex system\&. It is recommended to use a boot loader that can pass an initial random seed to the kernel to ensure that entropy is available from earliest boot on, for example
+\fBsystemd-boot\fR(7), with its
+\fBbootctl random\-seed\fR
+functionality\&.
+.PP
+When loading the random seed from disk, the file is immediately updated with a new seed retrieved from the kernel, in order to ensure no two boots operate with the same random seed\&. This new seed is retrieved synchronously from the kernel, which means the service will not complete start\-up until the random pool is fully initialized\&. On entropy\-starved systems this may take a while\&. This functionality is intended to be used as synchronization point for ordering services that require an initialized entropy pool to function securely (i\&.e\&. services that access
+/dev/urandom
+without any further precautions)\&.
+.PP
+Care should be taken when creating OS images that are replicated to multiple systems: if the random seed file is included unmodified each system will initialize its entropy pool with the same data, and thus \(em if otherwise entropy\-starved \(em generate the same or at least guessable random seed streams\&. As a safety precaution crediting entropy is thus disabled by default\&. It is recommended to remove the random seed from OS images intended for replication on multiple systems, in which case it is safe to enable entropy crediting, see below\&. Also see
+\m[blue]\fBSafely Building Images\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+See
+\m[blue]\fBRandom Seeds\fR\m[]\&\s-2\u[2]\d\s+2
+for further information\&.
+.SH "ENVIRONMENT"
+.PP
+\fI$SYSTEMD_RANDOM_SEED_CREDIT\fR
+.RS 4
+By default,
+systemd\-random\-seed\&.service
+does not credit any entropy when loading the random seed\&. With this option this behaviour may be changed: it either takes a boolean parameter or the special string
+"force"\&. Defaults to false, in which case no entropy is credited\&. If true, entropy is credited if the random seed file and system state pass various superficial concisistency checks\&. If set to
+"force"
+entropy is credited, regardless of these checks, as long as the random seed file exists\&.
+.sp
+Added in version 243\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBrandom\fR(4),
+\fBsystemd-boot\fR(7),
+\fBsystemd-stub\fR(7),
+\fBbootctl\fR(4),
+\fBsystemd-boot-random-seed.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Safely Building Images
+.RS 4
+\%https://systemd.io/BUILDING_IMAGES
+.RE
+.IP " 2." 4
+Random Seeds
+.RS 4
+\%https://systemd.io/RANDOM_SEEDS
+.RE
diff --git a/upstream/fedora-40/man8/systemd-rc-local-generator.8 b/upstream/fedora-40/man8/systemd-rc-local-generator.8
new file mode 100644
index 00000000..81d97fed
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-rc-local-generator.8
@@ -0,0 +1,74 @@
+'\" t
+.TH "SYSTEMD\-RC\-LOCAL\-GENERATOR" "8" "" "systemd 255" "systemd-rc-local-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-rc-local-generator, rc-local.service \- Compatibility generator and service to start /etc/rc\&.d/rc\&.local during boot
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-rc\-local\-generator
+.PP
+rc\-local\&.service
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-rc\-local\-generator\fR
+is a generator that checks whether
+/etc/rc\&.d/rc\&.local
+exists and is executable, and if it is, pulls the
+rc\-local\&.service
+unit into the boot process\&. This unit is responsible for running this script during late boot\&. The script is run after
+network\&.target, but in parallel with most other regular system services\&.
+.PP
+Note that
+rc\-local\&.service
+runs with slightly different semantics than the original System V version, which was executed "last" in the boot process, which is a concept that does not translate to systemd\&.
+.PP
+Also note that
+rc\-local\&.service
+is ordered after
+network\&.target, which does not mean that the network is functional, see
+\fBsystemd.special\fR(7)\&. If the script requires a configured network connection, it may be desirable to pull in and order it after
+network\-online\&.target
+with a drop\-in:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /etc/systemd/system/rc\-local\&.service\&.d/network\&.conf
+[Unit]
+Wants=network\-online\&.target
+After=network\-online\&.target
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Support for
+/etc/rc\&.d/rc\&.local
+is provided for compatibility with specific System V systems only\&. However, it is strongly recommended to avoid making use of this script today, and instead provide proper unit files with appropriate dependencies for any scripts to run during the boot process\&. Note that the path to the script is set at compile time and varies between distributions\&.
+.PP
+systemd\-rc\-local\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-remount-fs.service.8 b/upstream/fedora-40/man8/systemd-remount-fs.service.8
new file mode 100644
index 00000000..b9afacff
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-remount-fs.service.8
@@ -0,0 +1,71 @@
+'\" t
+.TH "SYSTEMD\-REMOUNT\-FS\&.SERVICE" "8" "" "systemd 255" "systemd-remount-fs.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-remount-fs.service, systemd-remount-fs \- Remount root and kernel file systems
+.SH "SYNOPSIS"
+.PP
+systemd\-remount\-fs\&.service
+.PP
+/usr/lib/systemd/systemd\-remount\-fs
+.SH "DESCRIPTION"
+.PP
+systemd\-remount\-fs\&.service
+is an early boot service that applies mount options listed in
+\fBfstab\fR(5), or gathered from the partition table (when
+\fBsystemd-gpt-auto-generator\fR(8)
+is active) to the root file system, the
+/usr/
+file system, and the kernel API file systems\&. This is required so that the mount options of these file systems \(em which are pre\-mounted by the kernel, the initrd, container environments or system manager code \(em are updated to those configured in
+/etc/fstab
+and the other sources\&. This service ignores normal file systems and only changes the root file system (i\&.e\&.
+/),
+/usr/, and the virtual kernel API file systems such as
+/proc/,
+/sys/
+or
+/dev/\&. This service executes no operation if no configuration is found (/etc/fstab
+does not exist or lists no entries for the mentioned file systems, or the partition table does not contain relevant entries)\&.
+.PP
+For a longer discussion of kernel API file systems see
+\m[blue]\fBAPI File Systems\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+Note:
+systemd\-remount\-fs\&.service
+is usually pulled in by
+\fBsystemd-fstab-generator\fR(8), hence it is also affected by the kernel command line option
+\fIfstab=\fR, which may be used to disable the generator\&. It may also pulled in by
+\fBsystemd-gpt-auto-generator\fR(8), which is affected by
+\fIsystemd\&.gpt_auto\fR
+and other options\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBfstab\fR(5),
+\fBmount\fR(8),
+\fBsystemd-fstab-generator\fR(8),
+\fBsystemd-gpt-auto-generator\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+API File Systems
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
+.RE
diff --git a/upstream/fedora-40/man8/systemd-repart.8 b/upstream/fedora-40/man8/systemd-repart.8
new file mode 100644
index 00000000..b873a9f5
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-repart.8
@@ -0,0 +1,740 @@
+'\" t
+.TH "SYSTEMD\-REPART" "8" "" "systemd 255" "systemd-repart"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-repart, systemd-repart.service \- Automatically grow and add partitions
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-repart\fR\ 'u
+\fBsystemd\-repart\fR [OPTIONS...] [\fI[BLOCKDEVICE]\fR...]
+.PP
+systemd\-repart\&.service
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-repart\fR
+grows and adds partitions to a partition table, based on the configuration files described in
+\fBrepart.d\fR(5)\&.
+.PP
+If invoked with no arguments, it operates on the block device backing the root file system partition of the running OS, thus growing and adding partitions of the booted OS image itself\&. If
+\fI\-\-image=\fR
+is used it will operate on the specified image file\&. When called in the initrd it operates on the block device backing
+/sysroot/
+instead, i\&.e\&. on the block device the system will soon transition into\&. The
+systemd\-repart\&.service
+service is generally run at boot in the initrd, in order to augment the partition table of the OS before its partitions are mounted\&.
+\fBsystemd\-repart\fR
+(mostly) operates in a purely incremental mode: it only grows existing and adds new partitions; it does not shrink, delete or move existing partitions\&. The service is intended to be run on every boot, but when it detects that the partition table already matches the installed
+repart\&.d/*\&.conf
+configuration files, it executes no operation\&.
+.PP
+\fBsystemd\-repart\fR
+is intended to be used when deploying OS images, to automatically adjust them to the system they are running on, during first boot\&. This way the deployed image can be minimal in size and may be augmented automatically at boot when needed, taking possession of disk space available but not yet used\&. Specifically the following use cases are among those covered:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The root partition may be grown to cover the whole available disk space\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A
+/home/, swap or
+/srv/
+partition can be added\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A second (or third, \&...) root partition may be added, to cover A/B style setups where a second version of the root file system is alternatingly used for implementing update schemes\&. The deployed image would carry only a single partition ("A") but on first boot a second partition ("B") for this purpose is automatically created\&.
+.RE
+.PP
+The algorithm executed by
+\fBsystemd\-repart\fR
+is roughly as follows:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+The
+repart\&.d/*\&.conf
+configuration files are loaded and parsed, and ordered by filename (without the directory prefix)\&. For each configuration file, drop\-in files are looked for in directories with same name as the configuration file with a suffix "\&.d" added\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+The partition table already existing on the block device is loaded and parsed\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 3." 4.2
+.\}
+The existing partitions in the partition table are matched up with the
+repart\&.d/*\&.conf
+files by GPT partition type UUID\&. The first existing partition of a specific type is assigned the first configuration file declaring the same type\&. The second existing partition of a specific type is then assigned the second configuration file declaring the same type, and so on\&. After this iterative assigning is complete any left\-over existing partitions that have no matching configuration file are considered "foreign" and left as they are\&. And any configuration files for which no partition currently exists are understood as a request to create such a partition\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 4.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 4." 4.2
+.\}
+Partitions that shall be created are now allocated on the disk, taking the size constraints and weights declared in the configuration files into account\&. Free space is used within the limits set by size and padding requests\&. In addition, existing partitions that should be grown are grown\&. New partitions are always appended to the end of the partition table, taking the first partition table slot whose index is greater than the indexes of all existing partitions\&. Partitions are never reordered and thus partition numbers remain stable\&. When partitions are created, they are placed in the smallest area of free space that is large enough to satisfy the size and padding limits\&. This means that partitions might have different order on disk than in the partition table\&. Note that this allocation happens in memory only, the partition table on disk is not updated yet\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 5.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 5." 4.2
+.\}
+All existing partitions for which configuration files exist and which currently have no GPT partition label set will be assigned a label, either explicitly configured in the configuration or \(em if that\*(Aqs missing \(em derived automatically from the partition type\&. The same is done for all partitions that are newly created\&. These assignments are done in memory only, too, the disk is not updated yet\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 6.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 6." 4.2
+.\}
+Similarly, all existing partitions for which configuration files exist and which currently have an all\-zero identifying UUID will be assigned a new UUID\&. This UUID is cryptographically hashed from a common seed value together with the partition type UUID (and a counter in case multiple partitions of the same type are defined), see below\&. The same is done for all partitions that are created anew\&. These assignments are done in memory only, too, the disk is not updated yet\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 7.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 7." 4.2
+.\}
+Similarly, if the disk\*(Aqs volume UUID is all zeroes it is also initialized, also cryptographically hashed from the same common seed value\&. This is done in memory only too\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 8.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 8." 4.2
+.\}
+The disk space assigned to new partitions (i\&.e\&. what was previously free space) is now erased\&. Specifically, all file system signatures are removed, and if the device supports it, the
+\fBBLKDISCARD\fR
+I/O control command is issued to inform the hardware that the space is now empty\&. In addition any "padding" between partitions and at the end of the device is similarly erased\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 9.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 9." 4.2
+.\}
+The new partition table is finally written to disk\&. The kernel is asked to reread the partition table\&.
+.RE
+.PP
+As exception to the normally strictly incremental operation, when called in a special "factory reset" mode,
+\fBsystemd\-repart\fR
+may also be used to erase existing partitions to reset an installation back to vendor defaults\&. This mode of operation is used when either the
+\fB\-\-factory\-reset=yes\fR
+switch is passed on the tool\*(Aqs command line, or the
+\fBsystemd\&.factory_reset=yes\fR
+option specified on the kernel command line, or the
+\fIFactoryReset\fR
+EFI variable (vendor UUID
+\fB8cf2644b\-4b0b\-428f\-9387\-6d876050dc67\fR) is set to "yes"\&. It alters the algorithm above slightly: between the 3rd and the 4th step above any partition marked explicitly via the
+\fIFactoryReset=\fR
+boolean is deleted, and the algorithm restarted, thus immediately re\-creating these partitions anew empty\&.
+.PP
+Note that
+\fBsystemd\-repart\fR
+by default only changes partition tables, it does not create or resize any file systems within these partitions, unless the
+\fIFormat=\fR
+configuration option is specified\&. Also note that there are also separate mechanisms available for this purpose, for example
+\fBsystemd-growfs\fR(8)
+and
+\fBsystemd\-makefs\fR\&.
+.PP
+The UUIDs identifying the new partitions created (or assigned to existing partitions that have no UUID yet), as well as the disk as a whole are hashed cryptographically from a common seed value\&. This seed value is usually the
+\fBmachine-id\fR(5)
+of the system, so that the machine ID reproducibly determines the UUIDs assigned to all partitions\&. If the machine ID cannot be read (or the user passes
+\fB\-\-seed=random\fR, see below) the seed is generated randomly instead, so that the partition UUIDs are also effectively random\&. The seed value may also be set explicitly, formatted as UUID via the
+\fB\-\-seed=\fR
+option\&. By hashing these UUIDs from a common seed images prepared with this tool become reproducible and the result of the algorithm above deterministic\&.
+.PP
+The positional argument should specify the block device to operate on\&. Instead of a block device node path a regular file may be specified too, in which case the command operates on it like it would if a loopback block device node was specified with the file attached\&. If
+\fB\-\-empty=create\fR
+is specified the specified path is created as regular file, which is useful for generating disk images from scratch\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-dry\-run=\fR
+.RS 4
+Takes a boolean\&. If this switch is not specified
+\fB\-\-dry\-run=yes\fR
+is the implied default\&. Controls whether
+systemd\-repart
+executes the requested re\-partition operations or whether it should only show what it would do\&. Unless
+\fB\-\-dry\-run=no\fR
+is specified
+systemd\-repart
+will not actually touch the device\*(Aqs partition table\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-empty=\fR
+.RS 4
+Takes one of
+"refuse",
+"allow",
+"require",
+"force"
+or
+"create"\&. Controls how to operate on block devices that are entirely empty, i\&.e\&. carry no partition table/disk label yet\&. If this switch is not specified the implied default is
+"refuse"\&.
+.sp
+If
+"refuse"
+\fBsystemd\-repart\fR
+requires that the block device it shall operate on already carries a partition table and refuses operation if none is found\&. If
+"allow"
+the command will extend an existing partition table or create a new one if none exists\&. If
+"require"
+the command will create a new partition table if none exists so far, and refuse operation if one already exists\&. If
+"force"
+it will create a fresh partition table unconditionally, erasing the disk fully in effect\&. If
+"force"
+no existing partitions will be taken into account or survive the operation\&. Hence: use with care, this is a great way to lose all your data\&. If
+"create"
+a new loopback file is create under the path passed via the device node parameter, of the size indicated with
+\fB\-\-size=\fR, see below\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-discard=\fR
+.RS 4
+Takes a boolean\&. If this switch is not specified
+\fB\-\-discard=yes\fR
+is the implied default\&. Controls whether to issue the
+\fBBLKDISCARD\fR
+I/O control command on the space taken up by any added partitions or on the space in between them\&. Usually, it\*(Aqs a good idea to issue this request since it tells the underlying hardware that the covered blocks shall be considered empty, improving performance\&. If operating on a regular file instead of a block device node, a sparse file is generated\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-size=\fR
+.RS 4
+Takes a size in bytes, using the usual K, M, G, T suffixes, or the special value
+"auto"\&. If used the specified device node path must refer to a regular file, which is then grown to the specified size if smaller, before any change is made to the partition table\&. If specified as
+"auto"
+the minimal size for the disk image is automatically determined (i\&.e\&. the minimal sizes of all partitions are summed up, taking space for additional metadata into account)\&. This switch is not supported if the specified node is a block device\&. This switch has no effect if the file is already as large as the specified size or larger\&. The specified size is implicitly rounded up to multiples of 4096\&. When used with
+\fB\-\-empty=create\fR
+this specifies the initial size of the loopback file to create\&.
+.sp
+The
+\fB\-\-size=auto\fR
+option takes the sizes of pre\-existing partitions into account\&. However, it does not accommodate for partition tables that are not tightly packed: the configured partitions might still not fit into the backing device if empty space exists between pre\-existing partitions (or before the first partition) that cannot be fully filled by partitions to grow or create\&.
+.sp
+Also note that the automatic size determination does not take files or directories specified with
+\fBCopyFiles=\fR
+into account: operation might fail if the specified files or directories require more disk space then the configured per\-partition minimal size limit\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+\fB\-\-factory\-reset=\fR
+.RS 4
+Takes boolean\&. If this switch is not specified
+\fB\-\-factory=reset=no\fR
+is the implied default\&. Controls whether to operate in "factory reset" mode, see above\&. If set to true this will remove all existing partitions marked with
+\fIFactoryReset=\fR
+set to yes early while executing the re\-partitioning algorithm\&. Use with care, this is a great way to lose all your data\&. Note that partition files need to explicitly turn
+\fIFactoryReset=\fR
+on, as the option defaults to off\&. If no partitions are marked for factory reset this switch has no effect\&. Note that there are two other methods to request factory reset operation: via the kernel command line and via an EFI variable, see above\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-can\-factory\-reset\fR
+.RS 4
+If this switch is specified the disk is not re\-partitioned\&. Instead it is determined if any existing partitions are marked with
+\fIFactoryReset=\fR\&. If there are the tool will exit with exit status zero, otherwise non\-zero\&. This switch may be used to quickly determine whether the running system supports a factory reset mechanism built on
+\fBsystemd\-repart\fR\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-root=\fR
+.RS 4
+Takes a path to a directory to use as root file system when searching for
+repart\&.d/*\&.conf
+files, for the machine ID file to use as seed and for the
+\fICopyFiles=\fR
+and
+\fICopyBlocks=\fR
+source files and directories\&. By default when invoked on the regular system this defaults to the host\*(Aqs root file system
+/\&. If invoked from the initrd this defaults to
+/sysroot/, so that the tool operates on the configuration and machine ID stored in the root file system later transitioned into itself\&.
+.sp
+See
+\fB\-\-copy\-source=\fR
+for a more restricted option that only affects
+\fICopyFiles=\fR\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-image=\fR
+.RS 4
+Takes a path to a disk image file or device to mount and use in a similar fashion to
+\fB\-\-root=\fR, see above\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR
+.RS 4
+Takes an image policy string as argument, as per
+\fBsystemd.image-policy\fR(7)\&. The policy is enforced when operating on the disk image specified via
+\fB\-\-image=\fR, see above\&. If not specified defaults to the
+"*"
+policy, i\&.e\&. all recognized file systems in the image are used\&.
+.RE
+.PP
+\fB\-\-seed=\fR
+.RS 4
+Takes a UUID as argument or the special value
+\fBrandom\fR\&. If a UUID is specified the UUIDs to assign to partitions and the partition table itself are derived via cryptographic hashing from it\&. If not specified it is attempted to read the machine ID from the host (or more precisely, the root directory configured via
+\fB\-\-root=\fR) and use it as seed instead, falling back to a randomized seed otherwise\&. Use
+\fB\-\-seed=random\fR
+to force a randomized seed\&. Explicitly specifying the seed may be used to generated strictly reproducible partition tables\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-pretty=\fR
+.RS 4
+Takes a boolean argument\&. If this switch is not specified, it defaults to on when called from an interactive terminal and off otherwise\&. Controls whether to show a user friendly table and graphic illustrating the changes applied\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-definitions=\fR
+.RS 4
+Takes a file system path\&. If specified the
+*\&.conf
+files are read from the specified directory instead of searching in
+/usr/lib/repart\&.d/*\&.conf,
+/etc/repart\&.d/*\&.conf,
+/run/repart\&.d/*\&.conf\&.
+.sp
+This parameter can be specified multiple times\&.
+.sp
+Added in version 245\&.
+.RE
+.PP
+\fB\-\-key\-file=\fR
+.RS 4
+Takes a file system path\&. Configures the encryption key to use when setting up LUKS2 volumes configured with the
+\fIEncrypt=key\-file\fR
+setting in partition files\&. Should refer to a regular file containing the key, or an
+\fBAF_UNIX\fR
+stream socket in the file system\&. In the latter case a connection is made to it and the key read from it\&. If this switch is not specified the empty key (i\&.e\&. zero length key) is used\&. This behaviour is useful for setting up encrypted partitions during early first boot that receive their user\-supplied password only in a later setup step\&.
+.sp
+Added in version 247\&.
+.RE
+.PP
+\fB\-\-private\-key=\fR
+.RS 4
+Takes a file system path\&. Configures the signing key to use when creating verity signature partitions with the
+\fIVerity=signature\fR
+setting in partition files\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-certificate=\fR
+.RS 4
+Takes a file system path\&. Configures the PEM encoded X\&.509 certificate to use when creating verity signature partitions with the
+\fIVerity=signature\fR
+setting in partition files\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-tpm2\-device=\fR, \fB\-\-tpm2\-pcrs=\fR
+.RS 4
+Configures the TPM2 device and list of PCRs to use for LUKS2 volumes configured with the
+\fIEncrypt=tpm2\fR
+option\&. These options take the same parameters as the identically named options to
+\fBsystemd-cryptenroll\fR(1)
+and have the same effect on partitions where TPM2 enrollment is requested\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fB\-\-tpm2\-device\-key=\fR [PATH], \fB\-\-tpm2\-seal\-key\-handle=\fR [HANDLE]
+.RS 4
+Configures a TPM2 SRK key to bind encryption to\&. See
+\fBsystemd-cryptenroll\fR(1)
+for details on this option\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-tpm2\-public\-key=\fR [PATH], \fB\-\-tpm2\-public\-key\-pcrs=\fR [PCR...]
+.RS 4
+Configures a TPM2 signed PCR policy to bind encryption to\&. See
+\fBsystemd-cryptenroll\fR(1)
+for details on these two options\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-tpm2\-pcrlock=\fR [PATH]
+.RS 4
+Configures a TPM2 pcrlock policy to bind encryption to\&. See
+\fBsystemd-cryptenroll\fR(1)
+for details on this option\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-split=\fR [BOOL]
+.RS 4
+Enables generation of split artifacts from partitions configured with
+\fISplitName=\fR\&. If enabled, for each partition with
+\fISplitName=\fR
+set, a separate output file containing just the contents of that partition is generated\&. The output filename consists of the loopback filename suffixed with the name configured with
+\fISplitName=\fR\&. If the loopback filename ends with
+"\&.raw", the suffix is inserted before the
+"\&.raw"
+extension instead\&.
+.sp
+Note that
+\fB\-\-split\fR
+is independent from
+\fB\-\-dry\-run\fR\&. Even if
+\fB\-\-dry\-run\fR
+is enabled, split artifacts will still be generated from an existing image if
+\fB\-\-split\fR
+is enabled\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-include\-partitions=\fR [PARTITION...], \fB\-\-exclude\-partitions=\fR [PARTITION...]
+.RS 4
+These options specify which partition types
+\fBsystemd\-repart\fR
+should operate on\&. If
+\fB\-\-include\-partitions=\fR
+is used, all partitions that aren\*(Aqt specified are excluded\&. If
+\fB\-\-exclude\-partitions=\fR
+is used, all partitions that are specified are excluded\&. Both options take a comma separated list of GPT partition type UUIDs or identifiers (see
+\fIType=\fR
+in
+\fBrepart.d\fR(5))\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-defer\-partitions=\fR [PARTITION...]
+.RS 4
+This option specifies for which partition types
+\fBsystemd\-repart\fR
+should defer\&. All partitions that are deferred using this option are still taken into account when calculating the sizes and offsets of other partitions, but aren\*(Aqt actually written to the disk image\&. The net effect of this option is that if you run
+\fBsystemd\-repart\fR
+again without this option, the missing partitions will be added as if they had not been deferred the first time
+\fBsystemd\-repart\fR
+was executed\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-sector\-size=\fR [BYTES]
+.RS 4
+This option allows configuring the sector size of the image produced by
+\fBsystemd\-repart\fR\&. It takes a value that is a power of
+"2"
+between
+"512"
+and
+"4096"\&. This option is useful when building images for disks that use a different sector size as the disk on which the image is produced\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fB\-\-architecture=\fR [ARCH]
+.RS 4
+This option allows overriding the architecture used for architecture specific partition types\&. For example, if set to
+"arm64"
+a partition type of
+"root\-x86\-64"
+referenced in
+repart\&.d/
+drop\-ins will be patched dynamically to refer to
+"root\-arm64"
+instead\&. Takes one of
+"alpha",
+"arc",
+"arm",
+"arm64",
+"ia64",
+"loongarch64",
+"mips\-le",
+"mips64\-le",
+"parisc",
+"ppc",
+"ppc64",
+"ppc64\-le",
+"riscv32",
+"riscv64",
+"s390",
+"s390x",
+"tilegx",
+"x86"
+or
+"x86\-64"\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-offline=\fR [BOOL]
+.RS 4
+Instructs
+\fBsystemd\-repart\fR
+to build the image offline\&. Takes a boolean or
+"auto"\&. Defaults to
+"auto"\&. If enabled, the image is built without using loop devices\&. This is useful to build images unprivileged or when loop devices are not available\&. If disabled, the image is always built using loop devices\&. If
+"auto",
+\fBsystemd\-repart\fR
+will build the image online if possible and fall back to building the image offline if loop devices are not available or cannot be accessed due to missing permissions\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-copy\-from=\fR [IMAGE]
+.RS 4
+Instructs
+\fBsystemd\-repart\fR
+to synthesize partition definitions from the partition table in the given image\&. This option can be specified multiple times to synthesize definitions from each of the given images\&. The generated definitions will copy the partitions into the destination partition table\&. The copied partitions will have the same size, metadata and contents but might have a different partition number and might be located at a different offset in the destination partition table\&. These definitions can be combined with partition definitions read from regular partition definition files\&. The synthesized definitions take precedence over the definitions read from partition definition files\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-copy\-source=\fR\fIPATH\fR, \fB\-s\fR \fIPATH\fR
+.RS 4
+Specifies a source directory all
+\fICopyFiles=\fR
+source paths shall be considered relative to\&. This is similar to
+\fB\-\-root=\fR, but exclusively applies to the
+\fICopyFiles=\fR
+setting\&. If
+\fB\-\-root=\fR
+and
+\fB\-\-copy\-source=\fR
+are used in combination the former applies as usual, except for
+\fICopyFiles=\fR
+where the latter takes precedence\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-make\-ddi=\fR\fITYPE\fR
+.RS 4
+Takes one of
+"sysext",
+"confext"
+or
+"portable"\&. Generates a Discoverable Disk Image (DDI) for a system extension (sysext, see
+\fBsystemd-sysext\fR(8)
+for details), configuration extension (confext) or
+\m[blue]\fBportable service\fR\m[]\&\s-2\u[1]\d\s+2\&. The generated image will consist of a signed Verity
+"erofs"
+file system as root partition\&. In this mode of operation the partition definitions in
+/usr/lib/repart\&.d/*\&.conf
+and related directories are not read, and
+\fB\-\-definitions=\fR
+is not supported, as appropriate definitions for the selected DDI class will be chosen automatically\&.
+.sp
+Must be used in conjunction with
+\fB\-\-copy\-source=\fR
+to specify the file hierarchy to populate the DDI with\&. The specified directory should contain an
+etc/
+subdirectory if
+"confext"
+is selected\&. If
+"sysext"
+is selected it should contain either a
+usr/
+or
+opt/
+directory, or both\&. If
+"portable"
+is used a full OS file hierarchy can be provided\&.
+.sp
+This option implies
+\fB\-\-empty=create\fR,
+\fB\-\-size=auto\fR
+and
+\fB\-\-seed=random\fR
+(the latter two can be overridden)\&.
+.sp
+The private key and certificate for signing the DDI must be specified via the
+\fB\-\-private\-key=\fR
+and
+\fB\-\-certificate=\fR
+switches\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-S\fR, \fB\-C\fR, \fB\-P\fR
+.RS 4
+Shortcuts for
+\fB\-\-make\-ddi=sysext\fR,
+\fB\-\-make\-ddi=confext\fR,
+\fB\-\-make\-ddi=portable\fR, respectively\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-\-no\-legend\fR
+.RS 4
+Do not print the legend, i\&.e\&. column headers and the footer with hints\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Shows output formatted as JSON\&. Expects one of
+"short"
+(for the shortest possible output without any redundant whitespace or line breaks),
+"pretty"
+(for a pretty version of the same, with indentation and line breaks) or
+"off"
+(to turn off JSON output, the default)\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "EXAMPLE"
+.PP
+\fBExample\ \&1.\ \&Generate a configuration extension image\fR
+.PP
+The following creates a configuration extension DDI (confext) for an
+/etc/motd
+update\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+mkdir tree tree/etc tree/etc/extension\-release\&.d
+echo "Hello World" > tree/etc/motd
+cat > tree/etc/extension\-release\&.d/extension\-release\&.my\-motd <<EOF
+ID=fedora
+VERSION_ID=38
+IMAGE_ID=my\-motd
+IMAGE_VERSION=7
+EOF
+systemd\-repart \-C \-\-private\-key=privkey\&.pem \-\-certificate=cert\&.crt \-s tree/ /var/lib/confexts/my\-motd\&.confext\&.raw
+systemd\-confext refresh
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+The DDI generated that way may be applied to the system with
+\fBsystemd-confext\fR(1)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBrepart.d\fR(5),
+\fBmachine-id\fR(5),
+\fBsystemd-cryptenroll\fR(1),
+\fBportablectl\fR(1),
+\fBsystemd-sysext\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+portable service
+.RS 4
+\%https://systemd.io/PORTABLE_SERVICES
+.RE
diff --git a/upstream/fedora-40/man8/systemd-resolved.service.8 b/upstream/fedora-40/man8/systemd-resolved.service.8
new file mode 100644
index 00000000..86ed8074
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-resolved.service.8
@@ -0,0 +1,800 @@
+'\" t
+.TH "SYSTEMD\-RESOLVED\&.SERVICE" "8" "" "systemd 255" "systemd-resolved.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-resolved.service, systemd-resolved \- Network Name Resolution manager
+.SH "SYNOPSIS"
+.PP
+systemd\-resolved\&.service
+.PP
+/usr/lib/systemd/systemd\-resolved
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-resolved\fR
+is a system service that provides network name resolution to local applications\&. It implements a caching and validating DNS/DNSSEC stub resolver, as well as an LLMNR and MulticastDNS resolver and responder\&. Local applications may submit network name resolution requests via three interfaces:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The native, fully\-featured API
+\fBsystemd\-resolved\fR
+exposes on the bus, see
+\fBorg.freedesktop.resolve1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)
+for details\&. Usage of this API is generally recommended to clients as it is asynchronous and fully featured (for example, properly returns DNSSEC validation status and interface scope for addresses as necessary for supporting link\-local networking)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The glibc
+\fBgetaddrinfo\fR(3)
+API as defined by
+\m[blue]\fBRFC3493\fR\m[]\&\s-2\u[1]\d\s+2
+and its related resolver functions, including
+\fBgethostbyname\fR(3)\&. This API is widely supported, including beyond the Linux platform\&. In its current form it does not expose DNSSEC validation status information however, and is synchronous only\&. This API is backed by the glibc Name Service Switch (\fBnss\fR(5))\&. Usage of the glibc NSS module
+\fBnss-resolve\fR(8)
+is required in order to allow glibc\*(Aqs NSS resolver functions to resolve hostnames via
+\fBsystemd\-resolved\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Additionally,
+\fBsystemd\-resolved\fR
+provides a local DNS stub listener on the IP addresses 127\&.0\&.0\&.53 and 127\&.0\&.0\&.54 on the local loopback interface\&. Programs issuing DNS requests directly, bypassing any local API may be directed to this stub, in order to connect them to
+\fBsystemd\-resolved\fR\&. Note however that it is strongly recommended that local programs use the glibc NSS or bus APIs instead (as described above), as various network resolution concepts (such as link\-local addressing, or LLMNR Unicode domains) cannot be mapped to the unicast DNS protocol\&.
+.sp
+The DNS stub resolver on 127\&.0\&.0\&.53 provides the full feature set of the local resolver, which includes offering LLMNR/MulticastDNS resolution\&. The DNS stub resolver on 127\&.0\&.0\&.54 provides a more limited resolver, that operates in "proxy" mode only, i\&.e\&. it will pass most DNS messages relatively unmodified to the current upstream DNS servers and back, but not try to process the messages locally, and hence does not validate DNSSEC, or offer up LLMNR/MulticastDNS\&. (It will translate to DNS\-over\-TLS communication if needed however\&.)
+.RE
+.PP
+The DNS servers contacted are determined from the global settings in
+/etc/systemd/resolved\&.conf, the per\-link static settings in
+/etc/systemd/network/*\&.network
+files (in case
+\fBsystemd-networkd.service\fR(8)
+is used), the per\-link dynamic settings received over DHCP, information provided via
+\fBresolvectl\fR(1), and any DNS server information made available by other system services\&. See
+\fBresolved.conf\fR(5)
+and
+\fBsystemd.network\fR(5)
+for details about systemd\*(Aqs own configuration files for DNS servers\&. To improve compatibility,
+/etc/resolv\&.conf
+is read in order to discover configured system DNS servers, but only if it is not a symlink to
+/run/systemd/resolve/stub\-resolv\&.conf,
+/usr/lib/systemd/resolv\&.conf
+or
+/run/systemd/resolve/resolv\&.conf
+(see below)\&.
+.SH "SYNTHETIC RECORDS"
+.PP
+\fBsystemd\-resolved\fR
+synthesizes DNS resource records (RRs) for the following cases:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The local, configured hostname is resolved to all locally configured IP addresses ordered by their scope, or \(em if none are configured \(em the IPv4 address 127\&.0\&.0\&.2 (which is on the local loopback interface) and the IPv6 address ::1 (which is the local host)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostnames
+"localhost"
+and
+"localhost\&.localdomain"
+as well as any hostname ending in
+"\&.localhost"
+or
+"\&.localhost\&.localdomain"
+are resolved to the IP addresses 127\&.0\&.0\&.1 and ::1\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostname
+"_gateway"
+is resolved to all current default routing gateway addresses, ordered by their metric\&. This assigns a stable hostname to the current gateway, useful for referencing it independently of the current network configuration state\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostname
+"_outbound"
+is resolved to the local IPv4 and IPv6 addresses that are most likely used for communication with other hosts\&. This is determined by requesting a routing decision to the configured default gateways from the kernel and then using the local IP addresses selected by this decision\&. This hostname is only available if there is at least one local default gateway configured\&. This assigns a stable hostname to the local outbound IP addresses, useful for referencing them independently of the current network configuration state\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostname
+"_localdnsstub"
+is resolved to the IP address 127\&.0\&.0\&.53, i\&.e\&. the address the local DNS stub (see above) is listening on\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hostname
+"_localdnsproxy"
+is resolved to the IP address 127\&.0\&.0\&.54, i\&.e\&. the address the local DNS proxy (see above) is listening on\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The mappings defined in
+/etc/hosts
+are resolved to their configured addresses and back, but they will not affect lookups for non\-address types (like MX)\&. Support for
+/etc/hosts
+may be disabled with
+\fIReadEtcHosts=no\fR, see
+\fBresolved.conf\fR(5)\&.
+.RE
+.SH "PROTOCOLS AND ROUTING"
+.PP
+The lookup requests that
+systemd\-resolved\&.service
+receives are routed to the available DNS servers, LLMNR, and MulticastDNS interfaces according to the following rules:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Names for which synthetic records are generated (the local hostname,
+"localhost"
+and
+"localdomain", local gateway, as listed in the previous section) and addresses configured in
+/etc/hosts
+are never routed to the network and a reply is sent immediately\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Single\-label names are resolved using LLMNR on all local interfaces where LLMNR is enabled\&. Lookups for IPv4 addresses are only sent via LLMNR on IPv4, and lookups for IPv6 addresses are only sent via LLMNR on IPv6\&. Note that lookups for single\-label synthesized names are not routed to LLMNR, MulticastDNS or unicast DNS\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Queries for the address records (A and AAAA) of single\-label non\-synthesized names are resolved via unicast DNS using search domains\&. For any interface which defines search domains, such look\-ups are routed to the servers defined for that interface, suffixed with each of those search domains\&. When global search domains are defined, such look\-ups are routed to the global servers\&. For each search domain, queries are performed by suffixing the name with each of the search domains in turn\&. Additionally, lookup of single\-label names via unicast DNS may be enabled with the
+\fIResolveUnicastSingleLabel=yes\fR
+setting\&. The details of which servers are queried and how the final reply is chosen are described below\&. Note that this means that address queries for single\-label names are never sent out to remote DNS servers by default, and resolution is only possible if search domains are defined\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Multi\-label names with the domain suffix
+"\&.local"
+are resolved using MulticastDNS on all local interfaces where MulticastDNS is enabled\&. As with LLMNR, IPv4 address lookups are sent via IPv4 and IPv6 address lookups are sent via IPv6\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Queries for multi\-label names are routed via unicast DNS on local interfaces that have a DNS server configured, plus the globally configured DNS servers if there are any\&. Which interfaces are used is determined by the routing logic based on search and route\-only domains, described below\&. Note that by default, lookups for domains with the
+"\&.local"
+suffix are not routed to DNS servers, unless the domain is specified explicitly as routing or search domain for the DNS server and interface\&. This means that on networks where the
+"\&.local"
+domain is defined in a site\-specific DNS server, explicit search or routing domains need to be configured to make lookups work within this DNS domain\&. Note that these days, it\*(Aqs generally recommended to avoid defining
+"\&.local"
+in a DNS server, as
+\m[blue]\fBRFC6762\fR\m[]\&\s-2\u[2]\d\s+2
+reserves this domain for exclusive MulticastDNS use\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Address lookups (reverse lookups) are routed similarly to multi\-label names, with the exception that addresses from the link\-local address range are never routed to unicast DNS and are only resolved using LLMNR and MulticastDNS (when enabled)\&.
+.RE
+.PP
+If lookups are routed to multiple interfaces, the first successful response is returned (thus effectively merging the lookup zones on all matching interfaces)\&. If the lookup failed on all interfaces, the last failing response is returned\&.
+.PP
+Routing of lookups is determined by the per\-interface routing domains (search and route\-only) and global search domains\&. See
+\fBsystemd.network\fR(5)
+and
+\fBresolvectl\fR(1)
+for a description how those settings are set dynamically and the discussion of
+\fIDomains=\fR
+in
+\fBresolved.conf\fR(5)
+for a description of globally configured DNS settings\&.
+.PP
+The following query routing logic applies for unicast DNS lookups initiated by
+systemd\-resolved\&.service:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+If a name to look up matches (that is: is equal to or has as suffix) any of the configured routing domains (search or route\-only) of any link, or the globally configured DNS settings, "best matching" routing domain is determined: the matching one with the most labels\&. The query is then sent to all DNS servers of any links or the globally configured DNS servers associated with this "best matching" routing domain\&. (Note that more than one link might have this same "best matching" routing domain configured, in which case the query is sent to all of them in parallel)\&.
+.sp
+In case of single\-label names, when search domains are defined, the same logic applies, except that the name is first suffixed by each of the search domains in turn\&. Note that this search logic doesn\*(Aqt apply to any names with at least one dot\&. Also see the discussion about compatibility with the traditional glibc resolver below\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+If a query does not match any configured routing domain (either per\-link or global), it is sent to all DNS servers that are configured on links with the
+\fIDefaultRoute=\fR
+option set, as well as the globally configured DNS server\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+If there is no link configured as
+\fIDefaultRoute=\fR
+and no global DNS server configured, one of the compiled\-in fallback DNS servers is used\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Otherwise the unicast DNS query fails, as no suitable DNS servers can be determined\&.
+.RE
+.PP
+The
+\fIDefaultRoute=\fR
+option is a boolean setting configurable with
+\fBresolvectl\fR
+or in
+\&.network
+files\&. If not set, it is implicitly determined based on the configured DNS domains for a link: if there\*(Aqs a route\-only domain other than
+"~\&.", it defaults to false, otherwise to true\&.
+.PP
+Effectively this means: in order to support single\-label non\-synthesized names, define appropriate search domains\&. In order to preferably route all DNS queries not explicitly matched by routing domain configuration to a specific link, configure a
+"~\&."
+route\-only domain on it\&. This will ensure that other links will not be considered for these queries (unless they too carry such a routing domain)\&. In order to route all such DNS queries to a specific link only if no other link is preferred, set the
+\fIDefaultRoute=\fR
+option for the link to true and do not configure a
+"~\&."
+route\-only domain on it\&. Finally, in order to ensure that a specific link never receives any DNS traffic not matching any of its configured routing domains, set the
+\fIDefaultRoute=\fR
+option for it to false\&.
+.PP
+See
+\fBorg.freedesktop.resolve1\fR(5)
+for information about the D\-Bus APIs
+systemd\-resolved
+provides\&.
+.SH "COMPATIBILITY WITH THE TRADITIONAL GLIBC STUB RESOLVER"
+.PP
+This section provides a short summary of differences in the resolver implemented by
+\fBnss-resolve\fR(8)
+together with
+\fBsystemd\-resolved\fR
+and the traditional stub resolver implemented in
+nss\-dns\&.
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Some names are always resolved internally (see Synthetic Records above)\&. Traditionally they would be resolved by
+nss\-files
+if provided in
+/etc/hosts\&. But note that the details of how a query is constructed are under the control of the client library\&.
+nss\-dns
+will first try to resolve names using search domains and even if those queries are routed to
+systemd\-resolved, it will send them out over the network using the usual rules for multi\-label name routing
+\&\s-2\u[3]\d\s+2\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Single\-label names are not resolved for A and AAAA records using unicast DNS (unless overridden with
+\fIResolveUnicastSingleLabel=\fR, see
+\fBresolved.conf\fR(5))\&. This is similar to the
+\fBno\-tld\-query\fR
+option being set in
+\fBresolv.conf\fR(5)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Search domains are not used for
+\fIsuffixing\fR
+of multi\-label names\&. (Search domains are nevertheless used for lookup
+\fIrouting\fR, for names that were originally specified as single\-label or multi\-label\&.) Any name with at least one dot is always interpreted as a FQDN\&.
+nss\-dns
+would resolve names both as relative (using search domains) and absolute FQDN names\&. Some names would be resolved as relative first, and after that query has failed, as absolute, while other names would be resolved in opposite order\&. The
+\fIndots\fR
+option in
+/etc/resolv\&.conf
+was used to control how many dots the name needs to have to be resolved as relative first\&. This stub resolver does not implement this at all: multi\-label names are only resolved as FQDNs\&.\&\s-2\u[4]\d\s+2
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+This resolver has a notion of the special
+"\&.local"
+domain used for MulticastDNS, and will not route queries with that suffix to unicast DNS servers unless explicitly configured, see above\&. Also, reverse lookups for link\-local addresses are not sent to unicast DNS servers\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+This resolver reads and caches
+/etc/hosts
+internally\&. (In other words,
+nss\-resolve
+replaces
+nss\-files
+in addition to
+nss\-dns)\&. Entries in
+/etc/hosts
+have highest priority\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+This resolver also implements LLMNR and MulticastDNS in addition to the classic unicast DNS protocol, and will resolve single\-label names using LLMNR (when enabled) and names ending in
+"\&.local"
+using MulticastDNS (when enabled)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Environment variables
+\fI$LOCALDOMAIN\fR
+and
+\fI$RES_OPTIONS\fR
+described in
+\fBresolv.conf\fR(5)
+are not supported currently\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The
+nss\-dns
+resolver maintains little state between subsequent DNS queries, and for each query always talks to the first listed DNS server from
+/etc/resolv\&.conf
+first, and on failure continues with the next until reaching the end of the list which is when the query fails\&. The resolver in
+systemd\-resolved\&.service
+however maintains state, and will continuously talk to the same server for all queries on a particular lookup scope until some form of error is seen at which point it switches to the next, and then continuously stays with it for all queries on the scope until the next failure, and so on, eventually returning to the first configured server\&. This is done to optimize lookup times, in particular given that the resolver typically must first probe server feature sets when talking to a server, which is time consuming\&. This different behaviour implies that listed DNS servers per lookup scope must be equivalent in the zones they serve, so that sending a query to one of them will yield the same results as sending it to another configured DNS server\&.
+.RE
+.SH "/ETC/RESOLV\&.CONF"
+.PP
+Four modes of handling
+/etc/resolv\&.conf
+(see
+\fBresolv.conf\fR(5)) are supported:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBsystemd\-resolved\fR
+maintains the
+/run/systemd/resolve/stub\-resolv\&.conf
+file for compatibility with traditional Linux programs\&. This file lists the 127\&.0\&.0\&.53 DNS stub (see above) as the only DNS server\&. It also contains a list of search domains that are in use by systemd\-resolved\&. The list of search domains is always kept up\-to\-date\&. Note that
+/run/systemd/resolve/stub\-resolv\&.conf
+should not be used directly by applications, but only through a symlink from
+/etc/resolv\&.conf\&. This file may be symlinked from
+/etc/resolv\&.conf
+in order to connect all local clients that bypass local DNS APIs to
+\fBsystemd\-resolved\fR
+with correct search domains settings\&. This mode of operation is recommended\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A static file
+/usr/lib/systemd/resolv\&.conf
+is provided that lists the 127\&.0\&.0\&.53 DNS stub (see above) as only DNS server\&. This file may be symlinked from
+/etc/resolv\&.conf
+in order to connect all local clients that bypass local DNS APIs to
+\fBsystemd\-resolved\fR\&. This file does not contain any search domains\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fBsystemd\-resolved\fR
+maintains the
+/run/systemd/resolve/resolv\&.conf
+file for compatibility with traditional Linux programs\&. This file may be symlinked from
+/etc/resolv\&.conf
+and is always kept up\-to\-date, containing information about all known DNS servers\&. Note the file format\*(Aqs limitations: it does not know a concept of per\-interface DNS servers and hence only contains system\-wide DNS server definitions\&. Note that
+/run/systemd/resolve/resolv\&.conf
+should not be used directly by applications, but only through a symlink from
+/etc/resolv\&.conf\&. If this mode of operation is used local clients that bypass any local DNS API will also bypass
+\fBsystemd\-resolved\fR
+and will talk directly to the known DNS servers\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Alternatively,
+/etc/resolv\&.conf
+may be managed by other packages, in which case
+\fBsystemd\-resolved\fR
+will read it for DNS configuration data\&. In this mode of operation
+\fBsystemd\-resolved\fR
+is consumer rather than provider of this configuration file\&.
+.RE
+.PP
+Note that the selected mode of operation for this file is detected fully automatically, depending on whether
+/etc/resolv\&.conf
+is a symlink to
+/run/systemd/resolve/resolv\&.conf
+or lists 127\&.0\&.0\&.53 as DNS server\&.
+.SH "SIGNALS"
+.PP
+\fBSIGUSR1\fR
+.RS 4
+Upon reception of the
+\fBSIGUSR1\fR
+process signal
+\fBsystemd\-resolved\fR
+will dump the contents of all DNS resource record caches it maintains, as well as all feature level information it learnt about configured DNS servers into the system logs\&.
+.sp
+Added in version 231\&.
+.RE
+.PP
+\fBSIGUSR2\fR
+.RS 4
+Upon reception of the
+\fBSIGUSR2\fR
+process signal
+\fBsystemd\-resolved\fR
+will flush all caches it maintains\&. Note that it should normally not be necessary to request this explicitly \(en except for debugging purposes \(en as
+\fBsystemd\-resolved\fR
+flushes the caches automatically anyway any time the host\*(Aqs network configuration changes\&. Sending this signal to
+\fBsystemd\-resolved\fR
+is equivalent to the
+\fBresolvectl flush\-caches\fR
+command, however the latter is recommended since it operates in a synchronous way\&.
+.sp
+Added in version 231\&.
+.RE
+.PP
+\fBSIGRTMIN+1\fR
+.RS 4
+Upon reception of the
+\fBSIGRTMIN+1\fR
+process signal
+\fBsystemd\-resolved\fR
+will forget everything it learnt about the configured DNS servers\&. Specifically any information about server feature support is flushed out, and the server feature probing logic is restarted on the next request, starting with the most fully featured level\&. Note that it should normally not be necessary to request this explicitly \(en except for debugging purposes \(en as
+\fBsystemd\-resolved\fR
+automatically forgets learnt information any time the DNS server configuration changes\&. Sending this signal to
+\fBsystemd\-resolved\fR
+is equivalent to the
+\fBresolvectl reset\-server\-features\fR
+command, however the latter is recommended since it operates in a synchronous way\&.
+.sp
+Added in version 235\&.
+.RE
+.SH "CREDENTIALS"
+.PP
+\fBsystemd\-resolved\fR
+supports the service credentials logic as implemented by
+\fIImportCredential=\fR/\fILoadCredential=\fR/\fISetCredential=\fR
+(see
+\fBsystemd.exec\fR(5)
+for details)\&. The following credentials are used when passed in:
+.PP
+\fInetwork\&.dns\fR, \fInetwork\&.search_domains\fR
+.RS 4
+May contain a space separated list of DNS server IP addresses and DNS search domains\&. This information is only used when no explicit configuration via
+/etc/systemd/resolved\&.conf,
+/etc/resolv\&.conf
+or the kernel command line has been provided\&.
+.sp
+Added in version 253\&.
+.RE
+.SH "KERNEL COMMAND LINE"
+.PP
+\fBsystemd\-resolved\fR
+also honours two kernel command line options:
+.PP
+\fInameserver=\fR, \fIdomain=\fR
+.RS 4
+Takes the IP address of a DNS server (in case of
+\fInameserver=\fR), and a DNS search domain (in case of
+\fIdomain=\fR)\&. May be used multiple times, to define multiple DNS servers/search domains\&. If either of these options are specified
+/etc/resolv\&.conf
+will not be read and the
+\fIDNS=\fR
+and
+\fIDomains=\fR
+settings of
+\fBresolved.conf\fR(5)
+will be ignored\&. These two kernel command line options hence override system configuration\&.
+.sp
+Added in version 253\&.
+.RE
+.SH "IP PORTS"
+.PP
+The
+\fBsystemd\-resolved\fR
+service listens on the following IP ports:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Port 53 on IPv4 addresses 127\&.0\&.0\&.53 and 127\&.0\&.0\&.54 (both are on the local loopback interface
+"lo")\&. This is the local DNS stub, as discussed above\&. Both UDP and TCP are covered\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Port 5353 on all local addresses, both IPv4 and IPv6 (0\&.0\&.0\&.0 and ::0), for MulticastDNS on UDP\&. Note that even though the socket is bound to all local interfaces via the selected "wildcard" IP addresses, the incoming datagrams are filtered by the network interface they are coming in on, and separate MulticastDNS link\-local scopes are maintained for each, taking into consideration whether MulticastDNS is enabled for the interface or not\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Port 5355 on all local addresses, both IPv4 and IP6 (0\&.0\&.0\&.0 and ::0), for LLMNR, on both TCP and UDP\&. As with MulticastDNS filtering by incoming network interface is applied\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBresolved.conf\fR(5),
+\fBdnssec-trust-anchors.d\fR(5),
+\fBnss-resolve\fR(8),
+\fBresolvectl\fR(1),
+\fBresolv.conf\fR(5),
+\fBhosts\fR(5),
+\fBsystemd.network\fR(5),
+\fBsystemd-networkd.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+RFC3493
+.RS 4
+\%https://tools.ietf.org/html/rfc3493
+.RE
+.IP " 2." 4
+RFC6762
+.RS 4
+\%https://tools.ietf.org/html/rfc6762
+.RE
+.IP " 3." 4
+For example, if
+/etc/resolv.conf
+has
+.sp
+.RS 4
+.if n \{\
+.RS 4
+.\}
+.nf
+nameserver 127.0.0.53
+search foobar.com barbar.com
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+and we look up
+"localhost",
+nss-dns
+will send the following queries to
+systemd-resolved
+listening on 127.0.0.53:53: first
+"localhost.foobar.com", then
+"localhost.barbar.com", and finally
+"localhost". If (hopefully) the first two queries fail,
+systemd-resolved
+will synthesize an answer for the third query.
+.RE
+.sp
+.RS 4n
+When using
+nss-dns
+with any search domains, it is thus crucial to always configure
+nss-files
+with higher priority and provide mappings for names that should not be resolved using search domains.
+.RE
+.IP " 4." 4
+There are currently more than 1500 top-level domain names defined, and new ones are added regularly, often using "attractive" names that are also likely to be used locally. Not looking up multi-label names in this fashion avoids fragility in both directions: a valid global name could be obscured by a local name, and resolution of a relative local name could suddenly break when a new top-level domain is created, or when a new subdomain of a top-level domain in registered. Resolving any given name as either relative or absolute avoids this ambiguity.
+
diff --git a/upstream/fedora-40/man8/systemd-rfkill.service.8 b/upstream/fedora-40/man8/systemd-rfkill.service.8
new file mode 100644
index 00000000..17a091d7
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-rfkill.service.8
@@ -0,0 +1,51 @@
+'\" t
+.TH "SYSTEMD\-RFKILL\&.SERVICE" "8" "" "systemd 255" "systemd-rfkill.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-rfkill.service, systemd-rfkill.socket, systemd-rfkill \- Load and save the RF kill switch state at boot and change
+.SH "SYNOPSIS"
+.PP
+systemd\-rfkill\&.service
+.PP
+systemd\-rfkill\&.socket
+.PP
+/usr/lib/systemd/systemd\-rfkill
+.SH "DESCRIPTION"
+.PP
+systemd\-rfkill\&.service
+is a service that restores the RF kill switch state at early boot and saves it on each change\&. On disk, the RF kill switch state is stored in
+/var/lib/systemd/rfkill/\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+systemd\-rfkill
+understands the following kernel command line parameter:
+.PP
+\fIsystemd\&.restore_state=\fR
+.RS 4
+Takes a boolean argument\&. Defaults to
+"1"\&. If
+"0", does not restore the rfkill settings on boot\&. However, settings will still be stored on shutdown\&.
+.sp
+Added in version 227\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-run-generator.8 b/upstream/fedora-40/man8/systemd-run-generator.8
new file mode 100644
index 00000000..759d7647
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-run-generator.8
@@ -0,0 +1,89 @@
+'\" t
+.TH "SYSTEMD\-RUN\-GENERATOR" "8" "" "systemd 255" "systemd-run-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-run-generator \- Generator for invoking commands specified on the kernel command line as system service
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-run\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-run\-generator
+is a generator that reads the kernel command line and understands three options:
+.PP
+If the
+\fBsystemd\&.run=\fR
+option is specified and followed by a command line, a unit named
+kernel\-command\-line\&.service
+is generated for it and booted into\&. The service has
+\fIType=oneshot\fR
+set, and has
+\fISuccessAction=exit\fR
+and
+\fIFailureAction=exit\fR
+configured by default, thus ensuring that the system is shut down as soon as the command completes\&. The exit status of the command line is propagated to the invoking container manager, if this applies (which might propagate this further, to the calling shell \(em e\&.g\&.
+\fBsystemd-nspawn\fR(7)
+does this)\&. If this option is used multiple times the unit file will contain multiple
+\fIExecStart=\fR
+lines, to execute all commands in order\&. The command is started as regular service, i\&.e\&. with
+\fIDefaultDependencies=\fR
+on\&.
+.PP
+Use
+\fBsystemd\&.run_success_action=\fR
+and
+\fBsystemd\&.run_failure_action=\fR
+to tweak how to react to the process completing\&. In particular assigning
+"none"
+will leave the system running after the command completes\&. For further details on supported arguments, see
+\fBsystemd.unit\fR(5)\&.
+.PP
+systemd\-run\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "EXAMPLE"
+.PP
+Use a command like the following to add a user to the user database inside a container run with
+\fBsystemd-nspawn\fR(7):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# systemd\-nspawn \-D mycontainer \-b systemd\&.run=\*(Aq"adduser test"\*(Aq
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(Note the requirement for double quoting in the command line above\&. The first level of quoting (\*(Aq\*(Aq) is processed and removed by the command shell used to invoke
+\fBsystemd\-nspawn\fR\&. The second level of quoting ("") is propagated to the kernel command line of the container and processed and removed by
+\fBsystemd\-run\-generator\fR\&. Both together make sure both words of the specified command line
+\fBadduser test\fR
+end up in the generated unit file together and are neither split apart by the command shell nor by the generator\&.)
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBkernel-command-line\fR(7),
+\fBsystemd-nspawn\fR(7),
+\fBsystemd.unit\fR(5),
+\fBsystemd.service\fR(5)
diff --git a/upstream/fedora-40/man8/systemd-socket-proxyd.8 b/upstream/fedora-40/man8/systemd-socket-proxyd.8
new file mode 100644
index 00000000..ef77126a
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-socket-proxyd.8
@@ -0,0 +1,238 @@
+'\" t
+.TH "SYSTEMD\-SOCKET\-PROXYD" "8" "" "systemd 255" "systemd-socket-proxyd"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-socket-proxyd \- Bidirectionally proxy local sockets to another (possibly remote) socket
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-socket\-proxyd\fR\ 'u
+\fBsystemd\-socket\-proxyd\fR [\fIOPTIONS\fR...] \fIHOST\fR:\fIPORT\fR
+.HP \w'\fBsystemd\-socket\-proxyd\fR\ 'u
+\fBsystemd\-socket\-proxyd\fR [\fIOPTIONS\fR...] \fIUNIX\-DOMAIN\-SOCKET\-PATH\fR
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-socket\-proxyd\fR
+is a generic socket\-activated network socket forwarder proxy daemon for IPv4, IPv6 and UNIX stream sockets\&. It may be used to bi\-directionally forward traffic from a local listening socket to a local or remote destination socket\&.
+.PP
+One use of this tool is to provide socket activation support for services that do not natively support socket activation\&. On behalf of the service to activate, the proxy inherits the socket from systemd, accepts each client connection, opens a connection to a configured server for each client, and then bidirectionally forwards data between the two\&.
+.PP
+This utility\*(Aqs behavior is similar to
+\fBsocat\fR(1)\&. The main differences for
+\fBsystemd\-socket\-proxyd\fR
+are support for socket activation with
+"Accept=no"
+and an event\-driven design that scales better with the number of connections\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.PP
+\fB\-\-connections\-max=\fR, \fB\-c\fR
+.RS 4
+Sets the maximum number of simultaneous connections, defaults to 256\&. If the limit of concurrent connections is reached further connections will be refused\&.
+.sp
+Added in version 233\&.
+.RE
+.PP
+\fB\-\-exit\-idle\-time=\fR
+.RS 4
+Sets the time before exiting when there are no connections, defaults to
+\fBinfinity\fR\&. Takes a unit\-less value in seconds, or a time span value such as
+"5min 20s"\&.
+.sp
+Added in version 246\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "EXAMPLES"
+.SS "Simple Example"
+.PP
+Use two services with a dependency and no namespace isolation\&.
+.PP
+\fBExample\ \&1.\ \&proxy\-to\-nginx\&.socket\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[Socket]
+ListenStream=80
+
+[Install]
+WantedBy=sockets\&.target
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&2.\ \&proxy\-to\-nginx\&.service\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[Unit]
+Requires=nginx\&.service
+After=nginx\&.service
+Requires=proxy\-to\-nginx\&.socket
+After=proxy\-to\-nginx\&.socket
+
+[Service]
+Type=notify
+ExecStart=/usr/lib/systemd/systemd\-socket\-proxyd /run/nginx/socket
+PrivateTmp=yes
+PrivateNetwork=yes
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&3.\ \&nginx\&.conf\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[\&...]
+server {
+ listen unix:/run/nginx/socket;
+ [\&...]
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&4.\ \&Enabling the proxy\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# systemctl enable \-\-now proxy\-to\-nginx\&.socket
+$ curl http://localhost:80/
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+If
+nginx\&.service
+has
+\fIStopWhenUnneeded=\fR
+set, then passing
+\fB\-\-exit\-idle\-time=\fR
+to
+\fBsystemd\-socket\-proxyd\fR
+allows both services to stop during idle periods\&.
+.SS "Namespace Example"
+.PP
+Similar as above, but runs the socket proxy and the main service in the same private namespace, assuming that
+nginx\&.service
+has
+\fIPrivateTmp=\fR
+and
+\fIPrivateNetwork=\fR
+set, too\&.
+.PP
+\fBExample\ \&5.\ \&proxy\-to\-nginx\&.socket\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[Socket]
+ListenStream=80
+
+[Install]
+WantedBy=sockets\&.target
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&6.\ \&proxy\-to\-nginx\&.service\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[Unit]
+Requires=nginx\&.service
+After=nginx\&.service
+Requires=proxy\-to\-nginx\&.socket
+After=proxy\-to\-nginx\&.socket
+JoinsNamespaceOf=nginx\&.service
+
+[Service]
+Type=notify
+ExecStart=/usr/lib/systemd/systemd\-socket\-proxyd 127\&.0\&.0\&.1:8080
+PrivateTmp=yes
+PrivateNetwork=yes
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&7.\ \&nginx\&.conf\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[\&...]
+server {
+ listen 8080;
+ [\&...]
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&8.\ \&Enabling the proxy\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# systemctl enable \-\-now proxy\-to\-nginx\&.socket
+$ curl http://localhost:80/
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.socket\fR(5),
+\fBsystemd.service\fR(5),
+\fBsystemctl\fR(1),
+\fBsocat\fR(1),
+\fBnginx\fR(1),
+\fBcurl\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-soft-reboot.service.8 b/upstream/fedora-40/man8/systemd-soft-reboot.service.8
new file mode 100644
index 00000000..33b4ff5f
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-soft-reboot.service.8
@@ -0,0 +1,305 @@
+'\" t
+.TH "SYSTEMD\-SOFT\-REBOOT\&.SERVICE" "8" "" "systemd 255" "systemd-soft-reboot.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-soft-reboot.service \- Userspace reboot operation
+.SH "SYNOPSIS"
+.PP
+systemd\-soft\-reboot\&.service
+.SH "DESCRIPTION"
+.PP
+systemd\-soft\-reboot\&.service
+is a system service that is pulled in by
+soft\-reboot\&.target
+and is responsible for performing a userspace\-only reboot operation\&. When invoked, it will send the
+\fBSIGTERM\fR
+signal to any processes left running (but does not wait for the processes to exit), and follow up with
+\fBSIGKILL\fR\&. If the
+/run/nextroot/
+directory exists (which may be a regular directory, a directory mount point or a symlink to either) then it will switch the file system root to it\&. It then reexecutes the service manager off the (possibly now new) root file system, which will enqueue a new boot transaction as in a normal reboot\&.
+.PP
+Such a userspace\-only reboot operation permits updating or resetting the entirety of userspace with minimal downtime, as the reboot operation does
+\fInot\fR
+transition through:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The second phase of regular shutdown, as implemented by
+\fBsystemd-shutdown\fR(8)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The third phase of regular shutdown, i\&.e\&. the return to the initrd context\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The hardware reboot operation\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The firmware initialization\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The boot loader initialization\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The kernel initialization\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The initrd initialization\&.
+.RE
+.PP
+However this form of reboot comes with drawbacks as well:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The OS update remains incomplete, as the kernel is not reset and continues running\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Kernel settings (such as
+/proc/sys/
+settings, a\&.k\&.a\&. "sysctl", or
+/sys/
+settings) are not reset\&.
+.RE
+.PP
+These limitations may be addressed by various means, which are outside of the scope of this documentation, such as kernel live\-patching and sufficiently comprehensive
+/etc/sysctl\&.d/
+files\&.
+.SH "RESOURCE PASS\-THROUGH"
+.PP
+Various runtime OS resources can passed from a system runtime to the next, through the userspace reboot operation\&. Specifically:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+File descriptors placed in the file descriptor store of services that remain active until the very end are passed to the next boot, where they are placed in the file descriptor store of the same unit\&. For this to work, units must declare
+\fIDefaultDependencies=no\fR
+(and avoid a manual
+\fIConflicts=shutdown\&.target\fR
+or similar) to ensure they are not terminated as usual during the system shutdown operation\&. Alternatively, use
+\fIFileDescriptorStorePreserve=\fR
+to allow the file descriptor store to remain pinned even when the unit is down\&. See
+\fBsystemd.service\fR(5)
+for details about the file descriptor store\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Similar to this, file descriptors associated with
+\&.socket
+units remain open (and connectible) if the units are not stopped during the transition\&. (Achieved by
+\fIDefaultDependencies=no\fR\&.)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The
+/run/
+file system remains mounted and populated and may be used to pass state information between such userspace reboot cycles\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Service processes may continue to run over the transition, past soft\-reboot and into the next session, if they are placed in services that remain active until the very end of shutdown (which again is achieved via
+\fIDefaultDependencies=no\fR)\&. They must also be set up to avoid being killed by the aforementioned
+\fBSIGTERM\fR
+and
+\fBSIGKILL\fR
+via
+\fISurviveFinalKillSignal=yes\fR, and also be configured to avoid being stopped on isolate via
+\fIIgnoreOnIsolate=yes\fR\&. They also have to be configured to be stopped on normal shutdown, reboot and maintenance mode\&. Finally, they have to be ordered after
+\fBbasic\&.target\fR
+to ensure correct ordeering on boot\&. Note that in case any new or custom units are used to isolate to, or that implement an equivalent shutdown functionality, they will also have to be configured manually for correct ordering and conflicting\&. For example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[Unit]
+Description=My surviving service
+SurviveFinalKillSignal=yes
+IgnoreOnIsolate=yes
+DefaultDependencies=no
+After=basic\&.target
+Conflicts=reboot\&.target
+Before=reboot\&.target
+Conflicts=kexec\&.target
+Before=kexec\&.target
+Conflicts=poweroff\&.target
+Before=poweroff\&.target
+Conflicts=halt\&.target
+Before=halt\&.target
+Conflicts=rescue\&.target
+Before=rescue\&.target
+Conflicts=emergency\&.target
+Before=emergency\&.target
+
+[Service]
+Type=oneshot
+ExecStart=sleep infinity
+
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+File system mounts may remain mounted during the transition, and complex storage attached, if configured to remain until the very end of the shutdown process\&. (Also achieved via
+\fIDefaultDependencies=no\fR, and by avoiding
+\fIConflicts=umount\&.target\fR)
+.RE
+.PP
+Even though passing resources from one soft reboot cycle to the next is possible this way, we strongly suggest to use this functionality sparingly only, as it creates a more fragile system as resources from different versions of the OS and applications might be mixed with unforeseen consequences\&. In particular it\*(Aqs recommended to
+\fIavoid\fR
+allowing processes to survive the soft reboot operation, as this means code updates will necessarily be incomplete, and processes typically pin various other resources (such as the file system they are backed by), thus increasing memory usage (as two versions of the OS/application/file system might be kept in memory)\&. Leaving processes running during a soft\-reboot operation requires disconnecting the service comprehensively from the rest of the OS, i\&.e\&. minimizing IPC and reducing sharing of resources with the rest of the OS\&. A possible mechanism to achieve this is the concept of
+\m[blue]\fBPortable Services\fR\m[]\&\s-2\u[1]\d\s+2, but make sure no resource from the host\*(Aqs OS filesystems is pinned via
+\fIBindPaths=\fR
+or similar unit settings, otherwise the old, originating filesystem will remain mounted as long as the unit is running\&.
+.SH "NOTES"
+.PP
+Note that because
+\fBsystemd-shutdown\fR(8)
+is not executed, the executables in
+/usr/lib/systemd/system\-shutdown/
+are not executed either\&.
+.PP
+Note that
+systemd\-soft\-reboot\&.service
+(and related units) should never be executed directly\&. Instead, trigger system shutdown with a command such as
+"systemctl soft\-reboot"\&.
+.PP
+Note that if a new root file system has been set up on
+"/run/nextroot/", a
+\fBsoft\-reboot\fR
+will be performed when the
+\fBreboot\fR
+command is invoked\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBsystemd.special\fR(7),
+\fBsystemd-poweroff.service\fR(8),
+\fBsystemd-suspend.service\fR(8),
+\fBbootup\fR(7)
+.SH "NOTES"
+.IP " 1." 4
+Portable Services
+.RS 4
+\%https://systemd.io/PORTABLE_SERVICES
+.RE
diff --git a/upstream/fedora-40/man8/systemd-storagetm.service.8 b/upstream/fedora-40/man8/systemd-storagetm.service.8
new file mode 100644
index 00000000..2f67cdb1
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-storagetm.service.8
@@ -0,0 +1,89 @@
+'\" t
+.TH "SYSTEMD\-STORAGETM\&.SERVICE" "8" "" "systemd 255" "systemd-storagetm.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-storagetm.service, systemd-storagetm \- Exposes all local block devices as NVMe\-TCP mass storage devices
+.SH "SYNOPSIS"
+.PP
+systemd\-storagetm\&.service
+.HP \w'\fB/usr/lib/systemd/systemd\-storagetm\fR\ 'u
+\fB/usr/lib/systemd/systemd\-storagetm\fR [OPTIONS...] [\fIDEVICE\fR]
+.SH "DESCRIPTION"
+.PP
+systemd\-storagetm\&.service
+is a service that exposes all local block devices as NVMe\-TCP mass storage devices\&. Its primary use\-case is to be invoked by the
+storage\-target\-mode\&.target
+unit that can be booted into\&.
+.PP
+Warning: the NVMe disks are currently exposed without authentication or encryption, in read/write mode\&. This means network peers may read from and write to the device without any restrictions\&. This functionality should hence only be used in a local setup\&.
+.PP
+Note that to function properly networking must be configured too\&. The recommended mechanism to boot into a storage target mode is by adding
+"rd\&.systemd\&.unit=storage\-target\-mode\&.target ip=link\-local"
+on the kernel command line\&. Note that
+"ip=link\-local"
+only configures link\-local IP, i\&.e\&. IPv4LL and IPv6LL, which means non\-routable addresses\&. This is done for security reasons, so that only systems on the local link can access the devices\&. Use
+"ip=dhcp"
+to assign routable addresses too\&. For further details see
+\fBsystemd-network-generator.service\fR(8)\&.
+.PP
+Unless the
+\fB\-\-all\fR
+switch is used expects one or more block devices or regular files to expose via NVMe\-TCP as argument\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-nqn=\fR
+.RS 4
+Takes a string\&. If specified configures the NVMe Qualified Name to use for the exposed NVMe\-TCP mass storage devices\&. The NQN should follow the syntax described in
+\m[blue]\fBNVM Express Base Specification 2\&.0c\fR\m[]\&\s-2\u[1]\d\s+2, section 4\&.5 "NVMe Qualified Names"\&. Note that the NQN specified here will be suffixed with a dot and the the block device name before it is exposed on the NVMe target\&. If not specified defaults to
+"nqn\&.2023\-10\&.io\&.systemd:storagetm\&.\fIID\fR", where ID is replaced by a 128bit ID derived from
+\fBmachine-id\fR(5)\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-all\fR, \fB\-a\fR
+.RS 4
+If specified exposes all local block devices via NVMe\-TCP, current and future (i\&.e\&. it watches block devices come and go and updates the NVMe\-TCP list as needed)\&. Note that by default any block devices that originate on the same block device as the block device backing the current root file system are excluded\&. If the switch is specified twice this safety mechanism is disabled\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.special\fR(7)
+.SH "NOTES"
+.IP " 1." 4
+NVM Express Base Specification 2.0c
+.RS 4
+\%https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-2.0c-2022.10.04-Ratified.pdf
+.RE
diff --git a/upstream/fedora-40/man8/systemd-suspend.service.8 b/upstream/fedora-40/man8/systemd-suspend.service.8
new file mode 100644
index 00000000..1e7b7069
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-suspend.service.8
@@ -0,0 +1,130 @@
+'\" t
+.TH "SYSTEMD\-SUSPEND\&.SERVICE" "8" "" "systemd 255" "systemd-suspend.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-suspend-then-hibernate.service, systemd-sleep \- System sleep state logic
+.SH "SYNOPSIS"
+.PP
+systemd\-suspend\&.service
+.PP
+systemd\-hibernate\&.service
+.PP
+systemd\-hybrid\-sleep\&.service
+.PP
+systemd\-suspend\-then\-hibernate\&.service
+.PP
+/usr/lib/systemd/system\-sleep
+.SH "DESCRIPTION"
+.PP
+systemd\-suspend\&.service
+is a system service that is pulled in by
+suspend\&.target
+and is responsible for the actual system suspend\&. Similarly,
+systemd\-hibernate\&.service
+is pulled in by
+hibernate\&.target
+to execute the actual hibernation\&. Finally,
+systemd\-hybrid\-sleep\&.service
+is pulled in by
+hybrid\-sleep\&.target
+to execute hybrid hibernation with system suspend and pulled in by
+suspend\-then\-hibernate\&.target
+to execute system suspend with a timeout that will activate hibernate later\&.
+.PP
+Immediately before entering system suspend and/or hibernation
+systemd\-suspend\&.service
+(and the other mentioned units, respectively) will run all executables in
+/usr/lib/systemd/system\-sleep/
+and pass two arguments to them\&. The first argument will be
+"pre", the second either
+"suspend",
+"hibernate",
+"hybrid\-sleep", or
+"suspend\-then\-hibernate"
+depending on the chosen action\&. An environment variable called
+"SYSTEMD_SLEEP_ACTION"
+will be set and contain the sleep action that is processing\&. This is primarily helpful for
+"suspend\-then\-hibernate"
+where the value of the variable will be
+"suspend",
+"hibernate", or
+"suspend\-after\-failed\-hibernate"
+in cases where hibernation has failed\&. Immediately after leaving system suspend and/or hibernation the same executables are run, but the first argument is now
+"post"\&. All executables in this directory are executed in parallel, and execution of the action is not continued until all executables have finished\&.
+.PP
+Note that scripts or binaries dropped in
+/usr/lib/systemd/system\-sleep/
+are intended for local use only and should be considered hacks\&. If applications want to react to system suspend/hibernation and resume, they should rather use the
+\m[blue]\fBInhibitor interface\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.PP
+Note that
+systemd\-suspend\&.service,
+systemd\-hibernate\&.service,
+systemd\-hybrid\-sleep\&.service, and
+systemd\-suspend\-then\-hibernate\&.service
+should never be executed directly\&. Instead, trigger system sleep with a command such as
+\fBsystemctl suspend\fR
+or
+\fBsystemctl hibernate\fR\&.
+.PP
+Internally, this service will echo a string like
+"mem"
+into
+/sys/power/state, to trigger the actual system suspend\&. What exactly is written where can be configured in the [Sleep] section of
+/etc/systemd/sleep\&.conf
+or a
+sleep\&.conf\&.d
+file\&. See
+\fBsystemd-sleep.conf\fR(5)\&.
+.SH "OPTIONS"
+.PP
+\fBsystemd\-sleep\fR
+understands the following commands:
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.PP
+\fBsuspend\fR, \fBhibernate\fR, \fBsuspend\-then\-hibernate\fR, \fBhybrid\-sleep\fR
+.RS 4
+Suspend, hibernate, suspend then hibernate, or put the system to hybrid sleep\&.
+.sp
+Added in version 203\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd-sleep.conf\fR(5),
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBsystemd.special\fR(7),
+\fBsystemd-halt.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Inhibitor interface
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/inhibit
+.RE
diff --git a/upstream/fedora-40/man8/systemd-sysctl.service.8 b/upstream/fedora-40/man8/systemd-sysctl.service.8
new file mode 100644
index 00000000..35eeee7c
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-sysctl.service.8
@@ -0,0 +1,184 @@
+'\" t
+.TH "SYSTEMD\-SYSCTL\&.SERVICE" "8" "" "systemd 255" "systemd-sysctl.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-sysctl.service, systemd-sysctl \- Configure kernel parameters at boot
+.SH "SYNOPSIS"
+.HP \w'\fB/usr/lib/systemd/systemd\-sysctl\fR\ 'u
+\fB/usr/lib/systemd/systemd\-sysctl\fR [OPTIONS...] [\fICONFIGFILE\fR...]
+.PP
+systemd\-sysctl\&.service
+.SH "DESCRIPTION"
+.PP
+systemd\-sysctl\&.service
+is an early boot service that configures
+\fBsysctl\fR(8)
+kernel parameters by invoking
+\fB/usr/lib/systemd/systemd\-sysctl\fR\&.
+.PP
+When invoked with no arguments,
+\fB/usr/lib/systemd/systemd\-sysctl\fR
+applies all directives from configuration files listed in
+\fBsysctl.d\fR(5)\&. If one or more filenames are passed on the command line, only the directives in these files are applied\&.
+.PP
+In addition,
+\fB\-\-prefix=\fR
+option may be used to limit which sysctl settings are applied\&.
+.PP
+See
+\fBsysctl.d\fR(5)
+for information about the configuration of sysctl settings\&. After sysctl configuration is changed on disk, it must be written to the files in
+/proc/sys/
+before it takes effect\&. It is possible to update specific settings, or simply to reload all configuration, see Examples below\&.
+.SH "OPTIONS"
+.PP
+\fB\-\-prefix=\fR
+.RS 4
+Only apply rules with the specified prefix\&.
+.sp
+Added in version 230\&.
+.RE
+.PP
+\fB\-\-strict=\fR
+.RS 4
+Always return non\-zero exit code on failure (including invalid sysctl variable name and insufficient permissions), unless the sysctl variable name is prefixed with a "\-" character\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+\fB\-\-cat\-config\fR
+.RS 4
+Copy the contents of config files to standard output\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-tldr\fR
+.RS 4
+Copy the contents of config files to standard output\&. Only the "interesting" parts of the configuration files are printed, comments and empty lines are skipped\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "CREDENTIALS"
+.PP
+\fBsystemd\-sysctl\fR
+supports the service credentials logic as implemented by
+\fIImportCredential=\fR/\fILoadCredential=\fR/\fISetCredential=\fR
+(see
+\fBsystemd.exec\fR(5)
+for details)\&. The following credentials are used when passed in:
+.PP
+\fIsysctl\&.extra\fR
+.RS 4
+The contents of this credential may contain additional lines to operate on\&. The credential contents should follow the same format as any other
+sysctl\&.d/
+drop\-in configuration file\&. If this credential is passed it is processed after all of the drop\-in files read from the file system\&. The settings configured in the credential hence take precedence over those in the file system\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+Note that by default the
+systemd\-sysctl\&.service
+unit file is set up to inherit the
+"sysctl\&.extra"
+credential from the service manager\&.
+.SH "EXAMPLES"
+.PP
+\fBExample\ \&1.\ \&Reset all sysctl settings\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemctl restart systemd\-sysctl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&2.\ \&View coredump handler configuration\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# sysctl kernel\&.core_pattern
+kernel\&.core_pattern = |/usr/libexec/abrt\-hook\-ccpp %s %c %p %u %g %t %P %I
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&3.\ \&Update coredump handler configuration\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /usr/lib/systemd/systemd\-sysctl \-\-prefix kernel\&.core_pattern
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+This searches all the directories listed in
+\fBsysctl.d\fR(5)
+for configuration files and writes
+/proc/sys/kernel/core_pattern\&.
+.PP
+\fBExample\ \&4.\ \&Update coredump handler configuration according to a specific file\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /usr/lib/systemd/systemd\-sysctl 50\-coredump\&.conf
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+This applies all the settings found in
+50\-coredump\&.conf\&. Either
+/etc/sysctl\&.d/50\-coredump\&.conf, or
+/run/sysctl\&.d/50\-coredump\&.conf, or
+/usr/lib/sysctl\&.d/50\-coredump\&.conf
+will be used, in the order of preference\&.
+.PP
+See
+\fBsysctl\fR(8)
+for various ways to directly apply sysctl settings\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsysctl.d\fR(5),
+\fBsysctl\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-sysext.8 b/upstream/fedora-40/man8/systemd-sysext.8
new file mode 100644
index 00000000..949afe88
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-sysext.8
@@ -0,0 +1,451 @@
+'\" t
+.TH "SYSTEMD\-SYSEXT" "8" "" "systemd 255" "systemd-sysext"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-sysext, systemd-sysext.service, systemd-confext, systemd-confext.service \- Activates System Extension Images
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-sysext\fR\ 'u
+\fBsystemd\-sysext\fR [OPTIONS...] COMMAND
+.PP
+.nf
+systemd\-sysext\&.service
+.fi
+.HP \w'\fBsystemd\-confext\fR\ 'u
+\fBsystemd\-confext\fR [OPTIONS...] COMMAND
+.PP
+.nf
+systemd\-confext\&.service
+.fi
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-sysext\fR
+activates/deactivates system extension images\&. System extension images may \(en dynamically at runtime \(em extend the
+/usr/
+and
+/opt/
+directory hierarchies with additional files\&. This is particularly useful on immutable system images where a
+/usr/
+and/or
+/opt/
+hierarchy residing on a read\-only file system shall be extended temporarily at runtime without making any persistent modifications\&.
+.PP
+System extension images should contain files and directories similar in fashion to regular operating system tree\&. When one or more system extension images are activated, their
+/usr/
+and
+/opt/
+hierarchies are combined via
+"overlayfs"
+with the same hierarchies of the host OS, and the host
+/usr/
+and
+/opt/
+overmounted with it ("merging")\&. When they are deactivated, the mount point is disassembled \(em again revealing the unmodified original host version of the hierarchy ("unmerging")\&. Merging thus makes the extension\*(Aqs resources suddenly appear below the
+/usr/
+and
+/opt/
+hierarchies as if they were included in the base OS image itself\&. Unmerging makes them disappear again, leaving in place only the files that were shipped with the base OS image itself\&.
+.PP
+Files and directories contained in the extension images outside of the
+/usr/
+and
+/opt/
+hierarchies are
+\fInot\fR
+merged, and hence have no effect when included in a system extension image\&. In particular, files in the
+/etc/
+and
+/var/
+included in a system extension image will
+\fInot\fR
+appear in the respective hierarchies after activation\&.
+.PP
+System extension images are strictly read\-only, and the host
+/usr/
+and
+/opt/
+hierarchies become read\-only too while they are activated\&.
+.PP
+System extensions are supposed to be purely additive, i\&.e\&. they are supposed to include only files that do not exist in the underlying basic OS image\&. However, the underlying mechanism (overlayfs) also allows overlaying or removing files, but it is recommended not to make use of this\&.
+.PP
+System extension images may be provided in the following formats:
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 1." 4.2
+.\}
+Plain directories or btrfs subvolumes containing the OS tree
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 2." 4.2
+.\}
+Disk images with a GPT disk label, following the
+\m[blue]\fBDiscoverable Partitions Specification\fR\m[]\&\s-2\u[1]\d\s+2
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP " 3." 4.2
+.\}
+Disk images lacking a partition table, with a naked Linux file system (e\&.g\&. erofs, squashfs or ext4)
+.RE
+.PP
+These image formats are the same ones that
+\fBsystemd-nspawn\fR(1)
+supports via its
+\fB\-\-directory=\fR/\fB\-\-image=\fR
+switches and those that the service manager supports via
+\fBRootDirectory=\fR/\fBRootImage=\fR\&. Similar to them they may optionally carry Verity authentication information\&.
+.PP
+System extensions are searched for in the directories
+/etc/extensions/,
+/run/extensions/
+and
+/var/lib/extensions/\&. The first two listed directories are not suitable for carrying large binary images, however are still useful for carrying symlinks to them\&. The primary place for installing system extensions is
+/var/lib/extensions/\&. Any directories found in these search directories are considered directory based extension images; any files with the
+\&.raw
+suffix are considered disk image based extension images\&. When invoked in the initrd, the additional directory
+/\&.extra/sysext/
+is included in the directories that are searched for extension images\&. Note however, that by default a tighter image policy applies to images found there, though, see below\&. This directory is populated by
+\fBsystemd-stub\fR(7)
+with extension images found in the system\*(Aqs EFI System Partition\&.
+.PP
+During boot OS extension images are activated automatically, if the
+systemd\-sysext\&.service
+is enabled\&. Note that this service runs only after the underlying file systems where system extensions may be located have been mounted\&. This means they are not suitable for shipping resources that are processed by subsystems running in earliest boot\&. Specifically, OS extension images are not suitable for shipping system services or
+\fBsystemd-sysusers\fR(8)
+definitions\&. See the
+\m[blue]\fBPortable Services\fR\m[]\&\s-2\u[2]\d\s+2
+page for a simple mechanism for shipping system services in disk images, in a similar fashion to OS extensions\&. Note the different isolation on these two mechanisms: while system extension directly extend the underlying OS image with additional files that appear in a way very similar to as if they were shipped in the OS image itself and thus imply no security isolation, portable services imply service level sandboxing in one way or another\&. The
+systemd\-sysext\&.service
+service is guaranteed to finish start\-up before
+basic\&.target
+is reached; i\&.e\&. at the time regular services initialize (those which do not use
+\fIDefaultDependencies=no\fR), the files and directories system extensions provide are available in
+/usr/
+and
+/opt/
+and may be accessed\&.
+.PP
+Note that there is no concept of enabling/disabling installed system extension images: all installed extension images are automatically activated at boot\&. However, you can place an empty directory named like the extension (no
+\&.raw) in
+/etc/extensions/
+to "mask" an extension with the same name in a system folder with lower precedence\&.
+.PP
+A simple mechanism for version compatibility is enforced: a system extension image must carry a
+/usr/lib/extension\-release\&.d/extension\-release\&.\fINAME\fR
+file, which must match its image name, that is compared with the host
+os\-release
+file: the contained
+\fIID=\fR
+fields have to match unless
+"_any"
+is set for the extension\&. If the extension
+\fIID=\fR
+is not
+"_any", the
+\fISYSEXT_LEVEL=\fR
+field (if defined) has to match\&. If the latter is not defined, the
+\fIVERSION_ID=\fR
+field has to match instead\&. If the extension defines the
+\fIARCHITECTURE=\fR
+field and the value is not
+"_any"
+it has to match the kernel\*(Aqs architecture reported by
+\fBuname\fR(2)
+but the used architecture identifiers are the same as for
+\fIConditionArchitecture=\fR
+described in
+\fBsystemd.unit\fR(5)\&.
+\fIEXTENSION_RELOAD_MANAGER=\fR
+can be set to 1 if the extension requires a service manager reload after application of the extension\&. Note that the for the reasons mentioned earlier:
+\m[blue]\fBPortable Services\fR\m[]\&\s-2\u[2]\d\s+2
+remain the recommended way to ship system services\&. System extensions should not ship a
+/usr/lib/os\-release
+file (as that would be merged into the host
+/usr/
+tree, overriding the host OS version data, which is not desirable)\&. The
+extension\-release
+file follows the same format and semantics, and carries the same content, as the
+os\-release
+file of the OS, but it describes the resources carried in the extension image\&.
+.PP
+The
+\fBsystemd\-confext\fR
+concept follows the same principle as the
+\fBsystemd-sysext\fR(1)
+functionality but instead of working on
+/usr
+and
+/opt,
+\fBconfext\fR
+will extend only
+/etc\&. Files and directories contained in the confext images outside of the
+/etc/
+hierarchy are
+\fInot\fR
+merged, and hence have no effect when included in the image\&. Formats for these images are of the same as sysext images\&. The merged hierarchy will be mounted with
+"nosuid"
+and (if not disabled via
+\fB\-\-noexec=false\fR)
+"noexec"\&.
+.PP
+Confexts are looked for in the directories
+/run/confexts/,
+/var/lib/confexts/,
+/usr/lib/confexts/
+and
+/usr/local/lib/confexts/\&. The first listed directory is not suitable for carrying large binary images, however is still useful for carrying symlinks to them\&. The primary place for installing configuration extensions is
+/var/lib/confexts/\&. Any directories found in these search directories are considered directory based confext images; any files with the
+\&.raw
+suffix are considered disk image based confext images\&.
+.PP
+Again, just like sysext images, the confext images will contain a
+/etc/extension\-release\&.d/extension\-release\&.\fINAME\fR
+file, which must match the image name (with the usual escape hatch of the
+\fIuser\&.extension\-release\&.strict\fR
+\fBxattr\fR(7)), and again with content being one or more of
+\fIID=\fR,
+\fIVERSION_ID=\fR, and
+\fICONFEXT_LEVEL\fR\&. Confext images will then be checked and matched against the base OS layer\&.
+.SH "USES"
+.PP
+The primary use case for system images are immutable environments where debugging and development tools shall optionally be made available, but not included in the immutable base OS image itself (e\&.g\&.
+\fBstrace\fR(1)
+and
+\fBgdb\fR(1)
+shall be an optionally installable addition in order to make debugging/development easier)\&. System extension images should not be misunderstood as a generic software packaging framework, as no dependency scheme is available: system extensions should carry all files they need themselves, except for those already shipped in the underlying host system image\&. Typically, system extension images are built at the same time as the base OS image \(em within the same build system\&.
+.PP
+Another use case for the system extension concept is temporarily overriding OS supplied resources with newer ones, for example to install a locally compiled development version of some low\-level component over the immutable OS image without doing a full OS rebuild or modifying the nominally immutable image\&. (e\&.g\&. "install" a locally built package with
+\fBDESTDIR=/var/lib/extensions/mytest make install && systemd\-sysext refresh\fR, making it available in
+/usr/
+as if it was installed in the OS image itself\&.) This case works regardless if the underlying host
+/usr/
+is managed as immutable disk image or is a traditional package manager controlled (i\&.e\&. writable) tree\&.
+.PP
+For the confext case, the OSConfig project aims to perform runtime reconfiguration of OS services\&. Sometimes, there is a need to swap certain configuration parameter values or restart only a specific service without deployment of new code or a complete OS deployment\&. In other words, we want to be able to tie the most frequently configured options to runtime updateable flags that can be changed without a system reboot\&. This will help reduce servicing times when there is a need for changing the OS configuration\&.
+.SH "COMMANDS"
+.PP
+The following commands are understood by both the sysext and confext concepts:
+.PP
+\fBstatus\fR
+.RS 4
+When invoked without any command verb, or when
+\fBstatus\fR
+is specified the current merge status is shown, separately (for both
+/usr/
+and
+/opt/
+of sysext and for
+/etc/
+of confext)\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fBmerge\fR
+.RS 4
+Merges all currently installed system extension images into
+/usr/
+and
+/opt/, by overmounting these hierarchies with an
+"overlayfs"
+file system combining the underlying hierarchies with those included in the extension images\&. This command will fail if the hierarchies are already merged\&. For confext, the merge happens into the
+/etc/
+directory instead\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fBunmerge\fR
+.RS 4
+Unmerges all currently installed system extension images from
+/usr/
+and
+/opt/
+for sysext and
+/etc/, for confext, by unmounting the
+"overlayfs"
+file systems created by
+\fBmerge\fR
+prior\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fBrefresh\fR
+.RS 4
+A combination of
+\fBunmerge\fR
+and
+\fBmerge\fR: if already mounted the existing
+"overlayfs"
+instance is unmounted temporarily, and then replaced by a new version\&. This command is useful after installing/removing system extension images, in order to update the
+"overlayfs"
+file system accordingly\&. If no system extensions are installed when this command is executed, the equivalent of
+\fBunmerge\fR
+is executed, without establishing any new
+"overlayfs"
+instance\&. Note that currently there\*(Aqs a brief moment where neither the old nor the new
+"overlayfs"
+file system is mounted\&. This implies that all resources supplied by a system extension will briefly disappear \(em even if it exists continuously during the refresh operation\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fBlist\fR
+.RS 4
+A brief list of installed extension images is shown\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "OPTIONS"
+.PP
+\fB\-\-root=\fR
+.RS 4
+Operate relative to the specified root directory, i\&.e\&. establish the
+"overlayfs"
+mount not on the top\-level host
+/usr/
+and
+/opt/
+hierarchies for sysext or
+/etc/
+for confext, but below some specified root directory\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fB\-\-force\fR
+.RS 4
+When merging system extensions into
+/usr/
+and
+/opt/
+for sysext and
+/etc/
+for confext, ignore version incompatibilities, i\&.e\&. force merging regardless of whether the version information included in the images matches the host or not\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR
+.RS 4
+Takes an image policy string as argument, as per
+\fBsystemd.image-policy\fR(7)\&. The policy is enforced when operating on system extension disk images\&. If not specified defaults to
+"root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent"
+for system extensions, i\&.e\&. only the root and
+/usr/
+file systems in the image are used\&. For configuration extensions defaults to
+"root=verity+signed+encrypted+unprotected+absent"\&. When run in the initrd and operating on a system extension image stored in the
+/\&.extra/sysext/
+directory a slightly stricter policy is used by default:
+"root=signed+absent:usr=signed+absent", see above for details\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-noexec=\fR\fIBOOL\fR
+.RS 4
+When merging configuration extensions into
+/etc/
+the
+"MS_NOEXEC"
+mount flag is used by default\&. This option can be used to disable it\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-no\-reload\fR
+.RS 4
+When used with
+\fBmerge\fR,
+\fBunmerge\fR
+or
+\fBrefresh\fR, do not reload daemon after executing the changes even if an extension that is applied requires a reload via the
+\fIEXTENSION_RELOAD_MANAGER=\fR
+set to 1\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-\-no\-legend\fR
+.RS 4
+Do not print the legend, i\&.e\&. column headers and the footer with hints\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Shows output formatted as JSON\&. Expects one of
+"short"
+(for the shortest possible output without any redundant whitespace or line breaks),
+"pretty"
+(for a pretty version of the same, with indentation and line breaks) or
+"off"
+(to turn off JSON output, the default)\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-nspawn\fR(1),
+\fBsystemd-stub\fR(7)
+.SH "NOTES"
+.IP " 1." 4
+Discoverable Partitions Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/discoverable_partitions_specification
+.RE
+.IP " 2." 4
+Portable Services
+.RS 4
+\%https://systemd.io/PORTABLE_SERVICES
+.RE
diff --git a/upstream/fedora-40/man8/systemd-system-update-generator.8 b/upstream/fedora-40/man8/systemd-system-update-generator.8
new file mode 100644
index 00000000..47e3b738
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-system-update-generator.8
@@ -0,0 +1,44 @@
+'\" t
+.TH "SYSTEMD\-SYSTEM\-UPDATE\-GENERATOR" "8" "" "systemd 255" "systemd-system-update-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-system-update-generator \- Generator for redirecting boot to offline update mode
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-system\-update\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-system\-update\-generator
+is a generator that automatically redirects the boot process to
+system\-update\&.target, if
+/system\-update
+or
+/etc/system\-update
+exists\&. This is required to implement the logic explained in the
+\fBsystemd.offline-updates\fR(7)\&.
+.PP
+systemd\-system\-update\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.special\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-sysupdate.8 b/upstream/fedora-40/man8/systemd-sysupdate.8
new file mode 100644
index 00000000..99d876fa
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-sysupdate.8
@@ -0,0 +1,292 @@
+'\" t
+.TH "SYSTEMD\-SYSUPDATE" "8" "" "systemd 255" "systemd-sysupdate"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-sysupdate, systemd-sysupdate.service, systemd-sysupdate.timer, systemd-sysupdate-reboot.service, systemd-sysupdate-reboot.timer \- Automatically Update OS or Other Resources
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-sysupdate\fR\ 'u
+\fBsystemd\-sysupdate\fR [OPTIONS...]
+.PP
+systemd\-sysupdate\&.service
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-sysupdate\fR
+atomically updates the host OS, container images, portable service images or other sources, based on the transfer configuration files described in
+\fBsysupdate.d\fR(5)\&.
+.PP
+This tool implements file, directory, or partition based update schemes, supporting multiple parallel installed versions of specific resources in an A/B (or even: A/B/C, A/B/C/D/, \&...) style\&. A/B updating means that when one version of a resource is currently being used, the next version can be downloaded, unpacked, and prepared in an entirely separate location, independently of the first, and \(em once complete \(em be activated, swapping the roles so that it becomes the used one and the previously used one becomes the one that is replaced by the next update, and so on\&. The resources to update are defined in transfer files, one for each resource to be updated\&. For example, resources that may be updated with this tool could be: a root file system partition, a matching Verity partition plus one kernel image\&. The combination of the three would be considered a complete OS update\&.
+.PP
+The tool updates partitions, files or directory trees always in whole, and operates with at least two versions of each of these resources: the
+\fIcurrent\fR
+version, plus the
+\fInext\fR
+version: the one that is being updated to, and which is initially incomplete as the downloaded data is written to it; plus optionally more versions\&. Once the download of a newer version is complete it becomes the current version, releasing the version previously considered current for deletion/replacement/updating\&.
+.PP
+When installing new versions the tool will directly download, decompress, unpack and write the new version into the destination\&. This is done in a robust fashion so that an incomplete download can be recognized on next invocation, and flushed out before a new attempt is initiated\&.
+.PP
+Note that when writing updates to a partition, the partition has to exist already, as
+\fBsystemd\-sysupdate\fR
+will not automatically create new partitions\&. Use a tool such as
+\fBsystemd-repart\fR(8)
+to automatically create additional partitions to be used with
+\fBsystemd\-sysupdate\fR
+on boot\&.
+.PP
+The tool can both be used on the running OS, to update the OS in "online" state from within itself, and on "offline" disk images, to update them from the outside based on transfer files embedded in the disk images\&. For the latter, see
+\fB\-\-image=\fR
+below\&. The latter is particularly interesting to update container images or portable service images\&.
+.PP
+The
+systemd\-sysupdate\&.service
+system service will automatically update the host OS based on the installed transfer files\&. It is triggered in regular intervals via
+systemd\-sysupdate\&.timer\&. The
+systemd\-sysupdate\-reboot\&.service
+will automatically reboot the system after a new version is installed\&. It is triggered via
+systemd\-sysupdate\-reboot\&.timer\&. The two services are separate from each other as it is typically advisable to download updates regularly while the system is up, but delay reboots until the appropriate time (i\&.e\&. typically at night)\&. The two sets of service/timer units may be enabled separately\&.
+.PP
+For details about transfer files and examples see
+\fBsysupdate.d\fR(5)\&.
+.SH "COMMAND"
+.PP
+The following commands are understood:
+.PP
+\fBlist\fR [\fIVERSION\fR]
+.RS 4
+If invoked without an argument, enumerates downloadable and installed versions, and shows a summarizing table with the discovered versions and their properties, including whether there\*(Aqs a newer candidate version to update to\&. If a version argument is specified, shows details about the specific version, including the individual files that need to be transferred to acquire the version\&.
+.sp
+If no command is explicitly specified this command is implied\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBcheck\-new\fR
+.RS 4
+Checks if there\*(Aqs a new version available\&. This internally enumerates downloadable and installed versions and returns exit status 0 if there\*(Aqs a new version to update to, non\-zero otherwise\&. If there is a new version to update to, its version identifier is written to standard output\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBupdate\fR [\fIVERSION\fR]
+.RS 4
+Installs (updates to) the specified version, or if none is specified to the newest version available\&. If the version is already installed or no newer version available, no operation is executed\&.
+.sp
+If a new version to install/update to is found, old installed versions are deleted until at least one new version can be installed, as configured via
+\fIInstanceMax=\fR
+in
+\fBsysupdate.d\fR(5), or via the available partition slots of the right type\&. This implicit operation can also be invoked explicitly via the
+\fBvacuum\fR
+command described below\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBvacuum\fR
+.RS 4
+Deletes old installed versions until the limits configured via
+\fIInstanceMax=\fR
+in
+\fBsysupdate.d\fR(5)
+are met again\&. Normally, it should not be necessary to invoke this command explicitly, since it is implicitly invoked whenever a new update is initiated\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBpending\fR
+.RS 4
+Checks whether a newer version of the OS is installed than the one currently running\&. Returns zero if so, non\-zero otherwise\&. This compares the newest installed version\*(Aqs identifier with the OS image version as reported by the
+\fIIMAGE_VERSION=\fR
+field in
+/etc/os\-release\&. If the former is newer than the latter, an update was apparently completed but not activated (i\&.e\&. rebooted into) yet\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBreboot\fR
+.RS 4
+Similar to the
+\fBpending\fR
+command but immediately reboots in case a newer version of the OS has been installed than the one currently running\&. This operation can be done implicitly together with the
+\fBupdate\fR
+command, after a completed update via the
+\fB\-\-reboot\fR
+switch, see below\&. This command will execute no operation (and return success) if no update has been installed, and thus the system was not rebooted\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fBcomponents\fR
+.RS 4
+Lists components that can be updated\&. This enumerates the
+/etc/sysupdate\&.*\&.d/,
+/run/sysupdate\&.*\&.d/
+and
+/usr/lib/sysupdate\&.*\&.d/
+directories that contain transfer files\&. This command is useful to list possible parameters for
+\fB\-\-component=\fR
+(see below)\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-component=\fR, \fB\-C\fR
+.RS 4
+Selects the component to update\&. Takes a component name as argument\&. This has the effect of slightly altering the search logic for transfer files\&. If this switch is not used, the transfer files are loaded from
+/etc/sysupdate\&.d/*\&.conf,
+/run/sysupdate\&.d/*\&.conf
+and
+/usr/lib/sysupdate\&.d/*\&.conf\&. If this switch is used, the specified component name is used to alter the directories to look in to be
+/etc/sysupdate\&.\fIcomponent\fR\&.d/*\&.conf,
+/run/sysupdate\&.\fIcomponent\fR\&.d/*\&.conf
+and
+/usr/lib/sysupdate\&.\fIcomponent\fR\&.d/*\&.conf, each time with the
+\fIcomponent\fR
+string replaced with the specified component name\&.
+.sp
+Use the
+\fBcomponents\fR
+command to list available components to update\&. This enumerates the directories matching this naming rule\&.
+.sp
+Components may be used to define a separate set of transfer files for different components of the OS that shall be updated separately\&. Do not use this concept for resources that shall always be updated together in a synchronous fashion\&. Simply define multiple transfer files within the same
+sysupdate\&.d/
+directory for these cases\&.
+.sp
+This option may not be combined with
+\fB\-\-definitions=\fR\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-definitions=\fR
+.RS 4
+A path to a directory\&. If specified, the transfer
+*\&.conf
+files are read from this directory instead of
+/usr/lib/sysupdate\&.d/*\&.conf,
+/etc/sysupdate\&.d/*\&.conf, and
+/run/sysupdate\&.d/*\&.conf\&.
+.sp
+This option may not be combined with
+\fB\-\-component=\fR\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-root=\fR
+.RS 4
+Takes a path to a directory to use as root file system when searching for
+sysupdate\&.d/*\&.conf
+files\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-image=\fR
+.RS 4
+Takes a path to a disk image file or device to mount and use in a similar fashion to
+\fB\-\-root=\fR, see above\&. If this is used and partition resources are updated this is done inside the specified disk image\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR
+.RS 4
+Takes an image policy string as argument, as per
+\fBsystemd.image-policy\fR(7)\&. The policy is enforced when operating on the disk image specified via
+\fB\-\-image=\fR, see above\&. If not specified defaults to the
+"*"
+policy, i\&.e\&. all recognized file systems in the image are used\&.
+.RE
+.PP
+\fB\-\-instances\-max=\fR, \fB\-m\fR
+.RS 4
+Takes a decimal integer greater than or equal to 2\&. Controls how many versions to keep at any time\&. This option may also be configured inside the transfer files, via the
+\fIInstancesMax=\fR
+setting, see
+\fBsysupdate.d\fR(5)
+for details\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-sync=\fR
+.RS 4
+Takes a boolean argument, defaults to yes\&. This may be used to specify whether the newly updated resource versions shall be synchronized to disk when appropriate (i\&.e\&. after the download is complete, before it is finalized, and again after finalization)\&. This should not be turned off, except to improve runtime performance in testing environments\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-verify=\fR
+.RS 4
+Takes a boolean argument, defaults to yes\&. Controls whether to cryptographically verify downloads\&. Do not turn this off, except in testing environments\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-reboot\fR
+.RS 4
+When used in combination with the
+\fBupdate\fR
+command and a new version is installed, automatically reboots the system immediately afterwards\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-\-no\-legend\fR
+.RS 4
+Do not print the legend, i\&.e\&. column headers and the footer with hints\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Shows output formatted as JSON\&. Expects one of
+"short"
+(for the shortest possible output without any redundant whitespace or line breaks),
+"pretty"
+(for a pretty version of the same, with indentation and line breaks) or
+"off"
+(to turn off JSON output, the default)\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsysupdate.d\fR(5),
+\fBsystemd-repart\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-sysusers.8 b/upstream/fedora-40/man8/systemd-sysusers.8
new file mode 100644
index 00000000..5d5726a1
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-sysusers.8
@@ -0,0 +1,243 @@
+'\" t
+.TH "SYSTEMD\-SYSUSERS" "8" "" "systemd 255" "systemd-sysusers"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-sysusers, systemd-sysusers.service \- Allocate system users and groups
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-sysusers\fR\ 'u
+\fBsystemd\-sysusers\fR [OPTIONS...] [\fICONFIGFILE\fR...]
+.PP
+systemd\-sysusers\&.service
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-sysusers\fR
+creates system users and groups, based on files in the format described in
+\fBsysusers.d\fR(5)\&.
+.PP
+If invoked with no arguments, it applies all directives from all files found in the directories specified by
+\fBsysusers.d\fR(5)\&. When invoked with positional arguments, if option
+\fB\-\-replace=\fR\fB\fIPATH\fR\fR
+is specified, arguments specified on the command line are used instead of the configuration file
+\fIPATH\fR\&. Otherwise, just the configuration specified by the command line arguments is executed\&. The string
+"\-"
+may be specified instead of a filename to instruct
+\fBsystemd\-sysusers\fR
+to read the configuration from standard input\&. If the argument is a relative path, all configuration directories are searched for a matching file and the file found that has the highest priority is executed\&. If the argument is an absolute path, that file is used directly without searching of the configuration directories\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-root=\fR\fB\fIroot\fR\fR
+.RS 4
+Takes a directory path as an argument\&. All paths will be prefixed with the given alternate
+\fIroot\fR
+path, including config search paths\&.
+.sp
+Added in version 215\&.
+.RE
+.PP
+\fB\-\-image=\fR\fB\fIimage\fR\fR
+.RS 4
+Takes a path to a disk image file or block device node\&. If specified all operations are applied to file system in the indicated disk image\&. This is similar to
+\fB\-\-root=\fR
+but operates on file systems stored in disk images or block devices\&. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the
+\m[blue]\fBDiscoverable Partitions Specification\fR\m[]\&\s-2\u[1]\d\s+2\&. For further information on supported disk images, see
+\fBsystemd-nspawn\fR(1)\*(Aqs switch of the same name\&.
+.sp
+Added in version 247\&.
+.RE
+.PP
+\fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR
+.RS 4
+Takes an image policy string as argument, as per
+\fBsystemd.image-policy\fR(7)\&. The policy is enforced when operating on the disk image specified via
+\fB\-\-image=\fR, see above\&. If not specified defaults to the
+"*"
+policy, i\&.e\&. all recognized file systems in the image are used\&.
+.RE
+.PP
+\fB\-\-replace=\fR\fB\fIPATH\fR\fR
+.RS 4
+When this option is given, one or more positional arguments must be specified\&. All configuration files found in the directories listed in
+\fBsysusers.d\fR(5)
+will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file
+\fIPATH\fR\&.
+.sp
+This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority\&.
+.PP
+\fBExample\ \&1.\ \&RPM installation script for radvd\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+echo \*(Aqu radvd \- "radvd daemon"\*(Aq | \e
+ systemd\-sysusers \-\-replace=/usr/lib/sysusers\&.d/radvd\&.conf \-
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+This will create the radvd user as if
+/usr/lib/sysusers\&.d/radvd\&.conf
+was already on disk\&. An admin might override the configuration specified on the command line by placing
+/etc/sysusers\&.d/radvd\&.conf
+or even
+/etc/sysusers\&.d/00\-overrides\&.conf\&.
+.sp
+Note that this is the expanded form, and when used in a package, this would be written using a macro with "radvd" and a file containing the configuration line as arguments\&.
+
+Added in version 238\&.
+.RE
+.PP
+\fB\-\-dry\-run\fR
+.RS 4
+Process the configuration and figure out what entries would be created, but don\*(Aqt actually write anything\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fB\-\-inline\fR
+.RS 4
+Treat each positional argument as a separate configuration line instead of a file name\&.
+.sp
+Added in version 238\&.
+.RE
+.PP
+\fB\-\-cat\-config\fR
+.RS 4
+Copy the contents of config files to standard output\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-tldr\fR
+.RS 4
+Copy the contents of config files to standard output\&. Only the "interesting" parts of the configuration files are printed, comments and empty lines are skipped\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "CREDENTIALS"
+.PP
+\fBsystemd\-sysusers\fR
+supports the service credentials logic as implemented by
+\fIImportCredential=\fR/\fILoadCredential=\fR/\fISetCredential=\fR
+(see
+\fBsystemd.exec\fR(1)
+for details)\&. The following credentials are used when passed in:
+.PP
+\fIpasswd\&.hashed\-password\&.\fR\fI\fIuser\fR\fR
+.RS 4
+A UNIX hashed password string to use for the specified user, when creating an entry for it\&. This is particularly useful for the
+"root"
+user as it allows provisioning the default root password to use via a unit file drop\-in or from a container manager passing in this credential\&. Note that setting this credential has no effect if the specified user account already exists\&. This credential is hence primarily useful in first boot scenarios or systems that are fully stateless and come up with an empty
+/etc/
+on every boot\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fIpasswd\&.plaintext\-password\&.\fR\fI\fIuser\fR\fR
+.RS 4
+Similar to
+"passwd\&.hashed\-password\&.\fIuser\fR"
+but expect a literal, plaintext password, which is then automatically hashed before used for the user account\&. If both the hashed and the plaintext credential are specified for the same user the former takes precedence\&. It\*(Aqs generally recommended to specify the hashed version; however in test environments with weaker requirements on security it might be easier to pass passwords in plaintext instead\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fIpasswd\&.shell\&.\fR\fI\fIuser\fR\fR
+.RS 4
+Specifies the shell binary to use for the specified account when creating it\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fIsysusers\&.extra\fR
+.RS 4
+The contents of this credential may contain additional lines to operate on\&. The credential contents should follow the same format as any other
+sysusers\&.d/
+drop\-in\&. If this credential is passed it is processed after all of the drop\-in files read from the file system\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+Note that by default the
+systemd\-sysusers\&.service
+unit file is set up to inherit the
+"passwd\&.hashed\-password\&.root",
+"passwd\&.plaintext\-password\&.root",
+"passwd\&.shell\&.root"
+and
+"sysusers\&.extra"
+credentials from the service manager\&. Thus, when invoking a container with an unpopulated
+/etc/
+for the first time it is possible to configure the root user\*(Aqs password to be
+"systemd"
+like this:
+.PP
+.if n \{\
+.RS 4
+.\}
+.nf
+# systemd\-nspawn \-\-image=\&... \-\-set\-credential=passwd\&.hashed\-password\&.root:\*(Aq$y$j9T$yAuRJu1o5HioZAGDYPU5d\&.$F64ni6J2y2nNQve90M/p0ZP0ECP/qqzipNyaY9fjGpC\*(Aq \&...
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Note again that the data specified in this credential is consulted only when creating an account for the first time, it may not be used for changing the password or shell of an account that already exists\&.
+.PP
+Use
+\fBmkpasswd\fR(1)
+for generating UNIX password hashes from the command line\&.
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsysusers.d\fR(5),
+\m[blue]\fBUsers, Groups, UIDs and GIDs on systemd systems\fR\m[]\&\s-2\u[2]\d\s+2,
+\fBsystemd.exec\fR(1),
+\fBmkpasswd\fR(1)
+.SH "NOTES"
+.IP " 1." 4
+Discoverable Partitions Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/discoverable_partitions_specification
+.RE
+.IP " 2." 4
+Users, Groups, UIDs and GIDs on systemd systems
+.RS 4
+\%https://systemd.io/UIDS-GIDS
+.RE
diff --git a/upstream/fedora-40/man8/systemd-sysv-generator.8 b/upstream/fedora-40/man8/systemd-sysv-generator.8
new file mode 100644
index 00000000..80b51288
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-sysv-generator.8
@@ -0,0 +1,83 @@
+'\" t
+.TH "SYSTEMD\-SYSV\-GENERATOR" "8" "" "systemd 255" "systemd-sysv-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-sysv-generator \- Unit generator for SysV init scripts
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-sysv\-generator
+.SH "DESCRIPTION"
+.PP
+\fINote: this component is deprecated and scheduled for removal\&. Please replace remaining SysV init scripts with native unit files\&.\fR
+.PP
+systemd\-sysv\-generator
+is a generator that creates wrapper \&.service units for
+\m[blue]\fBSystem V init\fR\m[]\&\s-2\u[1]\d\s+2
+scripts in
+/etc/init\&.d/*
+at boot and when configuration of the system manager is reloaded\&. This allows
+\fBsystemd\fR(1)
+to support them similarly to native units\&.
+.PP
+\m[blue]\fBLSB headers\fR\m[]\&\s-2\u[2]\d\s+2
+in SysV init scripts are interpreted, and the ordering specified in the header is turned into dependencies between the generated unit and other units\&. The LSB facilities
+"$remote_fs",
+"$network",
+"$named",
+"$portmap",
+"$time"
+are supported and will be turned into dependencies on specific native systemd targets\&. See
+\fBsystemd.special\fR(7)
+for more details\&.
+.PP
+Note that compatibility is quite comprehensive but not 100%, for more details see
+\m[blue]\fBIncompatibilities with SysV\fR\m[]\&\s-2\u[3]\d\s+2\&.
+.PP
+SysV runlevels have corresponding systemd targets (runlevel\fIX\fR\&.target)\&. The wrapper unit that is generated will be wanted by those targets which correspond to runlevels for which the script is enabled\&.
+.PP
+\fBsystemd\fR
+does not support SysV scripts as part of early boot, so all wrapper units are ordered after
+basic\&.target\&.
+.PP
+systemd\-sysv\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.service\fR(5),
+\fBsystemd.target\fR(5)
+.SH "NOTES"
+.IP " 1." 4
+System V init
+.RS 4
+\%https://savannah.nongnu.org/projects/sysvinit
+.RE
+.IP " 2." 4
+LSB headers
+.RS 4
+\%http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
+.RE
+.IP " 3." 4
+Incompatibilities with SysV
+.RS 4
+\%https://www.freedesktop.org/wiki/Software/systemd/Incompatibilities
+.RE
diff --git a/upstream/fedora-40/man8/systemd-time-wait-sync.service.8 b/upstream/fedora-40/man8/systemd-time-wait-sync.service.8
new file mode 100644
index 00000000..d6849abe
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-time-wait-sync.service.8
@@ -0,0 +1,57 @@
+'\" t
+.TH "SYSTEMD\-TIME\-WAIT\-SYNC\&.SERVICE" "8" "" "systemd 255" "systemd-time-wait-sync.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-time-wait-sync.service, systemd-time-wait-sync \- Wait until kernel time is synchronized
+.SH "SYNOPSIS"
+.PP
+systemd\-time\-wait\-sync\&.service
+.PP
+/usr/lib/systemd/systemd\-time\-wait\-sync
+.SH "DESCRIPTION"
+.PP
+systemd\-time\-wait\-sync
+is a system service that delays the start of units that are ordered after
+time\-sync\&.target
+(see
+\fBsystemd.special\fR(7)
+for details) until the system time has been synchronized with an accurate remote reference time source by
+systemd\-timesyncd\&.service\&.
+.PP
+systemd\-timesyncd\&.service
+notifies
+systemd\-time\-wait\-sync
+about successful synchronization\&.
+systemd\-time\-wait\-sync
+also tries to detect when the kernel marks the system clock as synchronized, but this detection is not reliable and is intended only as a fallback for compatibility with alternative NTP services that can be used to synchronize time (e\&.g\&., ntpd, chronyd)\&.
+.SH "FILES"
+.PP
+/run/systemd/timesync/synchronized
+.RS 4
+The presence of this file indicates to this service that the system clock has been synchronized\&.
+.sp
+Added in version 239\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.special\fR(7),
+\fBsystemd-timesyncd.service\fR(8),
diff --git a/upstream/fedora-40/man8/systemd-timedated.service.8 b/upstream/fedora-40/man8/systemd-timedated.service.8
new file mode 100644
index 00000000..a221cf9e
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-timedated.service.8
@@ -0,0 +1,154 @@
+'\" t
+.TH "SYSTEMD\-TIMEDATED\&.SERVICE" "8" "" "systemd 255" "systemd-timedated.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-timedated.service, systemd-timedated \- Time and date bus mechanism
+.SH "SYNOPSIS"
+.PP
+systemd\-timedated\&.service
+.PP
+/usr/lib/systemd/systemd\-timedated
+.SH "DESCRIPTION"
+.PP
+systemd\-timedated\&.service
+is a system service that may be used as a mechanism to change the system clock and timezone, as well as to enable/disable network time synchronization\&.
+systemd\-timedated
+is automatically activated on request and terminates itself when it is unused\&.
+.PP
+The tool
+\fBtimedatectl\fR(1)
+is a command line client to this service\&.
+.PP
+systemd\-timedated
+currently offers access to the following four settings:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The system time
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+The system timezone
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A boolean controlling whether the system RTC is in local or UTC timezone
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Whether the time synchronization service is enabled/started or disabled/stopped, see next section\&.
+.RE
+.PP
+See
+\fBorg.freedesktop.timedate1\fR(5)
+and
+\fBorg.freedesktop.LogControl1\fR(5)
+for information about the D\-Bus API\&.
+.SH "LIST OF NETWORK TIME SYNCHRONIZATION SERVICES"
+.PP
+\fBsystemd\-timesyncd\fR
+will look for files with a
+"\&.list"
+extension in
+ntp\-units\&.d/
+directories\&. Each file is parsed as a list of unit names, one per line\&. Empty lines and lines with comments ("#") are ignored\&. Files are read from
+/usr/lib/systemd/ntp\-units\&.d/
+and the corresponding directories under
+/etc/,
+/run/,
+/usr/local/lib/\&. Files in
+/etc/
+override files with the same name in
+/run/,
+/usr/local/lib/, and
+/usr/lib/\&. Files in
+/run/
+override files with the same name under
+/usr/\&. Packages should install their configuration files in
+/usr/lib/
+(distribution packages) or
+/usr/local/lib/
+(local installs)\&.
+.PP
+\fBExample\ \&1.\ \&ntp\-units\&.d/ entry for systemd\-timesyncd\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /usr/lib/systemd/ntp\-units\&.d/80\-systemd\-timesync\&.list
+systemd\-timesyncd\&.service
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+If the environment variable
+\fI$SYSTEMD_TIMEDATED_NTP_SERVICES\fR
+is set,
+\fBsystemd\-timesyncd\fR
+will parse the contents of that variable as a colon\-separated list of unit names\&. When set, this variable overrides the file\-based list described above\&.
+.PP
+\fBExample\ \&2.\ \&An override that specifies that chronyd should be used if available\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+SYSTEMD_TIMEDATED_NTP_SERVICES=chronyd\&.service:systemd\-timesyncd\&.service
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBtimedatectl\fR(1),
+\fBlocaltime\fR(5),
+\fBhwclock\fR(8),
+\fBsystemd-timesyncd\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-timesyncd.service.8 b/upstream/fedora-40/man8/systemd-timesyncd.service.8
new file mode 100644
index 00000000..96ec2c88
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-timesyncd.service.8
@@ -0,0 +1,111 @@
+'\" t
+.TH "SYSTEMD\-TIMESYNCD\&.SERVICE" "8" "" "systemd 255" "systemd-timesyncd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-timesyncd.service, systemd-timesyncd \- Network Time Synchronization
+.SH "SYNOPSIS"
+.PP
+systemd\-timesyncd\&.service
+.PP
+/usr/lib/systemd/systemd\-timesyncd
+.SH "DESCRIPTION"
+.PP
+systemd\-timesyncd
+is a system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server\&. It also saves the local time to disk every time the clock has been synchronized and uses this to possibly advance the system realtime clock on subsequent reboots to ensure it (roughly) monotonically advances even if the system lacks a battery\-buffered RTC chip\&.
+.PP
+The
+systemd\-timesyncd
+service implements SNTP only\&. This minimalistic service will step the system clock for large offsets or slowly adjust it for smaller deltas\&. Complex use cases that require full NTP support (and where SNTP is not sufficient) are not covered by
+systemd\-timesyncd\&.
+.PP
+The NTP servers contacted are determined from the global settings in
+\fBtimesyncd.conf\fR(5), the per\-link static settings in
+\&.network
+files, and the per\-link dynamic settings received over DHCP\&. See
+\fBsystemd.network\fR(5)
+for further details\&.
+.PP
+\fBtimedatectl\fR(1)\*(Aqs
+\fBset\-ntp\fR
+command may be used to enable and start, or disable and stop this service\&.
+.PP
+\fBtimedatectl\fR(1)\*(Aqs
+\fBtimesync\-status\fR
+or
+\fBshow\-timesync\fR
+command can be used to show the current status of this service\&.
+.PP
+systemd\-timesyncd
+initialization delays the start of units that are ordered after
+time\-set\&.target
+(see
+\fBsystemd.special\fR(7)
+for details) until the local time has been updated from
+/var/lib/systemd/timesync/clock
+(see below) in order to make it roughly monotonic\&. It does not delay other units until synchronization with an accurate reference time sources has been reached\&. Use
+\fBsystemd-time-wait-sync.service\fR(8)
+to achieve that, which will delay start of units that are ordered after
+time\-sync\&.target
+until synchronization to an accurate reference clock is reached\&.
+.SH "FILES"
+.PP
+/var/lib/systemd/timesync/clock
+.RS 4
+The modification time ("mtime") of this file is updated on each successful NTP synchronization or after each
+\fISaveIntervalSec=\fR
+time interval, as specified in
+\fBtimesyncd.conf\fR(5)\&.
+.sp
+When initializing, the local clock is advanced to the modification time of this file (if the file timestamp is in the past this adjustment is not made)\&. If the file does not exist yet, the clock is instead advanced to the modification time of
+/usr/lib/clock\-epoch
+\(en if it exists \(en or to a time derived from the source tree at build time\&. This mechanism is used to ensure that the system clock remains somewhat reasonably initialized and roughly monotonic across reboots, in case no battery\-buffered local RTC is available\&.
+.sp
+Added in version 219\&.
+.RE
+.PP
+/usr/lib/clock\-epoch
+.RS 4
+The modification time ("mtime") of this file is used for advancing the system clock in case
+/var/lib/systemd/timesync/clock
+does not exist yet, see above\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+/run/systemd/timesync/synchronized
+.RS 4
+A file that is touched on each successful synchronization, to assist
+systemd\-time\-wait\-sync
+and other applications to detecting synchronization with accurate reference clocks\&.
+.sp
+Added in version 239\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBtimesyncd.conf\fR(5),
+\fBsystemd.network\fR(5),
+\fBsystemd-networkd.service\fR(8),
+\fBsystemd-time-wait-sync.service\fR(8),
+\fBsystemd.special\fR(7),
+\fBtimedatectl\fR(1),
+\fBlocaltime\fR(5),
+\fBhwclock\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-tmpfiles.8 b/upstream/fedora-40/man8/systemd-tmpfiles.8
new file mode 100644
index 00000000..cc6228af
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-tmpfiles.8
@@ -0,0 +1,517 @@
+'\" t
+.TH "SYSTEMD\-TMPFILES" "8" "" "systemd 255" "systemd-tmpfiles"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer \- Creates, deletes and cleans up volatile and temporary files and directories
+.SH "SYNOPSIS"
+.HP \w'\fBsystemd\-tmpfiles\fR\ 'u
+\fBsystemd\-tmpfiles\fR [OPTIONS...] [\fICONFIGFILE\fR...]
+.PP
+System units:
+.sp
+.nf
+systemd\-tmpfiles\-setup\&.service
+systemd\-tmpfiles\-setup\-dev\-early\&.service
+systemd\-tmpfiles\-setup\-dev\&.service
+systemd\-tmpfiles\-clean\&.service
+systemd\-tmpfiles\-clean\&.timer
+.fi
+.PP
+User units:
+.sp
+.nf
+systemd\-tmpfiles\-setup\&.service
+systemd\-tmpfiles\-clean\&.service
+systemd\-tmpfiles\-clean\&.timer
+.fi
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-tmpfiles\fR
+creates, deletes, and cleans up volatile and temporary files and directories, using the configuration file format and location specified in
+\fBtmpfiles.d\fR(5)\&. It must be invoked with one or more options
+\fB\-\-create\fR,
+\fB\-\-remove\fR, and
+\fB\-\-clean\fR, to select the respective subset of operations\&.
+.PP
+By default, directives from all configuration files are applied\&. When invoked with
+\fB\-\-replace=\fR\fB\fIPATH\fR\fR, arguments specified on the command line are used instead of the configuration file
+\fIPATH\fR\&. Otherwise, if one or more absolute filenames are passed on the command line, only the directives in these files are applied\&. If
+"\-"
+is specified instead of a filename, directives are read from standard input\&. If only the basename of a configuration file is specified, all configuration directories as specified in
+\fBtmpfiles.d\fR(5)
+are searched for a matching file and the file found that has the highest priority is executed\&.
+.PP
+System services (systemd\-tmpfiles\-setup\&.service,
+systemd\-tmpfiles\-setup\-dev\-early\&.service,
+systemd\-tmpfiles\-setup\-dev\&.service,
+systemd\-tmpfiles\-clean\&.service) invoke
+\fBsystemd\-tmpfiles\fR
+to create system files and to perform system wide cleanup\&. Those services read administrator\-controlled configuration files in
+tmpfiles\&.d/
+directories\&. User services (systemd\-tmpfiles\-setup\&.service,
+systemd\-tmpfiles\-clean\&.service) also invoke
+\fBsystemd\-tmpfiles\fR, but it reads a separate set of files, which includes user\-controlled files under
+~/\&.config/user\-tmpfiles\&.d/
+and
+~/\&.local/share/user\-tmpfiles\&.d/, and administrator\-controlled files under
+/usr/share/user\-tmpfiles\&.d/\&. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration\&. Note that this means a time\-based cleanup configured in the system instance, such as the one typically configured for
+/tmp/, will thus also affect files created by the user instance if they are placed in
+/tmp/, even if the user instance\*(Aqs time\-based cleanup is turned off\&.
+.PP
+To re\-apply settings after configuration has been modified, simply restart
+systemd\-tmpfiles\-clean\&.service, which will apply any settings which can be safely executed at runtime\&. To debug
+\fBsystemd\-tmpfiles\fR, it may be useful to invoke it directly from the command line with increased log level (see
+\fI$SYSTEMD_LOG_LEVEL\fR
+below)\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-create\fR
+.RS 4
+If this option is passed, all files and directories marked with
+\fIf\fR,
+\fIF\fR,
+\fIw\fR,
+\fId\fR,
+\fID\fR,
+\fIv\fR,
+\fIp\fR,
+\fIL\fR,
+\fIc\fR,
+\fIb\fR,
+\fIm\fR
+in the configuration files are created or written to\&. Files and directories marked with
+\fIz\fR,
+\fIZ\fR,
+\fIt\fR,
+\fIT\fR,
+\fIa\fR, and
+\fIA\fR
+have their ownership, access mode and security labels set\&.
+.RE
+.PP
+\fB\-\-clean\fR
+.RS 4
+If this option is passed, all files and directories with an age parameter configured will be cleaned up\&.
+.RE
+.PP
+\fB\-\-remove\fR
+.RS 4
+If this option is passed, the contents of directories marked with
+\fID\fR
+or
+\fIR\fR, and files or directories themselves marked with
+\fIr\fR
+or
+\fIR\fR
+are removed unless an exclusive or shared BSD lock is taken on them (see
+\fBflock\fR(2))\&.
+.RE
+.PP
+\fB\-\-user\fR
+.RS 4
+Execute "user" configuration, i\&.e\&.
+tmpfiles\&.d
+files in user configuration directories\&.
+.sp
+Added in version 236\&.
+.RE
+.PP
+\fB\-\-boot\fR
+.RS 4
+Also execute lines with an exclamation mark\&. Lines that are not safe to be executed on a running system may be marked in this way\&.
+\fBsystemd\-tmpfiles\fR
+is executed in early boot with
+\fB\-\-boot\fR
+specified and will execute those lines\&. When invoked again later, it should be called without
+\fB\-\-boot\fR\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fB\-\-graceful\fR
+.RS 4
+Ignore configuration lines pertaining to unknown users or groups\&. This option is intended to be used in early boot before all users or groups have been created\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-prefix=\fR\fB\fIpath\fR\fR
+.RS 4
+Only apply rules with paths that start with the specified prefix\&. This option can be specified multiple times\&.
+.sp
+Added in version 212\&.
+.RE
+.PP
+\fB\-\-exclude\-prefix=\fR\fB\fIpath\fR\fR
+.RS 4
+Ignore rules with paths that start with the specified prefix\&. This option can be specified multiple times\&.
+.sp
+Added in version 207\&.
+.RE
+.PP
+\fB\-E\fR
+.RS 4
+A shortcut for
+"\-\-exclude\-prefix=/dev \-\-exclude\-prefix=/proc \-\-exclude\-prefix=/run \-\-exclude\-prefix=/sys", i\&.e\&. exclude the hierarchies typically backed by virtual or memory file systems\&. This is useful in combination with
+\fB\-\-root=\fR, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime\&.
+.sp
+Added in version 247\&.
+.RE
+.PP
+\fB\-\-root=\fR\fB\fIroot\fR\fR
+.RS 4
+Takes a directory path as an argument\&. All paths will be prefixed with the given alternate
+\fIroot\fR
+path, including config search paths\&.
+.sp
+When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups\&. Instead the files
+/etc/passwd
+and
+/etc/group
+inside the alternate root are read directly\&. This means that users/groups not listed in these files will not be resolved, i\&.e\&. LDAP NIS and other complex databases are not considered\&.
+.sp
+Consider combining this with
+\fB\-E\fR
+to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime\&.
+.sp
+Added in version 212\&.
+.RE
+.PP
+\fB\-\-image=\fR\fB\fIimage\fR\fR
+.RS 4
+Takes a path to a disk image file or block device node\&. If specified all operations are applied to file system in the indicated disk image\&. This is similar to
+\fB\-\-root=\fR
+but operates on file systems stored in disk images or block devices\&. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the
+\m[blue]\fBDiscoverable Partitions Specification\fR\m[]\&\s-2\u[1]\d\s+2\&. For further information on supported disk images, see
+\fBsystemd-nspawn\fR(1)\*(Aqs switch of the same name\&.
+.sp
+Implies
+\fB\-E\fR\&.
+.sp
+Added in version 247\&.
+.RE
+.PP
+\fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR
+.RS 4
+Takes an image policy string as argument, as per
+\fBsystemd.image-policy\fR(7)\&. The policy is enforced when operating on the disk image specified via
+\fB\-\-image=\fR, see above\&. If not specified defaults to the
+"*"
+policy, i\&.e\&. all recognized file systems in the image are used\&.
+.RE
+.PP
+\fB\-\-replace=\fR\fB\fIPATH\fR\fR
+.RS 4
+When this option is given, one or more positional arguments must be specified\&. All configuration files found in the directories listed in
+\fBtmpfiles.d\fR(5)
+will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file
+\fIPATH\fR\&.
+.sp
+This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority\&.
+.sp
+Added in version 238\&.
+.RE
+.PP
+\fB\-\-cat\-config\fR
+.RS 4
+Copy the contents of config files to standard output\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-tldr\fR
+.RS 4
+Copy the contents of config files to standard output\&. Only the "interesting" parts of the configuration files are printed, comments and empty lines are skipped\&. Before each file, the filename is printed as a comment\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.PP
+It is possible to combine
+\fB\-\-create\fR,
+\fB\-\-clean\fR, and
+\fB\-\-remove\fR
+in one invocation (in which case removal and cleanup are executed before creation of new files)\&. For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemd\-tmpfiles \-\-remove \-\-create
+.fi
+.if n \{\
+.RE
+.\}
+.SH "CREDENTIALS"
+.PP
+\fBsystemd\-tmpfiles\fR
+supports the service credentials logic as implemented by
+\fIImportCredential=\fR/\fILoadCredential=\fR/\fISetCredential=\fR
+(see
+\fBsystemd.exec\fR(5)
+for details)\&. The following credentials are used when passed in:
+.PP
+\fItmpfiles\&.extra\fR
+.RS 4
+The contents of this credential may contain additional lines to operate on\&. The credential contents should follow the same format as any other
+tmpfiles\&.d/
+drop\-in configuration file\&. If this credential is passed it is processed after all of the drop\-in files read from the file system\&. The lines in the credential can hence augment existing lines of the OS, but not override them\&.
+.sp
+Added in version 252\&.
+.RE
+.PP
+Note that by default the
+systemd\-tmpfiles\-setup\&.service
+unit file (and related unit files) is set up to inherit the
+"tmpfiles\&.extra"
+credential from the service manager\&.
+.SH "ENVIRONMENT"
+.PP
+\fI$SYSTEMD_LOG_LEVEL\fR
+.RS 4
+The maximum log level of emitted messages (messages with a higher log level, i\&.e\&. less important ones, will be suppressed)\&. Either one of (in order of decreasing importance)
+\fBemerg\fR,
+\fBalert\fR,
+\fBcrit\fR,
+\fBerr\fR,
+\fBwarning\fR,
+\fBnotice\fR,
+\fBinfo\fR,
+\fBdebug\fR, or an integer in the range 0\&...7\&. See
+\fBsyslog\fR(3)
+for more information\&.
+.RE
+.PP
+\fI$SYSTEMD_LOG_COLOR\fR
+.RS 4
+A boolean\&. If true, messages written to the tty will be colored according to priority\&.
+.sp
+This setting is only useful when messages are written directly to the terminal, because
+\fBjournalctl\fR(1)
+and other tools that display logs will color messages based on the log level on their own\&.
+.RE
+.PP
+\fI$SYSTEMD_LOG_TIME\fR
+.RS 4
+A boolean\&. If true, console log messages will be prefixed with a timestamp\&.
+.sp
+This setting is only useful when messages are written directly to the terminal or a file, because
+\fBjournalctl\fR(1)
+and other tools that display logs will attach timestamps based on the entry metadata on their own\&.
+.RE
+.PP
+\fI$SYSTEMD_LOG_LOCATION\fR
+.RS 4
+A boolean\&. If true, messages will be prefixed with a filename and line number in the source code where the message originates\&.
+.sp
+Note that the log location is often attached as metadata to journal entries anyway\&. Including it directly in the message text can nevertheless be convenient when debugging programs\&.
+.RE
+.PP
+\fI$SYSTEMD_LOG_TARGET\fR
+.RS 4
+The destination for log messages\&. One of
+\fBconsole\fR
+(log to the attached tty),
+\fBconsole\-prefixed\fR
+(log to the attached tty but with prefixes encoding the log level and "facility", see
+\fBsyslog\fR(3),
+\fBkmsg\fR
+(log to the kernel circular log buffer),
+\fBjournal\fR
+(log to the journal),
+\fBjournal\-or\-kmsg\fR
+(log to the journal if available, and to kmsg otherwise),
+\fBauto\fR
+(determine the appropriate log target automatically, the default),
+\fBnull\fR
+(disable log output)\&.
+.RE
+.PP
+\fI$SYSTEMD_PAGER\fR
+.RS 4
+Pager to use when
+\fB\-\-no\-pager\fR
+is not given; overrides
+\fI$PAGER\fR\&. If neither
+\fI$SYSTEMD_PAGER\fR
+nor
+\fI$PAGER\fR
+are set, a set of well\-known pager implementations are tried in turn, including
+\fBless\fR(1)
+and
+\fBmore\fR(1), until one is found\&. If no pager implementation is discovered no pager is invoked\&. Setting this environment variable to an empty string or the value
+"cat"
+is equivalent to passing
+\fB\-\-no\-pager\fR\&.
+.sp
+Note: if
+\fI$SYSTEMD_PAGERSECURE\fR
+is not set,
+\fI$SYSTEMD_PAGER\fR
+(as well as
+\fI$PAGER\fR) will be silently ignored\&.
+.RE
+.PP
+\fI$SYSTEMD_LESS\fR
+.RS 4
+Override the options passed to
+\fBless\fR
+(by default
+"FRSXMK")\&.
+.sp
+Users might want to change two options in particular:
+.PP
+\fBK\fR
+.RS 4
+This option instructs the pager to exit immediately when
+Ctrl+C
+is pressed\&. To allow
+\fBless\fR
+to handle
+Ctrl+C
+itself to switch back to the pager command prompt, unset this option\&.
+.sp
+If the value of
+\fI$SYSTEMD_LESS\fR
+does not include
+"K", and the pager that is invoked is
+\fBless\fR,
+Ctrl+C
+will be ignored by the executable, and needs to be handled by the pager\&.
+.RE
+.PP
+\fBX\fR
+.RS 4
+This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal\&. It is set by default to allow command output to remain visible in the terminal even after the pager exits\&. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse\&.
+.RE
+.sp
+See
+\fBless\fR(1)
+for more discussion\&.
+.RE
+.PP
+\fI$SYSTEMD_LESSCHARSET\fR
+.RS 4
+Override the charset passed to
+\fBless\fR
+(by default
+"utf\-8", if the invoking terminal is determined to be UTF\-8 compatible)\&.
+.RE
+.PP
+\fI$SYSTEMD_PAGERSECURE\fR
+.RS 4
+Takes a boolean argument\&. When true, the "secure" mode of the pager is enabled; if false, disabled\&. If
+\fI$SYSTEMD_PAGERSECURE\fR
+is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see
+\fBgeteuid\fR(2)
+and
+\fBsd_pid_get_owner_uid\fR(3)\&. In secure mode,
+\fBLESSSECURE=1\fR
+will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses\&. When
+\fI$SYSTEMD_PAGERSECURE\fR
+is not set at all, pagers which are not known to implement secure mode will not be used\&. (Currently only
+\fBless\fR(1)
+implements secure mode\&.)
+.sp
+Note: when commands are invoked with elevated privileges, for example under
+\fBsudo\fR(8)
+or
+\fBpkexec\fR(1), care must be taken to ensure that unintended interactive features are not enabled\&. "Secure" mode for the pager may be enabled automatically as describe above\&. Setting
+\fISYSTEMD_PAGERSECURE=0\fR
+or not removing it from the inherited environment allows the user to invoke arbitrary commands\&. Note that if the
+\fI$SYSTEMD_PAGER\fR
+or
+\fI$PAGER\fR
+variables are to be honoured,
+\fI$SYSTEMD_PAGERSECURE\fR
+must be set too\&. It might be reasonable to completely disable the pager using
+\fB\-\-no\-pager\fR
+instead\&.
+.RE
+.PP
+\fI$SYSTEMD_COLORS\fR
+.RS 4
+Takes a boolean argument\&. When true,
+\fBsystemd\fR
+and related utilities will use colors in their output, otherwise the output will be monochrome\&. Additionally, the variable can take one of the following special values:
+"16",
+"256"
+to restrict the use of colors to the base 16 or 256 ANSI colors, respectively\&. This can be specified to override the automatic decision based on
+\fI$TERM\fR
+and what the console is connected to\&.
+.RE
+.PP
+\fI$SYSTEMD_URLIFY\fR
+.RS 4
+The value must be a boolean\&. Controls whether clickable links should be generated in the output for terminal emulators supporting this\&. This can be specified to override the decision that
+\fBsystemd\fR
+makes based on
+\fI$TERM\fR
+and other conditions\&.
+.RE
+.SH "UNPRIVILEGED \-\-CLEANUP OPERATION"
+.PP
+\fBsystemd\-tmpfiles\fR
+tries to avoid changing the access and modification times on the directories it accesses, which requires
+\fBCAP_FOWNER\fR
+privileges\&. When running as non\-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup\&.
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned\&. If the configuration was syntactically invalid (syntax errors, missing arguments, \&...), so some lines had to be ignored, but no other errors occurred,
+\fB65\fR
+is returned (\fBEX_DATAERR\fR
+from
+/usr/include/sysexits\&.h)\&. If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to
+/sys/
+values, \&...),
+\fB73\fR
+is returned (\fBEX_CANTCREAT\fR
+from
+/usr/include/sysexits\&.h)\&. Otherwise,
+\fB1\fR
+is returned (\fBEXIT_FAILURE\fR
+from
+/usr/include/stdlib\&.h)\&.
+.PP
+Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with
+"+", a message is emitted, but the failure is otherwise ignored\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBtmpfiles.d\fR(5)
+.SH "NOTES"
+.IP " 1." 4
+Discoverable Partitions Specification
+.RS 4
+\%https://uapi-group.org/specifications/specs/discoverable_partitions_specification
+.RE
diff --git a/upstream/fedora-40/man8/systemd-tpm2-setup.service.8 b/upstream/fedora-40/man8/systemd-tpm2-setup.service.8
new file mode 100644
index 00000000..bccb5479
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-tpm2-setup.service.8
@@ -0,0 +1,72 @@
+'\" t
+.TH "SYSTEMD\-TPM2\-SETUP\&.SERVICE" "8" "" "systemd 255" "systemd-tpm2-setup.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-tpm2-setup.service, systemd-tpm2-setup-early.service, systemd-tpm2-setup \- Set up the TPM2 Storage Root Key (SRK) at boot
+.SH "SYNOPSIS"
+.PP
+systemd\-tpm2\-setup\&.service
+.PP
+/usr/lib/systemd/systemd\-tpm2\-setup
+.SH "DESCRIPTION"
+.PP
+systemd\-tpm2\-setup\&.service
+and
+systemd\-tpm2\-setup\-early\&.service
+are services that generate the Storage Root Key (SRK) if it hasn\*(Aqt been generated yet, and stores it in the TPM\&.
+.PP
+The services will store the public key of the SRK key pair in a PEM file in
+/run/systemd/tpm2\-srk\-public\-key\&.pem
+and
+/var/lib/systemd/tpm2\-srk\-public\-key\&.pem\&. It will also store it in TPM2B_PUBLIC format in
+/run/systemd/tpm2\-srk\-public\-key\&.tpm2_public
+and
+/var/lib/systemd/tpm2\-srk\-public\-key\&.tpm2b_public\&.
+.PP
+systemd\-tpm2\-setup\-early\&.service
+runs very early at boot (possibly in the initrd), and writes the SRK public key to
+/run/systemd/tpm2\-srk\-public\-key\&.*
+(as
+/var/
+is generally not accessible this early yet), while
+systemd\-tpm2\-setup\&.service
+runs during a later boot phase and saves the public key to
+/var/lib/systemd/tpm2\-srk\-public\-key\&.*\&.
+.SH "FILES"
+.PP
+/run/systemd/tpm2\-srk\-public\-key\&.pem, /run/systemd/tpm2\-srk\-public\-key\&.tpm2b_public
+.RS 4
+The SRK public key in PEM and TPM2B_PUBLIC format, written during early boot\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+/var/lib/systemd/tpm2\-srk\-public\-key\&.pem, /var/lib/systemd/tpm2\-srk\-public\-key\&.tpm2_public
+.RS 4
+The SRK public key in PEM and TPM2B_PUBLIC format, written during later boot (once
+/var/
+is available)\&.
+.sp
+Added in version 255\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-udev-settle.service.8 b/upstream/fedora-40/man8/systemd-udev-settle.service.8
new file mode 100644
index 00000000..d045f09e
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-udev-settle.service.8
@@ -0,0 +1,42 @@
+'\" t
+.TH "SYSTEMD\-UDEV\-SETTLE\&.SERVICE" "8" "" "systemd 255" "systemd-udev-settle.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-udev-settle.service \- Wait for all pending udev events to be handled
+.SH "SYNOPSIS"
+.PP
+systemd\-udev\-settle\&.service
+.SH "DESCRIPTION"
+.PP
+This service calls
+\fBudevadm settle\fR
+to wait until all events that have been queued by
+\fBudev\fR(7)
+have been processed\&. It is a crude way to wait until "all" hardware has been discovered\&. Services may pull in this service and order themselves after it to wait for the udev queue to be empty\&.
+.PP
+\fIUsing this service is not recommended\&.\fR
+There can be no guarantee that hardware is fully discovered at any specific time, because the kernel does hardware detection asynchronously, and certain buses and devices take a very long time to become ready, and also additional hardware may be plugged in at any time\&. Instead, services should subscribe to udev events and react to any new hardware as it is discovered\&. Services that, based on configuration, expect certain devices to appear, may warn or report failure after a timeout\&. This timeout should be tailored to the hardware type\&. Waiting for
+systemd\-udev\-settle\&.service
+usually slows boot significantly, because it means waiting for all unrelated events too\&.
+.SH "SEE ALSO"
+.PP
+\fBudev\fR(7),
+\fBudevadm\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-udevd.service.8 b/upstream/fedora-40/man8/systemd-udevd.service.8
new file mode 100644
index 00000000..5ca6437b
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-udevd.service.8
@@ -0,0 +1,268 @@
+'\" t
+.TH "SYSTEMD\-UDEVD\&.SERVICE" "8" "" "systemd 255" "systemd-udevd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd \- Device event managing daemon
+.SH "SYNOPSIS"
+.PP
+systemd\-udevd\&.service
+.PP
+systemd\-udevd\-control\&.socket
+.PP
+systemd\-udevd\-kernel\&.socket
+.HP \w'\fB/usr/lib/systemd/systemd\-udevd\fR\ 'u
+\fB/usr/lib/systemd/systemd\-udevd\fR [\fB\-\-daemon\fR] [\fB\-\-debug\fR] [\fB\-\-children\-max=\fR] [\fB\-\-exec\-delay=\fR] [\fB\-\-event\-timeout=\fR] [\fB\-\-resolve\-names=early|late|never\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-udevd\fR
+listens to kernel uevents\&. For every event, systemd\-udevd executes matching instructions specified in udev rules\&. See
+\fBudev\fR(7)\&.
+.PP
+The behavior of the daemon can be configured using
+\fBudev.conf\fR(5), its command line options, environment variables, and on the kernel command line, or changed dynamically with
+\fBudevadm control\fR\&.
+.SH "OPTIONS"
+.PP
+\fB\-d\fR, \fB\-\-daemon\fR
+.RS 4
+Detach and run in the background\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fB\-D\fR, \fB\-\-debug\fR
+.RS 4
+Print debug messages to standard error\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fB\-c\fR, \fB\-\-children\-max=\fR
+.RS 4
+Limit the number of events executed in parallel\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fB\-e\fR, \fB\-\-exec\-delay=\fR
+.RS 4
+Delay the execution of each
+\fIRUN{\fR\fI\fIprogram\fR\fR\fI}\fR
+parameter by the given number of seconds\&. This option might be useful when debugging system crashes during coldplug caused by loading non\-working kernel modules\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fB\-t\fR, \fB\-\-event\-timeout=\fR
+.RS 4
+Set the number of seconds to wait for events to finish\&. After this time, the event will be terminated\&. The default is 180 seconds\&.
+.sp
+Added in version 216\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-timeout\-signal=\fR
+.RS 4
+Set the signal which
+systemd\-udevd
+will send to forked off processes after reaching event timeout\&. The setting can be overridden at boot time with the kernel command line option
+\fIudev\&.timeout_signal=\fR\&. Setting to
+\fBSIGABRT\fR
+may be helpful in order to debug worker timeouts\&. Defaults to
+\fBSIGKILL\fR\&. Note that setting the option on the command line overrides the setting from the configuration file\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+\fB\-N\fR, \fB\-\-resolve\-names=\fR
+.RS 4
+Specify when systemd\-udevd should resolve names of users and groups\&. When set to
+\fBearly\fR
+(the default), names will be resolved when the rules are parsed\&. When set to
+\fBlate\fR, names will be resolved for every event\&. When set to
+\fBnever\fR, names will never be resolved and all devices will be owned by root\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "KERNEL COMMAND LINE"
+.PP
+Parameters prefixed with "rd\&." will be read when
+\fBsystemd\-udevd\fR
+is used in an initrd, those without will be processed both in the initrd and on the host\&.
+.PP
+\fIudev\&.log_level=\fR, \fIrd\&.udev\&.log_level=\fR
+.RS 4
+Set the log level\&.
+.sp
+Added in version 247\&.
+.RE
+.PP
+\fIudev\&.children_max=\fR, \fIrd\&.udev\&.children_max=\fR
+.RS 4
+Limit the number of events executed in parallel\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIudev\&.exec_delay=\fR, \fIrd\&.udev\&.exec_delay=\fR
+.RS 4
+Delay the execution of each
+\fIRUN{\fR\fI\fIprogram\fR\fR\fI}\fR
+parameter by the given number of seconds\&. This option might be useful when debugging system crashes during coldplug caused by loading non\-working kernel modules\&.
+.sp
+Added in version 186\&.
+.RE
+.PP
+\fIudev\&.event_timeout=\fR, \fIrd\&.udev\&.event_timeout=\fR
+.RS 4
+Wait for events to finish up to the given number of seconds\&. This option might be useful if events are terminated due to kernel drivers taking too long to initialize\&.
+.sp
+Added in version 216\&.
+.RE
+.PP
+\fIudev\&.timeout_signal=\fR, \fIrd\&.udev\&.timeout_signal=\fR
+.RS 4
+Specifies a signal that
+systemd\-udevd
+will send to workers on timeout\&. Note that kernel command line option overrides both the setting in the configuration file and the one on the program command line\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+\fIudev\&.blockdev_read_only\fR, \fIrd\&.udev\&.blockdev_read_only\fR
+.RS 4
+If specified, mark all physical block devices read\-only as they appear\&. Synthetic block devices (such as loopback block devices or device mapper devices) are left as they are\&. This is useful to guarantee that the contents of physical block devices remains unmodified during runtime, for example to implement fully stateless systems, for testing or for recovery situations where corrupted file systems shall not be corrupted further through accidental modification\&.
+.sp
+A block device may be marked writable again by issuing the
+\fBblockdev \-\-setrw\fR
+command, see
+\fBblockdev\fR(8)
+for details\&.
+.sp
+Added in version 246\&.
+.RE
+.PP
+\fInet\&.ifnames=\fR
+.RS 4
+Network interfaces are renamed to give them predictable names when possible\&. It is enabled by default; specifying 0 disables it\&.
+.sp
+Added in version 199\&.
+.RE
+.PP
+\fInet\&.naming\-scheme=\fR
+.RS 4
+Network interfaces are renamed to give them predictable names when possible (unless
+\fInet\&.ifnames=0\fR
+is specified, see above)\&. With this kernel command line option it is possible to pick a specific version of this algorithm and override the default chosen at compilation time\&. Expects one of the naming scheme identifiers listed in
+\fBsystemd.net-naming-scheme\fR(7), or
+"latest"
+to select the latest scheme known (to this particular version of
+systemd\-udevd\&.service)\&.
+.sp
+Note that selecting a specific scheme is not sufficient to fully stabilize interface naming: the naming is generally derived from driver attributes exposed by the kernel\&. As the kernel is updated, previously missing attributes
+systemd\-udevd\&.service
+is checking might appear, which affects older name derivation algorithms, too\&.
+.sp
+Added in version 240\&.
+.RE
+.PP
+\fInet\&.ifname\-policy=\fR\fI\fIpolicy1\fR\fR\fI[,\fR\fI\fIpolicy2\fR\fR\fI,\&...][,\fR\fI\fIMAC\fR\fR\fI]\fR
+.RS 4
+Specifies naming policies applied when renaming network interfaces\&. Takes a list of policies and an optional MAC address separated with comma\&. Each policy value must be one of the policies understood by the
+\fINamePolicy=\fR
+setting in \&.link files, e\&.g\&.
+"onboard"
+or
+"path"\&. See
+\fBsystemd.link\fR(5)
+for more details\&. When the MAC address is specified, the policies are applied to the interface which has the address\&. When no MAC address is specified, the policies are applied to all interfaces\&. This kernel command line argument can be specified multiple times\&.
+.sp
+This argument is not directly read by
+\fBsystemd\-udevd\fR, but is instead converted to a \&.link file by
+\fBsystemd-network-generator.service\fR(8)\&. For this argument to take effect,
+systemd\-network\-generator\&.service
+must be enabled\&.
+.sp
+Example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+net\&.ifname\-policy=keep,kernel,path,slot,onboard,01:23:45:67:89:ab
+net\&.ifname\-policy=keep,kernel,path,slot,onboard,mac
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+This is mostly equivalent to creating the following \&.link files:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# 91\-name\-policy\-with\-mac\&.link
+[Match]
+MACAddress=01:23:45:67:89:ab
+
+[Link]
+NamePolicy=keep kernel path slot onboard
+AlternativeNamePolicy=path slot onboard
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+and
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# 92\-name\-policy\-for\-all\&.link
+[Match]
+OriginalName=*
+
+[Link]
+NamePolicy=keep kernel path slot onboard mac
+AlternativeNamePolicy=path slot onboard mac
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Added in version 250\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBudev.conf\fR(5),
+\fBudev\fR(7),
+\fBudevadm\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-update-done.service.8 b/upstream/fedora-40/man8/systemd-update-done.service.8
new file mode 100644
index 00000000..22332dc8
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-update-done.service.8
@@ -0,0 +1,81 @@
+'\" t
+.TH "SYSTEMD\-UPDATE\-DONE\&.SERVICE" "8" "" "systemd 255" "systemd-update-done.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-update-done.service, systemd-update-done \- Mark /etc/ and /var/ fully updated
+.SH "SYNOPSIS"
+.PP
+systemd\-update\-done\&.service
+.PP
+/usr/lib/systemd/systemd\-update\-done
+.SH "DESCRIPTION"
+.PP
+systemd\-update\-done\&.service
+is a service that is invoked as part of the first boot after the vendor operating system resources in
+/usr/
+have been updated\&. This is useful to implement offline updates of
+/usr/
+which might require updates to
+/etc/
+or
+/var/
+on the following boot\&.
+.PP
+systemd\-update\-done\&.service
+updates the file modification time (mtime) of the stamp files
+/etc/\&.updated
+and
+/var/\&.updated
+to the modification time of the
+/usr/
+directory, unless the stamp files are already newer\&.
+.PP
+Services that shall run after offline upgrades of
+/usr/
+should order themselves before
+systemd\-update\-done\&.service, and use the
+\fIConditionNeedsUpdate=\fR
+(see
+\fBsystemd.unit\fR(5)) condition to make sure to run when
+/etc/
+or
+/var/
+are older than
+/usr/
+according to the modification times of the files described above\&. This requires that updates to
+/usr/
+are always followed by an update of the modification time of
+/usr/, for example by invoking
+\fBtouch\fR(1)
+on it\&.
+.PP
+Note that if the
+\fIsystemd\&.condition\-needs\-update=\fR
+kernel command line option is used it overrides the
+\fIConditionNeedsUpdate=\fR
+unit condition checks\&. In that case
+systemd\-update\-done\&.service
+will not reset the condition state until a follow\-up reboot where the kernel switch is not specified anymore\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.unit\fR(5),
+\fBtouch\fR(1)
diff --git a/upstream/fedora-40/man8/systemd-update-utmp.service.8 b/upstream/fedora-40/man8/systemd-update-utmp.service.8
new file mode 100644
index 00000000..b7c6e013
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-update-utmp.service.8
@@ -0,0 +1,41 @@
+'\" t
+.TH "SYSTEMD\-UPDATE\-UTMP\&.SERVICE" "8" "" "systemd 255" "systemd-update-utmp.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-update-utmp.service, systemd-update-utmp-runlevel.service, systemd-update-utmp \- Write audit and utmp updates at bootup, runlevel changes and shutdown
+.SH "SYNOPSIS"
+.PP
+systemd\-update\-utmp\&.service
+.PP
+systemd\-update\-utmp\-runlevel\&.service
+.PP
+/usr/lib/systemd/systemd\-update\-utmp
+.SH "DESCRIPTION"
+.PP
+systemd\-update\-utmp\-runlevel\&.service
+is a service that writes SysV runlevel changes to utmp and wtmp, as well as the audit logs, as they occur\&.
+systemd\-update\-utmp\&.service
+does the same for system reboots and shutdown requests\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fButmp\fR(5),
+\fBauditd\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-user-sessions.service.8 b/upstream/fedora-40/man8/systemd-user-sessions.service.8
new file mode 100644
index 00000000..c6be118b
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-user-sessions.service.8
@@ -0,0 +1,40 @@
+'\" t
+.TH "SYSTEMD\-USER\-SESSIONS\&.SERVICE" "8" "" "systemd 255" "systemd-user-sessions.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-user-sessions.service, systemd-user-sessions \- Permit user logins after boot, prohibit user logins at shutdown
+.SH "SYNOPSIS"
+.PP
+systemd\-user\-sessions\&.service
+.PP
+/usr/lib/systemd/systemd\-user\-sessions
+.SH "DESCRIPTION"
+.PP
+systemd\-user\-sessions\&.service
+is a service that controls user logins through
+\fBpam_nologin\fR(8)\&. After basic system initialization is complete, it removes
+/run/nologin, thus permitting logins\&. Before system shutdown, it creates
+/run/nologin, thus prohibiting further logins\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-logind.service\fR(8),
+\fBpam_nologin\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-userdbd.service.8 b/upstream/fedora-40/man8/systemd-userdbd.service.8
new file mode 100644
index 00000000..62831c5d
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-userdbd.service.8
@@ -0,0 +1,95 @@
+'\" t
+.TH "SYSTEMD\-USERDBD\&.SERVICE" "8" "" "systemd 255" "systemd-userdbd.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-userdbd.service, systemd-userdbd \- JSON User/Group Record Query Multiplexer/NSS Compatibility
+.SH "SYNOPSIS"
+.PP
+systemd\-userdbd\&.service
+.PP
+/usr/lib/systemd/systemd\-userdbd
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-userdbd\fR
+is a system service that multiplexes user/group lookups to all local services that provide JSON user/group record definitions to the system\&. In addition it synthesizes JSON user/group records from classic UNIX/glibc NSS user/group records in order to provide full backwards compatibility\&. It may also pick up statically defined JSON user/group records from files in
+/etc/userdb/,
+/run/userdb/,
+/run/host/userdb/
+and
+/usr/lib/userdb/
+with the
+"\&.user"
+extension\&.
+.PP
+Most of
+\fBsystemd\-userdbd\fR\*(Aqs functionality is accessible through the
+\fBuserdbctl\fR(1)
+command\&.
+.PP
+The user and group records this service provides access to follow the
+\m[blue]\fBJSON User Records\fR\m[]\&\s-2\u[1]\d\s+2
+and
+\m[blue]\fBJSON Group Record\fR\m[]\&\s-2\u[2]\d\s+2
+definitions\&. This service implements the
+\m[blue]\fBUser/Group Record Lookup API via Varlink\fR\m[]\&\s-2\u[3]\d\s+2, and multiplexes access other services implementing this API, too\&. It is thus both server and client of this API\&.
+.PP
+This service provides three distinct
+\m[blue]\fBVarlink\fR\m[]\&\s-2\u[4]\d\s+2
+services:
+\fBio\&.systemd\&.Multiplexer\fR
+provides a single, unified API for querying JSON user and group records\&. Internally it talks to all other user/group record services running on the system in parallel and forwards any information discovered\&. This simplifies clients substantially since they need to talk to a single service only instead of all of them in parallel\&.
+\fBio\&.systemd\&.NameServiceSwitch\fR
+provides compatibility with classic UNIX/glibc NSS user records, i\&.e\&. converts
+\fBstruct passwd\fR
+and
+\fBstruct group\fR
+records as acquired with APIs such as
+\fBgetpwnam\fR(1)
+to JSON user/group records, thus hiding the differences between the services as much as possible\&.
+\fBio\&.systemd\&.DropIn\fR
+makes JSON user/group records from the aforementioned drop\-in directories available\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBnss-systemd\fR(8),
+\fBuserdbctl\fR(1),
+\fBsystemd-homed.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+JSON User Records
+.RS 4
+\%https://systemd.io/USER_RECORD
+.RE
+.IP " 2." 4
+JSON Group Record
+.RS 4
+\%https://systemd.io/GROUP_RECORD
+.RE
+.IP " 3." 4
+User/Group Record Lookup API via Varlink
+.RS 4
+\%https://systemd.io/USER_GROUP_API
+.RE
+.IP " 4." 4
+Varlink
+.RS 4
+\%https://varlink.org/
+.RE
diff --git a/upstream/fedora-40/man8/systemd-vconsole-setup.service.8 b/upstream/fedora-40/man8/systemd-vconsole-setup.service.8
new file mode 100644
index 00000000..46a2f5bc
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-vconsole-setup.service.8
@@ -0,0 +1,99 @@
+'\" t
+.TH "SYSTEMD\-VCONSOLE\-SETUP\&.SERVICE" "8" "" "systemd 255" "systemd-vconsole-setup.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-vconsole-setup.service, systemd-vconsole-setup \- Configure the virtual consoles
+.SH "SYNOPSIS"
+.PP
+systemd\-vconsole\-setup\&.service
+.HP \w'\fB/usr/lib/systemd/systemd\-vconsole\-setup\fR\ 'u
+\fB/usr/lib/systemd/systemd\-vconsole\-setup\fR [TTY]
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-vconsole\-setup\fR
+sets up and configures either all virtual consoles, or \(em if the optional
+\fITTY\fR
+parameter is provided \(em a specific one\&. When the system is booting up,
+systemd\-vconsole\-setup\&.service
+is called by
+\fBsystemd-udevd\fR(8)
+during VT console subsystem initialization\&. Also,
+\fBsystemd-localed.service\fR(8)
+invokes it as needed when language or console changes are made\&. Internally, this program calls
+\fBloadkeys\fR(1)
+and
+\fBsetfont\fR(8)\&.
+.PP
+Execute
+\fBsystemctl restart systemd\-vconsole\-setup\&.service\fR
+in order to apply any manual changes made to
+/etc/vconsole\&.conf\&.
+.PP
+See
+\fBvconsole.conf\fR(5)
+for information about the configuration files and kernel command line options understood by this program\&.
+.SH "CREDENTIALS"
+.PP
+\fBsystemd\-vconsole\-setup\fR
+supports the service credentials logic as implemented by
+\fIImportCredential=\fR/\fILoadCredential=\fR/\fISetCredential=\fR
+(see
+\fBsystemd.exec\fR(5)
+for details)\&. The following credentials are used when passed in:
+.PP
+\fIvconsole\&.keymap\fR, \fIvconsole\&.keymap_toggle\fR
+.RS 4
+The keymap (and toggle keymap) to apply\&. The matching options in
+vconsole\&.conf
+and on the kernel command line take precedence over these credentials\&.
+.sp
+Note the relationship to the
+\fIfirstboot\&.keymap\fR
+credential understood by
+\fBsystemd-firstboot.service\fR(8): both ultimately affect the same setting, but
+\fIfirstboot\&.keymap\fR
+is written into
+/etc/vconsole\&.conf
+on first boot (if not already configured), and then read from there by
+\fBsystemd\-vconsole\-setup\fR, while
+\fIvconsole\&.keymap\fR
+is read on every boot, and is not persisted to disk (but any configuration in
+vconsole\&.conf
+will take precedence if present)\&.
+.sp
+Added in version 253\&.
+.RE
+.PP
+\fIvconsole\&.font\fR, \fIvconsole\&.font_map\fR, \fIvconsole\&.font_unimap\fR
+.RS 4
+The console font settings to apply\&. The matching options in
+vconsole\&.conf
+and on the kernel command line take precedence over these credentials\&.
+.sp
+Added in version 253\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBvconsole.conf\fR(5),
+\fBloadkeys\fR(1),
+\fBsetfont\fR(8),
+\fBsystemd-localed.service\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-veritysetup-generator.8 b/upstream/fedora-40/man8/systemd-veritysetup-generator.8
new file mode 100644
index 00000000..7f3c0453
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-veritysetup-generator.8
@@ -0,0 +1,119 @@
+'\" t
+.TH "SYSTEMD\-VERITYSETUP\-GENERATOR" "8" "" "systemd 255" "systemd-veritysetup-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-veritysetup-generator \- Unit generator for verity protected block devices
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/system\-generators/systemd\-veritysetup\-generator
+.SH "DESCRIPTION"
+.PP
+\fBsystemd\-veritysetup\-generator\fR
+is a generator that translates kernel command line options configuring verity protected block devices into native systemd units early at boot and when configuration of the system manager is reloaded\&. This will create
+\fBsystemd-veritysetup@.service\fR(8)
+units as necessary\&.
+.PP
+Currently, only two verity devices may be set up with this generator, backing the root and
+/usr
+file systems of the OS\&.
+.PP
+\fBsystemd\-veritysetup\-generator\fR
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "KERNEL COMMAND LINE"
+.PP
+\fBsystemd\-veritysetup\-generator\fR
+understands the following kernel command line parameters:
+.PP
+\fIsystemd\&.verity=\fR, \fIrd\&.systemd\&.verity=\fR
+.RS 4
+Takes a boolean argument\&. Defaults to
+"yes"\&. If
+"no", disables the generator entirely\&.
+\fIrd\&.systemd\&.verity=\fR
+is honored only by the initrd while
+\fIsystemd\&.verity=\fR
+is honored by both the host system and the initrd\&.
+.sp
+Added in version 233\&.
+.RE
+.PP
+\fIroothash=\fR
+.RS 4
+Takes a root hash value for the root file system\&. Expects a hash value formatted in hexadecimal characters of the appropriate length (i\&.e\&. most likely 256 bit/64 characters, or longer)\&. If not specified via
+\fIsystemd\&.verity_root_data=\fR
+and
+\fIsystemd\&.verity_root_hash=\fR, the hash and data devices to use are automatically derived from the specified hash value\&. Specifically, the data partition device is looked for under a GPT partition UUID derived from the first 128\-bit of the root hash, the hash partition device is looked for under a GPT partition UUID derived from the last 128\-bit of the root hash\&. Hence it is usually sufficient to specify the root hash to boot from a verity protected root file system, as device paths are automatically determined from it \(em as long as the partition table is properly set up\&.
+.sp
+Added in version 233\&.
+.RE
+.PP
+\fIsystemd\&.verity_root_data=\fR, \fIsystemd\&.verity_root_hash=\fR
+.RS 4
+These two settings take block device paths as arguments and may be used to explicitly configure the data partition and hash partition to use for setting up the verity protection for the root file system\&. If not specified, these paths are automatically derived from the
+\fIroothash=\fR
+argument (see above)\&.
+.sp
+Added in version 233\&.
+.RE
+.PP
+\fIsystemd\&.verity_root_options=\fR
+.RS 4
+Takes a comma\-separated list of dm\-verity options\&. Expects the following options
+\fBsuperblock=\fR\fB\fIBOOLEAN\fR\fR,
+\fBformat=\fR\fB\fINUMBER\fR\fR,
+\fBdata\-block\-size=\fR\fB\fIBYTES\fR\fR,
+\fBhash\-block\-size=\fR\fB\fIBYTES\fR\fR,
+\fBdata\-blocks=\fR\fB\fIBLOCKS\fR\fR,
+\fBhash\-offset=\fR\fB\fIBYTES\fR\fR,
+\fBsalt=\fR\fB\fIHEX\fR\fR,
+\fBuuid=\fR\fB\fIUUID\fR\fR,
+\fBignore\-corruption\fR,
+\fBrestart\-on\-corruption\fR,
+\fBignore\-zero\-blocks\fR,
+\fBcheck\-at\-most\-once\fR,
+\fBpanic\-on\-corruption\fR,
+\fBhash=\fR\fB\fIHASH\fR\fR,
+\fBfec\-device=\fR\fB\fIPATH\fR\fR,
+\fBfec\-offset=\fR\fB\fIBYTES\fR\fR,
+\fBfec\-roots=\fR\fB\fINUM\fR\fR
+and
+\fBroot\-hash\-signature=\fR\fB\fIPATH\fR\fR\fB|base64:\fR\fB\fIHEX\fR\fR\&. See
+\fBveritysetup\fR(8)
+for more details\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fIusrhash=\fR, \fIsystemd\&.verity_usr_data=\fR, \fIsystemd\&.verity_usr_hash=\fR, \fIsystemd\&.verity_usr_options=\fR
+.RS 4
+Equivalent to their counterparts for the root file system as described above, but apply to the
+/usr/
+file system instead\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-veritysetup@.service\fR(8),
+\fBveritysetup\fR(8),
+\fBsystemd-fstab-generator\fR(8)
diff --git a/upstream/fedora-40/man8/systemd-veritysetup@.service.8 b/upstream/fedora-40/man8/systemd-veritysetup@.service.8
new file mode 100644
index 00000000..f12ba36f
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-veritysetup@.service.8
@@ -0,0 +1,89 @@
+'\" t
+.TH "SYSTEMD\-VERITYSETUP@\&.SERVICE" "8" "" "systemd 255" "systemd-veritysetup@.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-veritysetup@.service, systemd-veritysetup \- Disk verity protection logic
+.SH "SYNOPSIS"
+.PP
+systemd\-veritysetup@\&.service
+.PP
+/usr/lib/systemd/systemd\-veritysetup
+.SH "DESCRIPTION"
+.PP
+systemd\-veritysetup@\&.service
+is a service responsible for setting up verity protection block devices\&. It should be instantiated for each device that requires verity protection\&.
+.PP
+At early boot and when the system manager configuration is reloaded kernel command line configuration for verity protected block devices is translated into
+systemd\-veritysetup@\&.service
+units by
+\fBsystemd-veritysetup-generator\fR(8)\&.
+.PP
+systemd\-veritysetup@\&.service
+calls
+\fBsystemd\-veritysetup\fR\&.
+.SH "COMMANDS"
+.PP
+The following commands are understood by
+\fBsystemd\-veritysetup\fR:
+.PP
+\fBattach\fR \fIvolume\fR \fIdatadevice\fR \fIhashdevice\fR \fIroothash\fR [\fIoption\fR\&.\&.\&.]
+.RS 4
+Create a block device
+\fIvolume\fR
+using
+\fIdatadevice\fR
+and
+\fIhashdevice\fR
+as the backing devices\&.
+\fIroothash\fR
+forms the root of the tree of hashes stored on
+\fIhashdevice\fR\&. See
+\m[blue]\fBKernel dm\-verity\fR\m[]\&\s-2\u[1]\d\s+2
+documentation for details\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fBdetach\fR \fIvolume\fR
+.RS 4
+Detach (destroy) the block device
+\fIvolume\fR\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fBhelp\fR
+.RS 4
+Print short information about command syntax\&.
+.sp
+Added in version 250\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-veritysetup-generator\fR(8),
+\fBveritysetup\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Kernel dm-verity
+.RS 4
+\%https://docs.kernel.org/admin-guide/device-mapper/verity.html
+.RE
diff --git a/upstream/fedora-40/man8/systemd-volatile-root.service.8 b/upstream/fedora-40/man8/systemd-volatile-root.service.8
new file mode 100644
index 00000000..4e8c59bc
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-volatile-root.service.8
@@ -0,0 +1,50 @@
+'\" t
+.TH "SYSTEMD\-VOLATILE\-ROOT\&.SERVICE" "8" "" "systemd 255" "systemd-volatile-root.service"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-volatile-root.service, systemd-volatile-root \- Make the root file system volatile
+.SH "SYNOPSIS"
+.PP
+systemd\-volatile\-root\&.service
+.PP
+/usr/lib/systemd/systemd\-volatile\-root
+.SH "DESCRIPTION"
+.PP
+systemd\-volatile\-root\&.service
+is a service that replaces the root directory with a volatile memory file system ("tmpfs"), mounting the original (non\-volatile)
+/usr/
+inside it read\-only\&. This way, vendor data from
+/usr/
+is available as usual, but all configuration data in
+/etc/, all state data in
+/var/
+and all other resources stored directly under the root directory are reset on boot and lost at shutdown, enabling fully stateless systems\&.
+.PP
+This service is only enabled if full volatile mode is selected, for example by specifying
+"systemd\&.volatile=yes"
+on the kernel command line\&. This service runs only in the initrd, before the system transitions to the host\*(Aqs root directory\&. Note that this service is not used if
+"systemd\&.volatile=state"
+is used, as in that mode the root directory is non\-volatile\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-fstab-generator\fR(8),
+\fBkernel-command-line\fR(7)
diff --git a/upstream/fedora-40/man8/systemd-xdg-autostart-generator.8 b/upstream/fedora-40/man8/systemd-xdg-autostart-generator.8
new file mode 100644
index 00000000..4d0787cc
--- /dev/null
+++ b/upstream/fedora-40/man8/systemd-xdg-autostart-generator.8
@@ -0,0 +1,119 @@
+'\" t
+.TH "SYSTEMD\-XDG\-AUTOSTART\-GENERATOR" "8" "" "systemd 255" "systemd-xdg-autostart-generator"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd-xdg-autostart-generator \- User unit generator for XDG autostart files
+.SH "SYNOPSIS"
+.PP
+/usr/lib/systemd/user\-generators/systemd\-xdg\-autostart\-generator
+.SH "DESCRIPTION"
+.PP
+systemd\-xdg\-autostart\-generator
+is a generator that creates \&.service units for
+\m[blue]\fBXDG autostart\fR\m[]\&\s-2\u[1]\d\s+2
+files\&. This permits desktop environments to delegate startup of these applications to
+\fBsystemd\fR(1)
+\&.
+.PP
+Units created by
+systemd\-xdg\-autostart\-generator
+can be started by the desktop environment using
+"xdg\-desktop\-autostart\&.target"\&. See
+\fBsystemd.special\fR(7)
+for more details\&.
+.PP
+XDG autostart may be conditionalized using both standardized and non\-standardized keys\&. In order to handle these, the generator may create one or more
+\fIExecCondition=\fR
+entries\&. For non\-standardized keys, well\-known helper binaries provided by Desktop Environments are used\&. All external helpers
+\fImust\fR
+detect their corresponding desktop environment and
+\fImust\fR
+return success when run in a different environment\&. This is important as all
+\fIExecCondition=\fR
+directives must succeed for an application to be started\&.
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.B Table\ \&1.\ \& Special XDG desktop file entries that are processed
+.TS
+allbox tab(:);
+lB lB.
+T{
+Entry
+T}:T{
+Handling
+T}
+.T&
+l l
+l l
+l l
+l l
+l l
+l l.
+T{
+\fIHidden=\fR, \fIX\-systemd\-skip=\fR
+T}:T{
+No service will be generated if set to true
+T}
+T{
+\fIOnlyShowIn=\fR, \fINotShowIn=\fR
+T}:T{
+\fIExecCondition=\fR using systemd\-xdg\-autostart\-condition
+T}
+T{
+\fITryExec=\fR
+T}:T{
+No service will be generated if the binary does not exist or cannot be executed
+T}
+T{
+\fIAutostartCondition=\fR (GNOME extension)
+T}:T{
+\fIExecCondition=\fR using gnome\-systemd\-autostart\-condition
+T}
+T{
+\fIX\-GNOME\-Autostart\-Phase=\fR
+T}:T{
+No service will be generated if set to any value
+T}
+T{
+\fIX\-KDE\-autostart\-condition=\fR
+T}:T{
+\fIExecCondition=\fR using kde\-systemd\-start\-condition
+T}
+.TE
+.sp 1
+.PP
+systemd\-xdg\-autostart\-generator
+implements
+\fBsystemd.generator\fR(7)\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd.service\fR(5),
+\fBsystemd.target\fR(5)
+.SH "NOTES"
+.IP " 1." 4
+XDG autostart
+.RS 4
+\%https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html
+.RE
diff --git a/upstream/fedora-40/man8/telinit.8 b/upstream/fedora-40/man8/telinit.8
new file mode 100644
index 00000000..750c2242
--- /dev/null
+++ b/upstream/fedora-40/man8/telinit.8
@@ -0,0 +1,101 @@
+'\" t
+.TH "TELINIT" "8" "" "systemd 255" "telinit"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+telinit \- Change SysV runlevel
+.SH "SYNOPSIS"
+.HP \w'\fBtelinit\ \fR\fB[OPTIONS...]\fR\fB\ \fR\fB{COMMAND}\fR\ 'u
+\fBtelinit \fR\fB[OPTIONS...]\fR\fB \fR\fB{COMMAND}\fR
+.SH "DESCRIPTION"
+.PP
+\fBtelinit\fR
+may be used to change the SysV system runlevel\&. Since the concept of SysV runlevels is obsolete the runlevel requests will be transparently translated into systemd unit activation requests\&.
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-no\-wall\fR
+.RS 4
+Do not send wall message before reboot/halt/power\-off\&.
+.RE
+.PP
+The following commands are understood:
+.PP
+\fB0\fR
+.RS 4
+Power\-off the machine\&. This is translated into an activation request for
+poweroff\&.target
+and is equivalent to
+\fBsystemctl poweroff\fR\&.
+.RE
+.PP
+\fB6\fR
+.RS 4
+Reboot the machine\&. This is translated into an activation request for
+reboot\&.target
+and is equivalent to
+\fBsystemctl reboot\fR\&.
+.RE
+.PP
+\fB2\fR, \fB3\fR, \fB4\fR, \fB5\fR
+.RS 4
+Change the SysV runlevel\&. This is translated into an activation request for
+runlevel2\&.target,
+runlevel3\&.target, \&... and is equivalent to
+\fBsystemctl isolate runlevel2\&.target\fR,
+\fBsystemctl isolate runlevel3\&.target\fR, \&...
+.RE
+.PP
+\fB1\fR, \fBs\fR, \fBS\fR
+.RS 4
+Change into system rescue mode\&. This is translated into an activation request for
+rescue\&.target
+and is equivalent to
+\fBsystemctl rescue\fR\&.
+.RE
+.PP
+\fBq\fR, \fBQ\fR
+.RS 4
+Reload daemon configuration\&. This is equivalent to
+\fBsystemctl daemon\-reload\fR\&.
+.RE
+.PP
+\fBu\fR, \fBU\fR
+.RS 4
+Serialize state, reexecute daemon and deserialize state again\&. This is equivalent to
+\fBsystemctl daemon\-reexec\fR\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+On success, 0 is returned, a non\-zero failure code otherwise\&.
+.SH "NOTES"
+.PP
+This is a legacy command available for compatibility only\&. It should not be used anymore, as the concept of runlevels is obsolete\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBwall\fR(1)
diff --git a/upstream/fedora-40/man8/tipc-bearer.8 b/upstream/fedora-40/man8/tipc-bearer.8
new file mode 100644
index 00000000..d95b1e1c
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-bearer.8
@@ -0,0 +1,250 @@
+.TH TIPC-BEARER 8 "02 Jun 2015" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-bearer \- show or modify TIPC bearers
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+.B tipc bearer add media udp name
+.IB "NAME " "remoteip " REMOTEIP
+.br
+
+.ti -8
+.B tipc bearer enable
+.RB "[ " domain
+.IR DOMAIN " ]"
+.RB "[ " priority
+.IR PRIORITY " ]"
+.BR media
+.br
+.RB "{ { " eth " | " ib " } " device
+.IR "DEVICE" " }"
+.RB "|"
+.br
+.RB "{ " udp
+.B name
+.IR NAME
+.B localip
+.IR LOCALIP
+.RB "[ " localport
+.IR LOCALPORT " ]"
+.RB "[ " remoteip
+.IR REMOTEIP " ]"
+.RB "[ " remoteport
+.IR REMOTEPORT " ] }"
+.br
+
+.ti -8
+.B tipc bearer disable media
+.br
+.RB "{ { " eth " | " ib " } " device
+.IR "DEVICE " }
+.RB "|"
+.br
+.RB "{ " udp
+.B name
+.IR NAME " }"
+.br
+
+.ti -8
+.B tipc bearer set
+.RB "{ " "priority "
+.IR PRIORITY
+.RB "| " tolerance
+.IR TOLERANCE
+.RB "| " window
+.IR WINDOW
+.RB "} " media
+.br
+.RB "{ { " eth " | " ib " } " device
+.IR "DEVICE" " }"
+.RB "|"
+.br
+.RB "{ " udp
+.B name
+.IR NAME " }"
+.br
+
+.ti -8
+.B tipc bearer get
+.RB "[ " "priority" " | " tolerance " | " window " ] " media
+.br
+.RB "{ { " eth " | " ib " } " device
+.IR "DEVICE" " }"
+.RB "|"
+.br
+.RB "{ " udp
+.B name
+.IR NAME
+.RB "[ " "localip " "| " "localport " "| " "remoteip " "| " "remoteport " "] }"
+.br
+
+.ti -8
+.B tipc bearer list
+.br
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+Show help about last valid command. For example
+.B tipc bearer --help
+will show bearer help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+.SH DESCRIPTION
+
+.SS Bearer identification
+.TP
+.BI "media " MEDIA
+.br
+Specifies the TIPC media type for a particular bearer to operate on.
+Different media types have different ways of identifying a unique bearer.
+For example,
+.BR "ib " "and " eth
+identify a bearer with a
+.I DEVICE
+while
+.B udp
+identify a bearer with a
+.IR "LOCALIP " "and a " NAME
+
+.B ib
+- Infiniband
+.sp
+.B eth
+- Ethernet
+.sp
+.B udp
+- User Datagram Protocol (UDP)
+.sp
+
+.TP
+.BI "name " NAME
+.br
+Logical bearer identifier valid for bearers on
+.B udp
+media.
+
+.TP
+.BI "device " DEVICE
+.br
+Physical bearer device valid for bearers on
+.B eth
+and
+.B ib
+media.
+
+.SS Bearer properties
+
+.TP
+.B domain
+.br
+The addressing domain (region) in which a bearer will establish links and accept
+link establish requests.
+
+.TP
+.B priority
+.br
+Default link priority inherited by all links subsequently established over a
+bearer. A single bearer can only host one link to a particular node. This means
+the default link priority for a bearer typically affects which bearer to use
+when communicating with a particular node in an multi bearer setup. For more
+info about link priority see
+.BR tipc-link (8)
+
+.TP
+.B tolerance
+.br
+Default link tolerance inherited by all links subsequently established over a
+bearer. For more info about link tolerance see
+.BR tipc-link (8)
+
+.TP
+.B window
+.br
+Default link window inherited by all links subsequently established over a
+bearer. For more info about the link window size see
+.BR tipc-link (8)
+
+.SS UDP bearer options
+
+.TP
+.BI "localip " LOCALIP
+.br
+Specify a local IP v4/v6 address for a
+.B udp
+bearer.
+
+.TP
+.BI "localport " LOCALPORT
+.br
+Specify the local port for a
+.B udp
+bearer. The default port 6118 is used if no port is specified.
+
+.TP
+.BI "remoteip " REMOTEIP
+.br
+Specify a remote IP for a
+.B udp
+bearer. If no remote IP is specified a
+.B udp
+bearer runs in multicast mode and tries to auto-discover its neighbours.
+The multicast IP address is generated based on the TIPC network ID. If a remote
+IP is specified the
+.B udp
+bearer runs in point-to-point mode.
+
+Multiple
+.B remoteip
+addresses can be added via the
+.B bearer add
+command. Adding one or more unicast
+.B remoteip
+addresses to an existing
+.B udp
+bearer puts the bearer in replicast mode where IP
+multicast is emulated by sending multiple unicast messages to each configured
+.B remoteip.
+When a peer sees a TIPC discovery message from an unknown peer the peer address
+is automatically added to the
+.B remoteip
+(replicast) list, thus only one side of
+a link needs to be manually configured. A
+.B remoteip
+address cannot be added to a multicast bearer.
+
+.TP
+.BI "remoteport " REMOTEPORT
+.br
+Specify the remote port for a
+.B udp
+bearer. The default port 6118 is used if no port is specified.
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-link (8),
+.BR tipc-media (8),
+.BR tipc-nametable (8),
+.BR tipc-node (8),
+.BR tipc-peer (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc-link.8 b/upstream/fedora-40/man8/tipc-link.8
new file mode 100644
index 00000000..47dae25d
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-link.8
@@ -0,0 +1,383 @@
+.TH TIPC-LINK 8 "22 Mar 2019" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-link \- show links or modify link properties
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+
+.ti -8
+.B tipc link set
+.br
+.RB "[ " "{ " "priority "
+.IR PRIORITY
+.RB "| " tolerance
+.IR TOLERANCE
+.RB "| " window
+.IR "WINDOW " }
+.BI "link " LINK " ]"
+.RB "|"
+.br
+.RB "[ "
+.RB "{ " broadcast " [ "
+.IR BROADCAST
+.RB " | "
+.IR REPLICAST
+.RB " | "
+.IR AUTOSELECT
+.RB "[ " ratio
+.IR SIZE
+.RB "] " ] " } " "]"
+
+.ti -8
+.B tipc link get
+.br
+.RB "[ " "{ " "priority" " | " tolerance " | " window " } " link
+.IR LINK " ] "
+.RB "|"
+.br
+.RB "[ " { " broadcast " } " ]"
+.br
+
+.ti -8
+.B tipc link statistics
+.RB "{ " "show " "[ " link
+.I LINK
+.RB "] | " "reset
+.BI "link " "LINK "
+}
+
+.ti -8
+.B tipc link list
+.br
+
+.ti -8
+.B tipc link monitor set
+.RB "{ " "threshold" " } "
+
+.ti -8
+.B tipc link monitor get
+.RB "{ " "threshold" " } "
+
+.ti -8
+.B tipc link monitor summary
+.br
+
+.ti -8
+.B tipc link monitor list
+.br
+.RB "[ " "media " " { " eth " | " ib " } " device
+.IR "DEVICE" " ]"
+.RB "|"
+.br
+.RB "[ " "media udp name"
+.IR NAME " ]"
+.br
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+Show help about last valid command. For example
+.B tipc link --help
+will show link help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+
+.TP
+.BR "\-j", " \-json"
+Output results in JavaScript Object Notation (JSON).
+
+.TP
+.BR "\-p", " \-pretty"
+The default JSON format is compact and more efficient to parse but hard for most users to read.
+This flag adds indentation for readability.
+
+.SH DESCRIPTION
+
+.SS Link statistics
+
+.TP
+.BR "ACTIVE " "link state"
+.br
+An
+.B ACTIVE
+link is serving traffic. Two links to the same node can become
+.B ACTIVE
+if they have the same link
+.BR priority .
+If there is more than two links with the same priority the additional links will
+be put in
+.B STANDBY
+state.
+
+.TP
+.BR "STANDBY " "link state"
+.br
+A
+.B STANDBY
+link has lower link priority than an
+.B ACTIVE
+link. A
+.B STANDBY
+link has control traffic flowing and is ready to take over should the
+.B ACTIVE
+link(s) go down.
+
+.TP
+.B MTU
+.br
+The Maximum Transmission Unit. The two endpoints advertise their default or
+configured
+.B MTU
+at initial link setup and will agree to use the lower of the two values should
+they differ.
+
+.TP
+.B Packets
+.br
+The total amount of transmitted or received TIPC packets on a link. Including
+.BR "fragmented " "and " "bundled " packets.
+
+.TP
+.B Fragments
+.br
+Represented in the form
+.BR fragments / fragmented .
+Where
+.B fragmented
+is the amount of data messages which have been broken into
+.BR fragments .
+Subsequently the
+.B fragments
+are the total amount of packets that the
+.B fragmented
+messages has been broken into.
+
+.TP
+.B Bundles
+.br
+Represented in the form
+.BR bundles / bundled .
+If a link becomes congested the link will attempt to bundle data from small
+.B bundled
+packets into
+.B bundles
+of full MTU size packets before they are transmitted.
+
+.TP
+.B Profile
+.br
+Shows the
+.B average
+packet size in octets/bytes for a
+.B sample
+of packets. It also shows the packet size distribution of the
+.B sampled
+packets in the intervals
+
+0-64 bytes
+.br
+64-256 bytes
+.br
+256-1024 bytes
+.br
+1024-4096 bytes
+.br
+4096-16384 bytes
+.br
+16384-32768 bytes
+.br
+32768-66000 bytes
+
+.TP
+.B Message counters
+
+.B states
+- Number of link state messages
+.sp
+
+.B probes
+- Link state messages with probe flag set. Typically sent when a link is idle
+.sp
+
+.B nacks
+- Number of negative acknowledgement (NACK) packets sent and received by the
+link
+.sp
+
+.B defs
+- Number of packets received out of order
+.sp
+
+.B dups
+- Number of duplicate packets received
+
+.TP
+.B Congestion link
+The number of times an application has tried to send data when the TIPC link
+was congested
+
+.TP
+.B Send queue
+.B Max
+is the maximum amount of messages that has resided in the out queue during the
+statistics collection period of a link.
+
+.B Avg
+is the average outqueue size during the lifetime of a link.
+
+.SS Link properties
+
+.TP
+.B priority
+.br
+The priority between logical TIPC links to a particular node. Link priority can
+range from 0 (lowest) to 31 (highest).
+
+.TP
+.B tolerance
+.br
+Link tolerance specifies the maximum time in milliseconds that TIPC will allow
+a communication problem to exist before taking the link down. The default value
+is 1500 milliseconds.
+
+.TP
+.B window
+.br
+The link window controls how many unacknowledged messages a link endpoint can
+have in its transmit queue before TIPC's congestion control mechanism is
+activated.
+
+.SS Monitor properties
+
+.TP
+.B threshold
+.br
+The threshold specifies the cluster size exceeding which the link monitoring
+algorithm will switch from "full-mesh" to "overlapping-ring".
+If set of 0 the overlapping-ring monitoring is always on and if set to a
+value larger than anticipated cluster size the overlapping-ring is disabled.
+The default value is 32.
+
+.SS Monitor information
+
+.TP
+.B table_generation
+.br
+Represents the event count in a node's local monitoring list. It steps every
+time something changes in the local monitor list, including changes in the
+local domain.
+
+.TP
+.B cluster_size
+.br
+Represents the current count of cluster members.
+
+.TP
+.B algorithm
+.br
+The current supervision algorithm used for neighbour monitoring for the bearer.
+Possible values are full-mesh or overlapping-ring.
+
+.TP
+.B status
+.br
+The node status derived by the local node.
+Possible status are up or down.
+
+.TP
+.B monitored
+.br
+Represent the type of monitoring chosen by the local node.
+Possible values are direct or indirect.
+
+.TP
+.B generation
+.br
+Represents the domain generation which is the event count in a node's local
+domain. Every time something changes (peer add/remove/up/down) the domain
+generation is stepped and a new version of node record is sent to inform
+the neighbors about this change. The domain generation helps the receiver
+of a domain record to know if it should ignore or process the record.
+
+.TP
+.B applied_node_status
+.br
+The node status reported by the peer node for the succeeding peers in
+the node list. The Node list is a circular list of ascending addresses
+starting with the local node.
+Possible status are: U or D. The status U implies up and D down.
+
+.TP
+.B [non_applied_node:status]
+.br
+Represents the nodes and their status as reported by the peer node.
+These nodes were not applied to the monitoring list for this peer node.
+They are usually transient and occur during the cluster startup phase
+or network reconfiguration.
+Possible status are: U or D. The status U implies up and D down.
+
+.SS Broadcast properties
+.TP
+.B BROADCAST
+.br
+Forces all multicast traffic to be transmitted via broadcast only,
+irrespective of cluster size and number of destinations.
+
+.TP
+.B REPLICAST
+.br
+Forces all multicast traffic to be transmitted via replicast only,
+irrespective of cluster size and number of destinations.
+
+.TP
+.B AUTOSELECT
+.br
+Auto switching to broadcast or replicast depending on cluster size and
+destination node number.
+
+.TP
+.B ratio SIZE
+.br
+Set the AUTOSELECT criteria, percentage of destination nodes vs cluster
+size.
+
+.SH EXAMPLES
+.PP
+tipc link monitor list
+.RS 4
+Shows the link monitoring information for cluster members on device data0.
+.RE
+.PP
+tipc link monitor summary
+.RS 4
+The monitor summary command prints the basic attributes.
+.RE
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-media (8),
+.BR tipc-bearer (8),
+.BR tipc-nametable (8),
+.BR tipc-node (8),
+.BR tipc-peer (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc-media.8 b/upstream/fedora-40/man8/tipc-media.8
new file mode 100644
index 00000000..4689cb3f
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-media.8
@@ -0,0 +1,87 @@
+.TH TIPC-MEDIA 8 "02 Jun 2015" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-media \- list or modify media properties
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+
+.ti -8
+.B tipc media set
+.RB "{ " "priority "
+.IR PRIORITY
+.RB "| " tolerance
+.IR TOLERANCE
+.RB "| " window
+.IR "WINDOW " }
+.BI "media " MEDIA
+
+.ti -8
+.B tipc media get
+.RB "{ " "priority" " | " tolerance " | " window " } " media
+.I MEDIA
+
+.ti -8
+.B tipc media list
+.br
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+Show help about last valid command. For example
+.B tipc media --help
+will show media help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+.SH DESCRIPTION
+
+.SS Media properties
+
+.TP
+.B priority
+.br
+Default link priority inherited by all bearers subsequently enabled on a
+media. For more info about link priority see
+.BR tipc-link (8)
+
+.TP
+.B tolerance
+.br
+Default link tolerance inherited by all bearers subsequently enabled on a
+media. For more info about link tolerance see
+.BR tipc-link (8)
+
+.TP
+.B window
+.br
+Default link window inherited by all bearers subsequently enabled on a
+media. For more info about link window see
+.BR tipc-link (8)
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-bearer (8),
+.BR tipc-link (8),
+.BR tipc-nametable (8),
+.BR tipc-node (8),
+.BR tipc-peer (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc-nametable.8 b/upstream/fedora-40/man8/tipc-nametable.8
new file mode 100644
index 00000000..b187d25e
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-nametable.8
@@ -0,0 +1,110 @@
+.TH TIPC-NAMETABLE 8 "02 Jun 2015" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-nametable \- show TIPC nametable
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+.B tipc nametable show
+.br
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+
+.TP
+.BR "\-j", " \-json"
+Output results in JavaScript Object Notation (JSON).
+
+.TP
+.BR "\-p", " \-pretty"
+The default JSON format is compact and more efficient to parse but hard for most users to read.
+This flag adds indentation for readability.
+
+Show help about last valid command. For example
+.B tipc nametable --help
+will show nametable help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+
+.SH DESCRIPTION
+The nametable shows TIPC publication information.
+
+.SS Nametable format
+
+.TP
+.B Type
+.br
+The 32-bit type field of the port name. The type field often indicates the class of service
+provided by a port.
+
+.TP
+.B Lower
+.br
+The lower bound of the 32-bit instance field of the port name.
+The instance field is often used as as a sub-class indicator.
+
+.TP
+.B Upper
+.br
+The upper bound of the 32-bit instance field of the port name.
+The instance field is often used as as a sub-class indicator.
+A difference in
+.BR "lower " "and " upper
+means the socket is bound to the port name range [lower,upper]
+
+.TP
+.B Port Identity
+.br
+The unique socket (port) identifier within the TIPC cluster. The
+.B port identity
+consists of a node identity followed by a socket reference number.
+
+.TP
+.B Publication
+.br
+The
+.B publication
+ID is a random number used internally to represent a publication.
+
+.TP
+.B Scope
+.br
+The publication
+.B scope
+specifies the visibility of a bound port name.
+The
+.B scope
+can be specified to comprise three different domains:
+.BR node ", " "cluster " "and " zone.
+Applications residing within the specified
+.B scope
+can see and access the port using the displayed port name.
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-bearer (8),
+.BR tipc-link (8),
+.BR tipc-media (8),
+.BR tipc-node (8),
+.BR tipc-peer (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc-node.8 b/upstream/fedora-40/man8/tipc-node.8
new file mode 100644
index 00000000..a72a4099
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-node.8
@@ -0,0 +1,72 @@
+.TH TIPC-NODE 8 "02 Jun 2015" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-node \- modify and show local node parameters or list peer nodes
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+.B tipc node set
+.RB "{ " "address "
+.IR ADDRESS
+.RB "| " netid
+.IR NETID
+.RB "} "
+
+.ti -8
+.B tipc node get
+.RB "{ " "address" " | " netid " } "
+
+.ti -8
+.B tipc node list
+.br
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+Show help about last valid command. For example
+.B tipc node --help
+will show node help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+.SH DESCRIPTION
+
+.SS Node parameters
+.TP
+.BI address
+.br
+The TIPC logical address. On the form x.y.z where x, y and z are unsigned
+integers.
+
+.TP
+.BI netid
+.br
+Network identity. Can by used to create individual TIPC clusters on the same
+media.
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-bearer (8),
+.BR tipc-link (8),
+.BR tipc-media (8),
+.BR tipc-nametable (8),
+.BR tipc-peer (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc-peer.8 b/upstream/fedora-40/man8/tipc-peer.8
new file mode 100644
index 00000000..430651f7
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-peer.8
@@ -0,0 +1,52 @@
+.TH TIPC-PEER 8 "04 Dec 2015" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-peer \- modify peer information
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+.B tipc peer remove address
+.IR ADDRESS
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+Show help about last valid command. For example
+.B tipc peer --help
+will show peer help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+.SH DESCRIPTION
+
+.SS Peer remove
+Remove an offline peer node from the local data structures. The peer is
+identified by its
+.B address
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-bearer (8),
+.BR tipc-link (8),
+.BR tipc-media (8),
+.BR tipc-nametable (8),
+.BR tipc-node (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc-socket.8 b/upstream/fedora-40/man8/tipc-socket.8
new file mode 100644
index 00000000..23ec1e51
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc-socket.8
@@ -0,0 +1,59 @@
+.TH TIPC-SOCKET 8 "02 Jun 2015" "iproute2" "Linux"
+
+.\" For consistency, please keep padding right aligned.
+.\" For example '.B "foo " bar' and not '.B foo " bar"'
+
+.SH NAME
+tipc-socket \- show TIPC socket (port) information
+
+.SH SYNOPSIS
+.ad l
+.in +8
+
+.ti -8
+.B tipc socket list
+
+.SH OPTIONS
+Options (flags) that can be passed anywhere in the command chain.
+.TP
+.BR "\-h" , " --help"
+Show help about last valid command. For example
+.B tipc socket --help
+will show socket help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+
+.SH DESCRIPTION
+A TIPC socket is represented by an unsigned integer.
+
+.TP
+.SS Bound state
+A bound socket has a logical TIPC port name associated with it.
+
+.TP
+.SS Connected state
+A connected socket is directly connected to another socket creating a point
+to point connection between TIPC sockets. If the connection to X was made using
+a logical port name Y that name will show up as
+.BR "connected to " "X " "via " Y
+.
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc (8),
+.BR tipc-bearer (8)
+.BR tipc-link (8),
+.BR tipc-media (8),
+.BR tipc-nametable (8),
+.BR tipc-node (8),
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tipc.8 b/upstream/fedora-40/man8/tipc.8
new file mode 100644
index 00000000..6706cca1
--- /dev/null
+++ b/upstream/fedora-40/man8/tipc.8
@@ -0,0 +1,109 @@
+.TH TIPC 8 "02 Jun 2015" "iproute2" "Linux"
+.SH NAME
+tipc \- a TIPC configuration and management tool
+.SH SYNOPSIS
+
+.ad l
+.in +8
+.ti -8
+.B tipc
+.RI "[ " OPTIONS " ] " COMMAND " " ARGUMENTS "
+.sp
+
+.ti -8
+.IR COMMAND " := { "
+.BR bearer " | " link " | " media " | " nametable " | " node " | " socket " }
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-h\fR[\fIhelp\fR] }
+
+.SH DESCRIPTION
+The Transparent Inter-Process Communication (TIPC) protocol offers total address
+transparency between processes which allows applications in a clustered computer
+environment to communicate quickly and reliably with each other, regardless of
+their location within the cluster.
+
+TIPC originated at the telecommunications manufacturer Ericsson. The first open
+source version of TIPC was created in 2000 when Ericsson released its first
+Linux version of TIPC. TIPC was introduced in the mainline Linux kernel in 2006
+and is now widely used both within and outside of Ericsson.
+
+.SH OPTIONS
+
+.TP
+.BR "\-h" , " --help"
+Show help about last given command. For example
+.B tipc bearer --help
+will show bearer help and
+.B tipc --help
+will show general help. The position of the option in the string is irrelevant.
+
+.TP
+.BR "\-j", " \-json"
+Output results in JavaScript Object Notation (JSON).
+
+.TP
+.BR "\-p", " \-pretty"
+The default JSON format is compact and more efficient to parse but hard for most users to read.
+This flag adds indentation for readability.
+
+.SH COMMANDS
+
+.TP
+.B BEARER
+- Show or modify TIPC bearers
+
+.TP
+.B LINK
+- Show or modify TIPC links
+
+.TP
+.B MEDIA
+- Show or modify TIPC media
+
+.TP
+.B NAMETABLE
+- Show TIPC nametable
+
+.TP
+.B NODE
+- Show or modify TIPC node parameters
+
+.TP
+.B SOCKET
+- Show TIPC sockets
+
+.SH ARGUMENTS
+
+Command arguments are described in a command specific man page and typically
+consists of nested commands along with key value pairs.
+If no arguments are given a command typically shows its help text. The explicit
+help option
+.B -h
+or
+.B --help
+can occur anywhere among the arguments and will show help for the last valid
+command given.
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR tipc-bearer (8),
+.BR tipc-link (8),
+.BR tipc-media (8),
+.BR tipc-nametable (8),
+.BR tipc-node (8),
+.BR tipc-peer (8),
+.BR tipc-socket (8)
+.br
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Richard Alpe <richard.alpe@ericsson.com>
diff --git a/upstream/fedora-40/man8/tracepath.8 b/upstream/fedora-40/man8/tracepath.8
new file mode 100644
index 00000000..2fa3c2cb
--- /dev/null
+++ b/upstream/fedora-40/man8/tracepath.8
@@ -0,0 +1,221 @@
+'\" t
+.TH "TRACEPATH" "8" "" "iputils 20240117" "iputils"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+tracepath \- traces path to a network host discovering MTU along this path
+.SH "SYNOPSIS"
+.HP \w'\fBtracepath\fR\ 'u
+\fBtracepath\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-n\fR] [\fB\-b\fR] [\fB\-l\ \fR\fB\fIpktlen\fR\fR] [\fB\-m\ \fR\fB\fImax_hops\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-V\fR] {destination}
+.SH "DESCRIPTION"
+.PP
+It traces the network path to
+\fIdestination\fR
+discovering MTU along this path\&. It uses UDP port
+\fIport\fR
+or some random port\&. It is similar to
+\fBtraceroute\fR\&. However, it does not require superuser privileges and has no fancy options\&.
+.PP
+\fBtracepath \-6\fR
+is a good replacement for
+\fBtraceroute6\fR
+and classic example of application of Linux error queues\&. The situation with IPv4 is worse, because commercial IP routers do not return enough information in ICMP error messages\&. Probably, it will change, when they are updated\&. For now it uses Van Jacobson\*(Aqs trick, sweeping a range of UDP ports to maintain trace history\&.
+.SH "OPTIONS"
+.PP
+\fB\-4\fR
+.RS 4
+Use IPv4 only\&.
+.RE
+.PP
+\fB\-6\fR
+.RS 4
+Use IPv6 only\&.
+.RE
+.PP
+\fB\-n\fR
+.RS 4
+Print primarily IP addresses numerically\&.
+.RE
+.PP
+\fB\-b\fR
+.RS 4
+Print both: Host names and IP addresses\&.
+.RE
+.PP
+\fB\-l\fR
+.RS 4
+Sets the initial packet length to
+\fIpktlen\fR
+instead of 65535 for
+\fBIPv4\fR
+or 128000 for
+\fBIPv6\fR\&.
+.RE
+.PP
+\fB\-m\fR
+.RS 4
+Set maximum hops (or maximum TTLs) to
+\fImax_hops\fR
+instead of 30\&.
+.RE
+.PP
+\fB\-p\fR
+.RS 4
+Sets the initial destination port to use\&.
+.RE
+.PP
+\fB\-V\fR
+.RS 4
+Print version and exit\&.
+.RE
+.SH "OUTPUT"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+root@mops:~ # tracepath \-6 3ffe:2400:0:109::2
+ 1?: [LOCALHOST] pmtu 1500
+ 1: dust\&.inr\&.ac\&.ru 0\&.411ms
+ 2: dust\&.inr\&.ac\&.ru asymm 1 0\&.390ms pmtu 1480
+ 2: 3ffe:2400:0:109::2 463\&.514ms reached
+ Resume: pmtu 1480 hops 2 back 2
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+The first column shows the TTL of the probe, followed by colon\&. Usually the value of TTL is obtained from the reply from the network, but sometimes it does not contain the necessary information and we have to guess it\&. In this case the number is followed by ?\&.
+.PP
+The second column shows the network hop which replied to the probe\&. It is either the address of the router or the word [LOCALHOST], if the probe was not sent to the network\&.
+.PP
+The rest of the line shows miscellaneous information about the path to the corresponding network hop\&. It contains the value of RTT, and additionally it can show Path MTU when it changes\&. If the path is asymmetric or the probe finishes before it reaches the prescribed hop, the number of hops in return direction is shown next to the keyword "asymm"\&. This information is not reliable, e\&.g\&. the third line shows asymmetry of 1\&. This is because the first probe with TTL of 2 was rejected at the first hop due to Path MTU Discovery\&.
+.PP
+The last line summarizes information about all the paths to the destination\&. It shows detected Path MTU, amount of hops to the destination and our guess about the number of hops from the destination to us, which can be different when the path is asymmetric\&.
+.SH "HANDLING ERRORS"
+.PP
+In case of errors
+\fBtracepath\fR
+prints short error code\&.
+.TS
+allbox tab(:);
+lB lB lB.
+T{
+Output
+T}:T{
+Code
+T}:T{
+Meaning
+T}
+.T&
+lB lB lB
+lB lB lB
+lB lB lB
+lB lB lB
+lB lB lB
+lB lB lB
+lB lB lB
+lB lB lB.
+T{
+!A
+T}:T{
+EACCES
+T}:T{
+Communication administratively prohibited
+T}
+T{
+!H
+T}:T{
+EHOSTUNREACH
+T}:T{
+Destination host unreachable
+T}
+T{
+!N
+T}:T{
+ENETUNREACH
+T}:T{
+Destination network unreachable
+T}
+T{
+!P
+T}:T{
+EPROTO
+T}:T{
+Destination protocol unreachable
+T}
+T{
+pmtu N
+T}:T{
+EMSGSIZE
+T}:T{
+Message too long
+T}
+T{
+reached
+T}:T{
+ECONNREFUSED
+T}:T{
+Connection refused
+T}
+T{
+\ \&
+T}:T{
+ETIMEDOUT
+T}:T{
+Connection timed out
+T}
+T{
+NET ERROR N
+T}:T{
+\ \&
+T}:T{
+Any other error
+T}
+.TE
+.sp 1
+.SH "SEE ALSO"
+.PP
+\fBtraceroute\fR(8),
+\fBtraceroute6\fR(8),
+\fBping\fR(8)\&.
+.SH "AUTHOR"
+.PP
+\fBtracepath\fR
+was written by Alexey Kuznetsov <kuznet@ms2\&.inr\&.ac\&.ru>\&.
+.SH "SECURITY"
+.PP
+No security issues\&.
+.PP
+This lapidary deserves to be elaborated\&.
+\fBtracepath\fR
+is not a privileged program, unlike
+\fBtraceroute\fR,
+\fBping\fR
+and other beasts of their kind\&.
+\fBtracepath\fR
+may be executed by everyone who has enough access to the network to send UDP datagrams to the desired destination using the given port\&.
+.SH "AVAILABILITY"
+.PP
+\fBtracepath\fR
+is part of
+\fIiputils\fR
+package\&.
diff --git a/upstream/fedora-40/man8/traceroute.8 b/upstream/fedora-40/man8/traceroute.8
new file mode 100644
index 00000000..46074ad9
--- /dev/null
+++ b/upstream/fedora-40/man8/traceroute.8
@@ -0,0 +1,629 @@
+.\" Copyright (c) 2006 Dmitry Butskoy (dmitry@butskoy.name)
+.\" License: GPL v2 or any later version
+.\" See COPYING for the status of this software
+.TH TRACEROUTE 8 "11 October 2006" "Traceroute" "Traceroute For Linux"
+.\" .UC 6
+.SH NAME
+traceroute \- print the route packets trace to network host
+.SH SYNOPSIS
+.na
+.BR traceroute " [" \-46dFITUnreAV "] [" "\-f first_ttl" "] [" "\-g gate,..." ]
+.br
+.ti +8
+.BR "" [ "-i device" "] [" "-m max_ttl" "] [" "-p port" "] [" "-s src_addr" ]
+.br
+.ti +8
+.BR "" [ "-q nqueries" "] [" "-N squeries" "] [" "-t tos" ]
+.br
+.ti +8
+.BR "" [ "-l flow_label" "] [" "-w waittimes" "] [" "-z sendwait" "] [" "-UL" "] [" "-D" ]
+.br
+.ti +8
+.BR "" [ "-P proto" "] [" "--sport=port" "] [" "-M method" "] [" "-O mod_options" ]
+.br
+.ti +8
+.BR "" [ "--mtu" "] [" "--back" ]
+.br
+.ti +8
+.BR host " [" "packet_len" "]"
+.br
+.BR traceroute6
+.RI " [" options ]
+.ad
+.SH DESCRIPTION
+.I traceroute
+tracks the route packets taken from an IP network on their
+way to a given host. It utilizes the IP protocol's time to live (TTL) field
+and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
+along the path to the host.
+.P
+.I traceroute6
+is equivalent to
+.I traceroute
+.B \-6
+.PP
+The only required parameter is the name or IP address of the
+destination
+.BR host \ .
+The optional
+.B packet_len\fR`gth
+is the total size of the probing packet (default 60 bytes
+for IPv4 and 80 for IPv6). The specified size can be ignored
+in some situations or increased up to a minimal value.
+.PP
+This program attempts to trace the route an IP packet would follow to some
+internet host by launching probe
+packets with a small ttl (time to live) then listening for an
+ICMP "time exceeded" reply from a gateway. We start our probes
+with a ttl of one and increase by one until we get an ICMP "port
+unreachable" (or TCP reset), which means we got to the "host", or hit a max (which
+defaults to 30 hops). Three probes (by default) are sent at each ttl setting
+and a line is printed showing the ttl, address of the gateway and
+round trip time of each probe. The address can be followed by additional
+information when requested. If the probe answers come from
+different gateways, the address of each responding system will
+be printed. If there is no response within a certain timeout,
+an "*" (asterisk) is printed for that probe.
+.PP
+After the trip time, some additional annotation can be printed:
+.BR !H ,
+.BR !N ,
+or
+.B !P
+(host, network or protocol unreachable),
+.B !S
+(source route failed),
+.B !F
+(fragmentation needed),
+.B !X
+(communication administratively prohibited),
+.B !V
+(host precedence violation),
+.B !C
+(precedence cutoff in effect), or
+.B !<num>
+(ICMP unreachable code <num>).
+If almost all the probes result in some kind of unreachable, traceroute
+will give up and exit.
+.PP
+We don't want the destination host to process the UDP probe packets,
+so the destination port is set to an unlikely value (you can change it with the
+.B \-p
+flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we
+use half-open technique, which prevents our probes to be seen by applications
+on the destination host).
+.PP
+In the modern network environment the traditional traceroute methods
+can not be always applicable, because of widespread use of firewalls.
+Such firewalls filter the "unlikely" UDP ports, or even ICMP echoes.
+To solve this, some additional tracerouting methods are implemented
+(including tcp), see
+.B LIST OF AVAILABLE METHODS
+below. Such methods try to use particular protocol
+and source/destination port, in order to bypass firewalls (to be seen
+by firewalls just as a start of allowed type of a network session).
+.SH OPTIONS
+.TP
+.BI \--help
+Print help info and exit.
+.TP
+.BR \-4 ", " \-6
+Explicitly force IPv4 or IPv6 tracerouting. By default, the program
+will try to resolve the name given, and choose the appropriate
+protocol automatically. If resolving a host name returns both
+IPv4 and IPv6 addresses,
+.I traceroute
+will use IPv4.
+.TP
+.B \-I, \-\-icmp
+Use ICMP ECHO for probes
+.TP
+.B \-T, \-\-tcp
+Use TCP SYN for probes
+.TP
+.B \-d, --debug
+Enable socket level debugging (when the Linux kernel supports it)
+.TP
+.B \-F, --dont-fragment
+Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells
+intermediate routers not to fragment remotely as well).
+.br
+
+.br
+Varying the size of the probing packet by the
+.B packet_len
+command line parameter, you can manually obtain information
+about the MTU of individual network hops. The
+.B \--mtu
+option (see below) tries to do this automatically.
+.br
+
+.br
+Note, that non-fragmented features (like
+.B \-F
+or
+.B \--mtu\fR)
+work properly since the Linux kernel 2.6.22 only.
+Before that version, IPv6 was always fragmented, IPv4 could use
+the once the discovered final mtu only (from the route cache), which can be
+less than the actual mtu of a device.
+.TP
+.BI \-f " first_ttl" ", --first=" first_ttl
+Specifies with what TTL to start. Defaults to 1.
+.TP
+.BI \-g " gateway" ", --gateway=" gateway
+Tells traceroute to add an IP source routing option to the outgoing
+packet that tells the network to route the packet through the
+specified
+.IR gateway
+(most routers have disabled source routing for security reasons).
+In general, several
+.IR gateway\fR's
+is allowed (comma separated). For IPv6, the form of
+.IR num\fB,\fIaddr\fB,\fIaddr...
+is allowed, where
+.IR num
+is a route header type (default is type 2). Note the type 0 route header
+is now deprecated (rfc5095).
+.TP
+.BI \-i " interface" ", --interface=" interface
+Specifies the interface through which
+.I traceroute
+should send packets. By default, the interface is selected
+according to the routing table.
+.TP
+.BI \-m " max_ttl" ", --max-hops=" max_ttl
+Specifies the maximum number of hops (max time-to-live value)
+.I traceroute
+will probe. The default is 30.
+.TP
+.BI \-N " squeries" ", --sim-queries=" squeries
+Specifies the number of probe packets sent out simultaneously.
+Sending several probes concurrently can speed up
+.I traceroute
+considerably. The default value is 16.
+.br
+Note that some routers and hosts can use ICMP rate throttling. In such
+a situation specifying too large number can lead to loss of some responses.
+.TP
+.BI \-n
+Do not try to map IP addresses to host names when displaying them.
+.TP
+.BI \-p " port" ", --port=" port
+For UDP tracing, specifies the destination port base
+.I traceroute
+will use (the destination port number will be incremented by each probe).
+.br
+For ICMP tracing, specifies the initial ICMP sequence value (incremented
+by each probe too).
+.br
+For TCP and others specifies just the (constant) destination
+port to connect.
+.TP
+.BI \-t " tos" ", --tos=" tos
+For IPv4, set the Type of Service (TOS) and Precedence value. Useful values
+are 16 (low delay) and 8 (high throughput). Note that in order to use
+some TOS precedence values, you have to be super user.
+.br
+For IPv6, set the Traffic Control value.
+.TP
+.BI \-l " flow_label" ", --flowlabel=" flow_label
+Use specified flow_label for IPv6 packets.
+.TP
+.BI \-w " max\fR[\fB,\fIhere\fB,\fInear\fR]" ", --wait=" max\fR[\fB,\fIhere\fB,\fInear\fR]
+Determines how long to wait for a response to a probe.
+.br
+
+.br
+There are three (in general) float values separated by a comma
+(or a slash).
+.IR Max
+specifies the maximum time (in seconds, default 5.0) to wait, in any case.
+.br
+
+.br
+Traditional traceroute implementation always waited whole
+.IR max
+seconds for any probe. But if we already have some replies from the
+.B same
+hop, or even from some
+.B next
+hop, we can use the round trip time of such a reply as a hint
+to determine the actual reasonable amount of time to wait.
+.br
+
+.br
+The optional
+.IR here
+(default 3.0) specifies a factor to multiply the round trip time of an already
+received response from the
+.B same
+hop. The resulting value is used as a timeout for the probe, instead of
+(but no more than)
+.IR max\fR.
+The optional
+.IR near
+(default 10.0) specifies a similar factor for a response from some
+.B next
+hop.
+(The time of the first found result is used in both cases).
+.br
+
+.br
+First, we look for the
+.B same
+hop (of the probe which will be printed first from now).
+If nothing found, then look for some
+.B next
+hop. If nothing found, use
+.IR max\fR.
+If
+.IR here
+and/or
+.IR near
+have zero values, the corresponding computation is skipped.
+.br
+.IR Here
+and
+.IR near
+are always set to zero if only
+.IR max
+is specified (for compatibility with previous versions).
+.TP
+.BI \-q " nqueries" ", --queries=" nqueries
+Sets the number of probe packets per hop. The default is 3.
+.TP
+.BI \-r
+Bypass the normal routing tables and send directly to a host on
+an attached network. If the host is not on a directly-attached
+network, an error is returned. This option can be used to ping a
+local host through an interface that has no route through it.
+.TP
+.BI \-s " source_addr" ", --source=" source_addr
+Chooses an alternative source address. Note that you must select the
+address of one of the interfaces.
+By default, the address of the outgoing interface is used.
+.TP
+.BI \-z " sendwait" ", --sendwait=" sendwait
+Minimal time interval between probes (default 0).
+If the value is more than 10, then it specifies a number in milliseconds,
+else it is a number of seconds (float point values allowed too).
+Useful when some routers use rate-limit for ICMP messages.
+.TP
+.B \-e, \-\-extensions
+Show ICMP extensions (rfc4884). The general form is
+.I CLASS\fB/\fITYPE\fB:
+followed by a hexadecimal dump.
+The MPLS (rfc4950) is shown parsed, in a form:
+.B MPLS:L=\fIlabel\fB,E=\fIexp_use\fB,S=\fIstack_bottom\fB,T=\fITTL
+(more objects separated by
+.B /
+). The Interface Information (rfc5837) is shown parsed as well, in a following form:
+.B \fR{\fBINC\fR|\fBSUB\fR|\fBOUT\fR|\fBNXT\fR}\fB:\fIindex\fB,\fIIP_addr\fB,"\fIname\fB",mtu=\fIMTU\fB
+(all four fields may be missing).
+.TP
+.B \-A, \-\-as\-path\-lookups
+Perform AS path lookups in routing registries and print results
+directly after the corresponding addresses.
+.TP
+.B \-V, \-\-version
+Print the version and exit.
+.br
+.P
+There are additional options intended for advanced usage
+(such as alternate trace methods etc.):
+.TP
+.B \--sport\fR=\fIport
+Chooses the source port to use. Implies
+.B \-N\ 1\fR\ -w\ 5 .
+Normally source ports (if applicable) are chosen by the system.
+.TP
+.B \--fwmark\fR=\fImark
+Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).
+.TP
+.BI \-M " method" ", --module=" name
+Use specified method for traceroute operations. Default traditional udp method
+has name
+.IR default ,
+icmp
+.BR "" ( "-I" ) "
+and tcp
+.BR "" ( "-T" ) "
+have names
+.I icmp
+and
+.I tcp
+respectively.
+.br
+Method-specific options can be passed by
+.BR \-O\ .
+Most methods have their simple shortcuts,
+.BR "" ( "-I " means " -M icmp" ,
+etc).
+.TP
+.BI \-O " option" ", --options=" options
+Specifies some method-specific option. Several options are separated by comma (or use several
+.B \-O
+on cmdline).
+Each method may have its own specific options, or many not have them at all.
+To print information about available options, use
+.BR \-O\ help .
+.TP
+.B \-U, \-\-udp
+Use UDP to particular destination port for tracerouting (instead of increasing
+the port per each probe). Default port is 53 (dns).
+.TP
+.BI \-UL
+Use UDPLITE for tracerouting (default port is 53).
+.TP
+.B \-D, \-\-dccp
+Use DCCP Requests for probes.
+.TP
+.BI \-P " protocol" ", --protocol=" protocol
+Use raw packet of specified protocol for tracerouting. Default protocol is
+253 (rfc3692).
+.TP
+.BI \--mtu
+Discover MTU along the path being traced. Implies
+.BR \-F\ \-N\ 1 .
+New
+.I mtu
+is printed once in a form of
+.B F=\fINUM
+at the first probe of a hop which requires such
+.I mtu
+to be reached. (Actually, the correspond "frag needed" icmp message
+normally is sent by the previous hop).
+.br
+
+.br
+Note, that some routers might cache once the seen information
+on a fragmentation. Thus you can receive the final mtu from a closer hop.
+Try to specify an unusual
+.I tos
+by
+.B \-t
+, this can help for one attempt (then it can be cached there as well).
+.br
+See
+.B \-F
+option for more info.
+.TP
+.BI \--back
+Print the number of backward hops when it seems different with the forward
+direction. This number is guessed in assumption that remote hops send reply
+packets with initial ttl set to either 64, or 128 or 255 (which seems
+a common practice). It is printed as a negate value in a form of '-NUM' .
+.SH LIST OF AVAILABLE METHODS
+In general, a particular traceroute method may have to be chosen by
+.BR \-M\ name ,
+but most of the methods have their simple cmdline switches
+(you can see them after the method name, if present).
+.SS default
+The traditional, ancient method of tracerouting. Used by default.
+.P
+Probe packets are udp datagrams with so-called "unlikely" destination ports.
+The "unlikely" port of the first probe is 33434, then for each next probe
+it is incremented by one. Since the ports are expected to be unused,
+the destination host normally returns "icmp unreach port" as a final response.
+(Nobody knows what happens when some application listens for such ports,
+though).
+.P
+This method is allowed for unprivileged users.
+.SS icmp \ \ \ \-I
+Most usual method for now, which uses icmp echo packets for probes.
+.br
+If you can ping(8) the destination host, icmp tracerouting is applicable
+as well.
+.P
+This method may be allowed for unprivileged users
+since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new
+.I dgram icmp
+(or
+.IR \fR"\fIping\fR")
+sockets. To allow such sockets, sysadmin should provide
+.I net/ipv4/ping_group_range
+sysctl range to match any group of the user.
+.br
+Options:
+.TP
+.B raw
+Use only raw sockets (the traditional way).
+.br
+This way is tried first by default (for compatibility reasons),
+then new dgram icmp sockets as fallback.
+.TP
+.B dgram
+Use only dgram icmp sockets.
+.SS tcp \ \ \ \ \-T
+Well-known modern method, intended to bypass firewalls.
+.br
+Uses the constant destination port (default is 80, http).
+.P
+If some filters are present in the network path, then most probably
+any "unlikely" udp ports (as for
+.I default
+method) or even icmp echoes (as for
+.IR icmp )
+are filtered, and whole tracerouting will just stop at such a firewall.
+To bypass a network filter, we have to use only allowed protocol/port
+combinations. If we trace for some, say, mailserver, then more likely
+.B \-T \-p 25
+can reach it, even when
+.B \-I
+can not.
+.P
+This method uses well-known "half-open technique", which prevents
+applications on the destination host from seeing our probes at all.
+Normally, a tcp syn is sent. For non-listened ports we receive tcp reset,
+and all is done. For active listening ports we receive tcp syn+ack, but
+answer by tcp reset (instead of expected tcp ack), this way the remote tcp
+session is dropped even without the application ever taking notice.
+.P
+There is a couple of options for
+.I tcp
+method:
+.TP
+.B syn,ack,fin,rst,psh,urg,ece,cwr
+Sets specified tcp flags for probe packet, in any combination.
+.TP
+.B flags\fR=\fInum
+Sets the flags field in the tcp header exactly to
+.IR num .
+.TP
+.B ecn
+Send syn packet with tcp flags ECE and CWR (for Explicit Congestion
+Notification, rfc3168).
+.TP
+.B sack,timestamps,window_scaling
+Use the corresponding tcp header option in the outgoing probe packet.
+.TP
+.B sysctl
+Use current sysctl
+.IR "" ( "/proc/sys/net/*" )
+setting for the tcp header options above and
+.BR ecn .
+Always set by default, if nothing else specified.
+.TP
+.B fastopen
+Use fastopen tcp option (when
+.BR syn ),
+for initial cookie negotiation only.
+.TP
+.B mss\fR=[\fInum\fR]
+Use value of
+.I num
+(or unchanged) for maxseg tcp header option (when
+.BR syn ),
+and discover its clamping along the path being traced.
+New changed
+.I mss
+is printed once in a form of
+.B M=\fINUM
+at the first probe on which it was detected.
+Note, some routers may return too short original fragment
+in the time exceeded message, making the check impossible.
+Besides that the responses may come in a different order.
+All this can lead to a later place of the report
+(using
+.BR \-N\ 1
+can help for the order).
+.TP
+.B info
+Print tcp flags and supported options
+of final tcp replies when the target host is reached.
+Allows to determine whether an application listens the port and
+other useful things.
+Supported tcp options are all that can be set by
+.BR \-T\ \-O ,
+ie.
+.IR mss ,
+.IR sack ,
+.IR timestamps ,
+.IR window_scaling
+and
+.IR fastopen ,
+with the similar output format (a value for
+.IR mss
+and just presence for others).
+.P
+Default options is
+.BR syn,sysctl .
+.SS tcpconn
+An initial implementation of tcp method, simple using connect(2) call,
+which does full tcp session opening. Not recommended for normal use, because
+a destination application is always affected (and can be confused).
+.SS udp \ \ \ \ \-U
+Use udp datagram with constant destination port (default 53, dns).
+.br
+Intended to bypass firewall as well.
+.P
+Note, that unlike in
+.I tcp
+method, the correspond application on the destination host
+.B always
+receive our probes (with random data), and most can easily be confused
+by them. Most cases it will not respond to our packets though, so we will never
+see the final hop in the trace. (Fortunately, it seems that at least
+dns servers replies with something angry).
+.P
+This method is allowed for unprivileged users.
+.SS udplite \ \ \-UL
+Use udplite datagram for probes (with constant destination port,
+default 53).
+.P
+This method is allowed for unprivileged users.
+.br
+Options:
+.TP
+.B coverage\fR=\fInum
+Set udplite send coverage to
+.IR num .
+.SS dccp \ \ \-D
+Use DCCP Request packets for probes (rfc4340).
+.P
+This method uses the same "half-open technique" as used for TCP.
+The default destination port is 33434.
+.P
+Options:
+.TP
+.B service\fR=\fInum
+Set DCCP service code to
+.IR num
+(default is 1885957735).
+.SS raw \ \ \ \ \-P proto
+Send raw packet of protocol
+.IR proto .
+.br
+No protocol-specific headers are used, just IP header only.
+.br
+Implies
+.B \-N\ 1\fR\ -w\ 5 .
+.br
+Options:
+.TP
+.B protocol\fR=\fIproto
+Use IP protocol
+.I proto
+(default 253).
+.SH NOTES
+.PP
+To speed up work, normally several probes are sent simultaneously.
+On the other hand, it creates a "storm of packages", especially
+in the reply direction. Routers can throttle the rate of icmp responses,
+and some of replies can be lost. To avoid this, decrease the number
+of simultaneous probes, or even set it to 1 (like in initial traceroute
+implementation), i.e.
+.B \-N 1
+.PP
+The final (target) host can drop some of the simultaneous probes,
+and might even answer only the latest ones. It can lead to extra
+"looks like expired" hops near the final hop. We use a smart algorithm
+to auto-detect such a situation, but if it cannot help in your case, just use
+.B \-N 1
+too.
+.PP
+For even greater stability you can slow down the program's work by
+.B \-z
+option, for example use
+.B \-z 0.5
+for half-second pause between probes.
+.PP
+To avoid an extra waiting, we use adaptive algorithm for timeouts (see
+.B \-w
+option for more info). It can lead to premature expiry
+(especially when response times differ at times) and printing "*"
+instead of a time. In such a case, switch this algorithm off, by specifying
+.B \-w
+with the desired timeout only (for example,
+.B \-w 5\fR).
+.PP
+If some hops report nothing for every method, the last chance to obtain
+something is to use
+.B ping -R
+command (IPv4, and for nearest 8 hops only).
+.SH SEE ALSO
+.BR ping (8),
+.BR ping6 (8),
+.BR tcpdump (8),
+.BR netstat (8)
diff --git a/upstream/fedora-40/man8/tune2fs.8 b/upstream/fedora-40/man8/tune2fs.8
new file mode 100644
index 00000000..4b9d77af
--- /dev/null
+++ b/upstream/fedora-40/man8/tune2fs.8
@@ -0,0 +1,849 @@
+.\" Revision 1.0 93/06/3 23:00 chk
+.\" Initial revision
+.\"
+.\"
+.TH TUNE2FS 8 "February 2023" "E2fsprogs version 1.47.0"
+.SH NAME
+tune2fs \- adjust tunable file system parameters on ext2/ext3/ext4 file systems
+.SH SYNOPSIS
+.B tune2fs
+[
+.B \-l
+]
+[
+.B \-c
+.I max-mount-counts
+]
+[
+.B \-e
+.I errors-behavior
+]
+[
+.B \-f
+]
+[
+.B \-i
+.I interval-between-checks
+]
+[
+.B \-I
+.I new_inode_size
+]
+[
+.B \-j
+]
+[
+.B \-J
+.I journal-options
+]
+[
+.B \-m
+.I reserved-blocks-percentage
+]
+[
+.B \-o
+.RI [^]mount-options [,...]
+]
+[
+.B \-r
+.I reserved-blocks-count
+]
+[
+.B \-u
+.I user
+]
+[
+.B \-g
+.I group
+]
+[
+.B \-C
+.I mount-count
+]
+[
+.B \-E
+.I extended-options
+]
+[
+.B \-L
+.I volume-label
+]
+[
+.B \-M
+.I last-mounted-directory
+]
+[
+.B \-O
+.RI [^] feature [,...]
+]
+[
+.B \-Q
+.I quota-options
+]
+[
+.B \-T
+.I time-last-checked
+]
+[
+.B \-U
+.I UUID
+]
+[
+.B \-z
+.I undo_file
+]
+device
+.SH DESCRIPTION
+.B tune2fs
+allows the system administrator to adjust various tunable file system
+parameters on Linux ext2, ext3, or ext4 file systems. The current values
+of these options can be displayed by using the
+.B -l
+option to
+.BR tune2fs (8)
+program, or by using the
+.BR dumpe2fs (8)
+program.
+.PP
+The
+.I device
+specifier can either be a filename (i.e., /dev/sda1), or a LABEL or UUID
+specifier: "\fBLABEL=\fIvolume-label\fR" or "\fBUUID=\fIuuid\fR". (i.e.,
+LABEL=home or UUID=e40486c6-84d5-4f2f-b99c-032281799c9d).
+.SH OPTIONS
+.TP
+.BI \-c " max-mount-counts"
+Adjust the number of mounts after which the file system will be checked by
+.BR e2fsck (8).
+If
+.I max-mount-counts
+is the string "random", tune2fs will use a random value between 20 and 40.
+If
+.I max-mount-counts
+is 0 or \-1, the number of times the file system is mounted will be disregarded
+by
+.BR e2fsck (8)
+and the kernel.
+.sp
+Staggering the mount-counts at which file systems are forcibly
+checked will avoid all file systems being checked at one time
+when using journaled file systems.
+.sp
+Mount-count-dependent checking is disabled by default to avoid
+unanticipated long reboots while e2fsck does its work. If you
+are concerned about file system corruptions caused by potential hardware
+problems of kernel bugs, a better solution than mount-count-dependent
+checking is to use the
+.BR e2scrub (8)
+program. This does require placing the file system on an LVM volume,
+however.
+.TP
+.BI \-C " mount-count"
+Set the number of times the file system has been mounted.
+If set to a greater value than the max-mount-counts parameter
+set by the
+.B \-c
+option,
+.BR e2fsck (8)
+will check the file system at the next reboot.
+.TP
+.BI \-e " error-behavior"
+Change the behavior of the kernel code when errors are detected.
+In all cases, a file system error will cause
+.BR e2fsck (8)
+to check the file system on the next boot.
+.I error-behavior
+can be one of the following:
+.RS 1.2i
+.TP 1.2i
+.B continue
+Continue normal execution.
+.TP
+.B remount-ro
+Remount file system read-only.
+.TP
+.B panic
+Cause a kernel panic.
+.RE
+.TP
+.BI \-E " extended-options"
+Set extended options for the file system. Extended options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following extended options are supported:
+.RS 1.2i
+.TP
+.B clear_mmp
+Reset the MMP block (if any) back to the clean state. Use only if
+absolutely certain the device is not currently mounted or being
+fscked, or major file system corruption can result. Needs '-f'.
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds. Specifying an
+.I interval
+of 0 means to use the default interval. The specified interval must
+be less than 300 seconds. Requires that the
+.B mmp
+feature be enabled.
+.TP
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to next disk. This mostly affects placement of file system
+metadata like bitmaps at
+.BR mke2fs (2)
+time to avoid placing them on a single disk, which can hurt the performance.
+It may also be used by block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically be stride-size * N, where
+N is the number of data disks in the RAID (e.g. RAID 5 N+1, RAID 6 N+2).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
+.TP
+.BI hash_alg= hash-alg
+Set the default hash algorithm used for file systems with hashed b-tree
+directories. Valid algorithms accepted are:
+.IR legacy ,
+.IR half_md4 ,
+and
+.IR tea .
+.TP
+.BI encoding= encoding-name
+Enable the
+.I casefold
+feature in the super block and set
+.I encoding-name
+as the encoding to be used. If
+.I encoding-name
+is not specified, utf8 is used. The encoding cannot be altered if casefold
+was previously enabled.
+.TP
+.BI encoding_flags= encoding-flags
+Define parameters for file name character encoding operations. If a
+flag is not changed using this parameter, its default value is used.
+.I encoding-flags
+should be a comma-separated lists of flags to be enabled. The flags cannot be
+altered if casefold was previously enabled.
+
+The only flag that can be set right now is
+.I strict
+which means that invalid strings should be rejected by the file system.
+In the default configuration, the
+.I strict
+flag is disabled.
+.TP
+.BI mount_opts= mount_option_string
+Set a set of default mount options which will be used when the file
+system is mounted. Unlike the bitmask-based default mount options which
+can be specified with the
+.B -o
+option,
+.I mount_option_string
+is an arbitrary string with a maximum length of 63 bytes, which is
+stored in the superblock.
+.IP
+The ext4 file system driver will first apply
+the bitmask-based default options, and then parse the
+.IR mount_option_string ,
+before parsing the mount options passed from the
+.BR mount (8)
+program.
+.IP
+This superblock setting is only honored in 2.6.35+ kernels;
+and not at all by the ext2 and ext3 file system drivers.
+.TP
+.BI orphan_file_size= size
+Set size of the file for tracking unlinked but still open inodes and inodes
+with truncate in progress. Larger file allows for better scalability, reserving
+a few blocks per cpu is ideal.
+.TP
+.B force_fsck
+Set a flag in the file system superblock indicating that errors have been found.
+This will force fsck to run at the next mount.
+.TP
+.B test_fs
+Set a flag in the file system superblock indicating that it may be
+mounted using experimental kernel code, such as the ext4dev file system.
+.TP
+.B ^test_fs
+Clear the test_fs flag, indicating the file system should only be mounted
+using production-level file system code.
+.RE
+.TP
+.B \-f
+Force the tune2fs operation to complete even in the face of errors. This
+option is useful when removing the
+.B has_journal
+file system feature from a file system which has
+an external journal (or is corrupted
+such that it appears to have an external journal), but that
+external journal is not available. If the file system appears to require
+journal replay, the
+.B \-f
+flag must be specified twice to proceed.
+.sp
+.B WARNING:
+Removing an external journal from a file system which was not cleanly unmounted
+without first replaying the external journal can result in
+severe data loss and file system corruption.
+.TP
+.BI \-g " group"
+Set the group which can use the reserved file system blocks.
+The
+.I group
+parameter can be a numerical gid or a group name. If a group name is given,
+it is converted to a numerical gid before it is stored in the superblock.
+.TP
+.B \-i " \fIinterval-between-checks\fR[\fBd\fR|\fBm\fR|\fBw\fR]"
+Adjust the maximal time between two file system checks.
+No suffix or
+.B d
+will interpret the number
+.I interval-between-checks
+as days,
+.B m
+as months, and
+.B w
+as weeks. A value of zero will disable the time-dependent checking.
+.sp
+There are pros and cons to disabling these periodic checks; see the
+discussion under the
+.B \-c
+(mount-count-dependent check) option for details.
+.TP
+.B \-I
+Change the inode size used by the file system. This requires rewriting
+the inode table, so it requires that the file system is checked for
+consistency first using
+.BR e2fsck (8).
+This operation can also take a while and the file system can be
+corrupted and data lost if it is interrupted while in the middle of
+converting the file system. Backing up the file system before changing
+inode size is recommended.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
+.TP
+.B \-j
+Add an ext3 journal to the file system. If the
+.B \-J
+option is not specified, the default journal parameters will be used to create
+an appropriately sized journal (given the size of the file system)
+stored within the file system. Note that you must be using a kernel
+which has ext3 support in order to actually make use of the journal.
+.IP
+If this option is used to create a journal on a mounted file system, an
+immutable file,
+.BR .journal ,
+will be created in the top-level directory of the file system, as it is
+the only safe way to create the journal inode while the file system is
+mounted. While the ext3 journal is visible, it is not safe to
+delete it, or modify it while the file system is mounted; for this
+reason the file is marked immutable.
+While checking unmounted file systems,
+.BR e2fsck (8)
+will automatically move
+.B .journal
+files to the invisible, reserved journal inode. For all file systems
+except for the root file system, this should happen automatically and
+naturally during the next reboot cycle. Since the root file system is
+mounted read-only,
+.BR e2fsck (8)
+must be run from a rescue floppy in order to effect this transition.
+.IP
+On some distributions, such as Debian, if an initial ramdisk is used,
+the initrd scripts will automatically convert an ext2 root file system
+to ext3 if the
+.B /etc/fstab
+file specifies the ext3 file system for the root file system in order to
+avoid requiring the use of a rescue floppy to add an ext3 journal to
+the root file system.
+.TP
+.BR \-J " journal-options"
+Override the default ext3 journal parameters. Journal options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following journal options are supported:
+.RS 1.2i
+.TP
+.BI size= journal-size
+Create a journal stored in the file system of size
+.I journal-size
+megabytes. The size of the journal must be at least 1024 file system blocks
+(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks.
+There must be enough free space in the file system to create a journal of
+that size.
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal. The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
+.TP
+.BI device= external-journal
+Attach the file system to the journal block device located on
+.IR external-journal .
+The external
+journal must have been already created using the command
+.IP
+.B mke2fs -O journal_dev
+.I external-journal
+.IP
+Note that
+.I external-journal
+must be formatted with the same block
+size as file systems which will be using it.
+In addition, while there is support for attaching
+multiple file systems to a single external journal,
+the Linux kernel and
+.BR e2fsck (8)
+do not currently support shared external journals yet.
+.IP
+Instead of specifying a device name directly,
+.I external-journal
+can also be specified by either
+.BI LABEL= label
+or
+.BI UUID= UUID
+to locate the external journal by either the volume label or UUID
+stored in the ext2 superblock at the start of the journal. Use
+.BR dumpe2fs (8)
+to display a journal device's volume label and UUID. See also the
+.B -L
+option of
+.BR tune2fs (8).
+.RE
+.IP
+Only one of the
+.BR size " or " device
+options can be given for a file system.
+.TP
+.B \-l
+List the contents of the file system superblock, including the current
+values of the parameters that can be set via this program.
+.TP
+.BI \-L " volume-label"
+Set the volume label of the file system.
+Ext2 file system labels can be at most 16 characters long; if
+.I volume-label
+is longer than 16 characters,
+.B tune2fs
+will truncate it and print a warning. For other file systems that
+support online label manipulation and are mounted
+.B tune2fs
+will work as well, but it will not attempt to truncate the
+.I volume-label
+at all. The volume label can be used by
+.BR mount (8),
+.BR fsck (8),
+and
+.BR /etc/fstab (5)
+(and possibly others) by specifying
+.BI LABEL= volume-label
+instead of a block special device name like
+.BR /dev/hda5 .
+.TP
+.BI \-m " reserved-blocks-percentage"
+Set the percentage of the file system which may only be allocated
+by privileged processes. Reserving some number of file system blocks
+for use by privileged processes is done
+to avoid file system fragmentation, and to allow system
+daemons, such as
+.BR syslogd (8),
+to continue to function correctly after non-privileged processes are
+prevented from writing to the file system. Normally, the default percentage
+of reserved blocks is 5%.
+.TP
+.BI \-M " last-mounted-directory"
+Set the last-mounted directory for the file system.
+.TP
+.BR \-o " [^]\fImount-option\fR[,...]"
+Set or clear the indicated default mount options in the file system.
+Default mount options can be overridden by mount options specified
+either in
+.BR /etc/fstab (5)
+or on the command line arguments to
+.BR mount (8).
+Older kernels may not support this feature; in particular,
+kernels which predate 2.4.20 will almost certainly ignore the
+default mount options field in the superblock.
+.IP
+More than one mount option can be cleared or set by separating
+features with commas. Mount options prefixed with a
+caret character ('^') will be cleared in the file system's superblock;
+mount options without a prefix character or prefixed with a plus
+character ('+') will be added to the file system.
+.IP
+The following mount options can be set or cleared using
+.BR tune2fs :
+.RS 1.2i
+.TP
+.B debug
+Enable debugging code for this file system.
+.TP
+.B bsdgroups
+Emulate BSD behavior when creating new files: they will take the group-id
+of the directory in which they were created. The standard System V behavior
+is the default, where newly created files take on the fsgid of the current
+process, unless the directory has the setgid bit set, in which case it takes
+the gid from the parent directory, and also gets the setgid bit set if it is
+a directory itself.
+.TP
+.B user_xattr
+Enable user-specified extended attributes.
+.TP
+.B acl
+Enable Posix Access Control Lists.
+.TP
+.B uid16
+Disables 32-bit UIDs and GIDs. This is for interoperability with
+older kernels which only store and expect 16-bit values.
+.TP
+.B journal_data
+When the file system is mounted with journaling enabled, all data
+(not just metadata) is committed into the journal prior to being written
+into the main file system.
+.TP
+.B journal_data_ordered
+When the file system is mounted with journaling enabled, all data is forced
+directly out to the main file system prior to its metadata being committed
+to the journal.
+.TP
+.B journal_data_writeback
+When the file system is mounted with journaling enabled, data may be
+written into the main file system after its metadata has been committed
+to the journal. This may increase throughput, however, it may allow old
+data to appear in files after a crash and journal recovery.
+.TP
+.B nobarrier
+The file system will be mounted with barrier operations in the journal
+disabled. (This option is currently only supported by the ext4 file
+system driver in 2.6.35+ kernels.)
+.TP
+.B block_validity
+The file system will be mounted with the block_validity option enabled,
+which causes extra checks to be performed after reading or writing from
+the file system. This prevents corrupted metadata blocks from causing
+file system damage by overwriting parts of the inode table or block
+group descriptors. This comes at the cost of increased memory and CPU
+overhead, so it is enabled only for debugging purposes. (This option is
+currently only supported by the ext4 file system driver in 2.6.35+
+kernels.)
+.TP
+.B discard
+The file system will be mounted with the discard mount option. This will
+cause the file system driver to attempt to use the trim/discard feature
+of some storage devices (such as SSD's and thin-provisioned drives
+available in some enterprise storage arrays) to inform the storage
+device that blocks belonging to deleted files can be reused for other
+purposes. (This option is currently only supported by the ext4 file
+system driver in 2.6.35+ kernels.)
+.TP
+.B nodelalloc
+The file system will be mounted with the nodelalloc mount option. This
+will disable the delayed allocation feature. (This option is currently
+only supported by the ext4 file system driver in 2.6.35+ kernels.)
+.RE
+.TP
+.BR \-O " [^]\fIfeature\fR[,...]"
+Set or clear the indicated file system features (options) in the file system.
+More than one file system feature can be cleared or set by separating
+features with commas. File System features prefixed with a
+caret character ('^') will be cleared in the file system's superblock;
+file system features without a prefix character or prefixed with a plus
+character ('+') will be added to the file system. For a detailed
+description of the file system features, please see the man page
+.BR ext4 (5).
+.IP
+The following file system features can be set or cleared using
+.BR tune2fs :
+.RS 1.2i
+.TP
+.B 64bit
+Enable the file system to be larger than 2^32 blocks.
+.TP
+.B casefold
+Enable support for file system level casefolding.
+The option can be cleared only if filesystem has no
+directories with
+.B F
+attribute.
+.TP
+.B dir_index
+Use hashed b-trees to speed up lookups for large directories.
+.TP
+.B dir_nlink
+Allow more than 65000 subdirectories per directory.
+.TP
+.B ea_inode
+Allow the value of each extended attribute to be placed in the data blocks of a
+separate inode if necessary, increasing the limit on the size and number of
+extended attributes per file.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B encrypt
+Enable support for file system level encryption.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B extent
+Enable the use of extent trees to store the location of data blocks in inodes.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B extra_isize
+Enable the extended inode fields used by ext4.
+.TP
+.B filetype
+Store file type information in directory entries.
+.TP
+.B flex_bg
+Allow bitmaps and inode tables for a block group to be placed
+anywhere on the storage media. \fBTune2fs\fR will not reorganize
+the location of the inode tables and allocation bitmaps, as
+.BR mke2fs (8)
+will do when it creates a freshly formatted file system with
+.B flex_bg
+enabled.
+.TP
+.B has_journal
+Use a journal to ensure file system consistency even across unclean shutdowns.
+Setting the file system feature is equivalent to using the
+.B \-j
+option.
+.TP
+.TP
+.B fast_commit
+Enable fast commit journaling feature to improve fsync latency.
+.TP
+.B large_dir
+Increase the limit on the number of files per directory.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B huge_file
+Support files larger than 2 terabytes in size.
+.TP
+.B large_file
+File System can contain files that are greater than 2GB.
+.TP
+.B metadata_csum
+Store a checksum to protect the contents in each metadata block.
+.TP
+.B metadata_csum_seed
+Allow the file system to store the metadata checksum seed in the
+superblock, enabling the administrator to change the UUID of a file system
+using the
+.B metadata_csum
+feature while it is mounted.
+.TP
+.B mmp
+Enable or disable multiple mount protection (MMP) feature.
+.TP
+.B project
+Enable project ID tracking. This is used for project quota tracking.
+.TP
+.B quota
+Enable internal file system quota inodes.
+.TP
+.B read-only
+Force the kernel to mount the file system read-only.
+.TP
+.B resize_inode
+Reserve space so the block group descriptor table may grow in the
+future.
+.B Tune2fs
+only supports clearing this file system feature.
+.TP
+.B sparse_super
+Limit the number of backup superblocks to save space on large file systems.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B stable_inodes
+Prevent the file system from being shrunk or having its UUID changed, in order to
+allow the use of specialized encryption settings that make use of the inode
+numbers and UUID.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B uninit_bg
+Allow the kernel to initialize bitmaps and inode tables lazily, and to
+keep a high watermark for the unused inodes in a file system, to reduce
+.BR e2fsck (8)
+time. The first e2fsck run after enabling this feature will take the
+full time, but subsequent e2fsck runs will take only a fraction of the
+original time, depending on how full the file system is.
+.TP
+.B verity
+Enable support for verity protected files.
+.B Tune2fs
+currently only supports setting this file system feature.
+.RE
+.IP
+After setting or clearing
+.BR sparse_super ,
+.BR uninit_bg ,
+.BR filetype ,
+or
+.B resize_inode
+file system features,
+the file system may require being checked using
+.BR e2fsck (8)
+to return the file system to a consistent state.
+.B Tune2fs
+will print a message requesting that the system administrator run
+.BR e2fsck (8)
+if necessary. After setting the
+.B dir_index
+feature,
+.B e2fsck -D
+can be run to convert existing directories to the hashed B-tree format.
+Enabling certain file system features may prevent the file system from being
+mounted by kernels which do not support those features. In particular, the
+.B uninit_bg
+and
+.B flex_bg
+features are only supported by the ext4 file system.
+.TP
+.BI \-r " reserved-blocks-count"
+Set the number of reserved file system blocks.
+.TP
+.BI \-Q " quota-options"
+Sets 'quota' feature on the superblock and works on the quota files for the
+given quota type. Quota options could be one or more of the following:
+.RS 1.2i
+.TP
+.B [^]usrquota
+Sets/clears user quota inode in the superblock.
+.TP
+.B [^]grpquota
+Sets/clears group quota inode in the superblock.
+.TP
+.B [^]prjquota
+Sets/clears project quota inode in the superblock.
+.RE
+.TP
+.BI \-T " time-last-checked"
+Set the time the file system was last checked using
+.BR e2fsck .
+The time is interpreted using the current (local) timezone.
+This can be useful in scripts which use a Logical Volume Manager to make
+a consistent snapshot of a file system, and then check the file system
+during off hours to make sure it hasn't been corrupted due to
+hardware problems, etc. If the file system was clean, then this option can
+be used to set the last checked time on the original file system. The format
+of
+.I time-last-checked
+is the international date format, with an optional time specifier, i.e.
+YYYYMMDD[HH[MM[SS]]]. The keyword
+.B now
+is also accepted, in which case the last checked time will be set to the
+current time.
+.TP
+.BI \-u " user"
+Set the user who can use the reserved file system blocks.
+.I user
+can be a numerical uid or a user name. If a user name is given, it
+is converted to a numerical uid before it is stored in the superblock.
+.TP
+.BI \-U " UUID"
+Set the universally unique identifier (UUID) of the file system to
+.IR UUID .
+The format of the UUID is a series of hex digits separated by hyphens,
+like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
+.I UUID
+parameter may also be one of the following:
+.RS 1.2i
+.TP
+.I clear
+clear the file system UUID
+.TP
+.I random
+generate a new randomly-generated UUID
+.TP
+.I time
+generate a new time-based UUID
+.RE
+.IP
+The UUID may be used by
+.BR mount (8),
+.BR fsck (8),
+and
+.BR /etc/fstab (5)
+(and possibly others) by specifying
+.BI UUID= uuid
+instead of a block special device name like
+.BR /dev/hda1 .
+.IP
+See
+.BR uuidgen (8)
+for more information.
+If the system does not have a good random number generator such as
+.I /dev/random
+or
+.IR /dev/urandom ,
+.B tune2fs
+will automatically use a time-based UUID instead of a randomly-generated UUID.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file. This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong. If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+tune2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH BUGS
+We haven't found any bugs yet. That doesn't mean there aren't any...
+.SH AUTHOR
+.B tune2fs
+was written by Remy Card <Remy.Card@linux.org>. It is currently being
+maintained by Theodore Ts'o <tytso@alum.mit.edu>.
+.B tune2fs
+uses the ext2fs library written by Theodore Ts'o <tytso@mit.edu>.
+This manual page was written by Christian Kuhtz <chk@data-hh.Hanse.DE>.
+Time-dependent checking was added by Uwe Ohse <uwe@tirka.gun.de>.
+.SH AVAILABILITY
+.B tune2fs
+is part of the e2fsprogs package and is available from
+http://e2fsprogs.sourceforge.net.
+.SH SEE ALSO
+.BR debugfs (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR mke2fs (8),
+.BR ext4 (5)
diff --git a/upstream/fedora-40/man8/tzselect.8 b/upstream/fedora-40/man8/tzselect.8
new file mode 100644
index 00000000..9b9049f7
--- /dev/null
+++ b/upstream/fedora-40/man8/tzselect.8
@@ -0,0 +1,125 @@
+.\" This file is in the public domain, so clarified as of
+.\" 2009-05-17 by Arthur David Olson.
+.TH tzselect 8 "" "Time Zone Database"
+.SH NAME
+tzselect \- select a timezone
+.SH SYNOPSIS
+.ie \n(.g .ds - \f(CR-\fP
+.el .ds - \-
+.ds d " degrees
+.ds m " minutes
+.ds s " seconds
+.ds _ " \&
+.if t \{\
+. if \n(.g .if c \(de .if c \(fm .if c \(sd \{\
+. ds d \(de
+. ds m \(fm
+. ds s \(sd
+. ds _ \|
+. \}
+.\}
+.B tzselect
+[
+.B \*-c
+.I coord
+] [
+.B \*-n
+.I limit
+] [
+.B \*-\*-help
+] [
+.B \*-\*-version
+]
+.SH DESCRIPTION
+The
+.B tzselect
+program asks the user for information about the current location,
+and outputs the resulting timezone to standard output.
+The output is suitable as a value for the TZ environment variable.
+.P
+All interaction with the user is done via standard input and standard error.
+.SH OPTIONS
+.TP
+.BI "\*-c " coord
+Instead of asking for continent and then country and then city,
+ask for selection from time zones whose largest cities
+are closest to the location with geographical coordinates
+.I coord.
+Use ISO 6709 notation for
+.I coord,
+that is, a latitude immediately followed by a longitude. The latitude
+and longitude should be signed integers followed by an optional
+decimal point and fraction: positive numbers represent north and east,
+negative south and west. Latitudes with two and longitudes with three
+integer digits are treated as degrees; latitudes with four or six and
+longitudes with five or seven integer digits are treated as
+.I "DDMM, DDDMM, DDMMSS,"
+or
+.I DDDMMSS
+representing
+.I DD
+or
+.I DDD
+degrees,
+.I MM
+minutes,
+and zero or
+.I SS
+seconds, with any trailing fractions represent fractional minutes or
+(if
+.I SS
+is present) seconds. The decimal point is that of the current locale.
+For example, in the (default) C locale,
+.B "\*-c\ +40.689\*-074.045"
+specifies 40.689\*d\*_N, 74.045\*d\*_W,
+.B "\*-c\ +4041.4\*-07402.7"
+specifies 40\*d\*_41.4\*m\*_N, 74\*d\*_2.7\*m\*_W, and
+.B "\*-c\ +404121\*-0740240"
+specifies 40\*d\*_41\*m\*_21\*s\*_N, 74\*d\*_2\*m\*_40\*s\*_W.
+If
+.I coord
+is not one of the documented forms, the resulting behavior is unspecified.
+.TP
+.BI "\*-n " limit
+When
+.B \*-c
+is used, display the closest
+.I limit
+locations (default 10).
+.TP
+.B "\*-\*-help"
+Output help information and exit.
+.TP
+.B "\*-\*-version"
+Output version information and exit.
+.SH "ENVIRONMENT VARIABLES"
+.TP
+\f3AWK\fP
+Name of a Posix-compliant
+.B awk
+program (default:
+.BR awk ).
+.TP
+\f3TZDIR\fP
+Name of the directory containing timezone data files (default:
+.BR /usr/share/zoneinfo ).
+.SH FILES
+.TP
+\f2TZDIR\fP\f3/iso3166.tab\fP
+Table of ISO 3166 2-letter country codes and country names.
+.TP
+\f2TZDIR\fP\f3/zone1970.tab\fP
+Table of country codes, latitude and longitude, timezones, and
+descriptive comments.
+.TP
+\f2TZDIR\fP\f3/\fP\f2TZ\fP
+Timezone data file for timezone \f2TZ\fP.
+.SH "EXIT STATUS"
+The exit status is zero if a timezone was successfully obtained from the user,
+nonzero otherwise.
+.SH "SEE ALSO"
+newctime(3), tzfile(5), zdump(8), zic(8)
+.SH NOTES
+Applications should not assume that
+.BR tzselect 's
+output matches the user's political preferences.
diff --git a/upstream/fedora-40/man8/udevadm.8 b/upstream/fedora-40/man8/udevadm.8
new file mode 100644
index 00000000..234da89e
--- /dev/null
+++ b/upstream/fedora-40/man8/udevadm.8
@@ -0,0 +1,994 @@
+'\" t
+.TH "UDEVADM" "8" "" "systemd 255" "udevadm"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+udevadm \- udev management tool
+.SH "SYNOPSIS"
+.HP \w'\fBudevadm\fR\ 'u
+\fBudevadm\fR [\fB\-\-debug\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
+.HP \w'\fBudevadm\ info\ \fR\fB[options]\fR\fB\ \fR\fB[devpath]\fR\ 'u
+\fBudevadm info \fR\fB[options]\fR\fB \fR\fB[devpath]\fR
+.HP \w'\fBudevadm\ trigger\ \fR\fB[options]\fR\fB\ \fR\fB[devpath]\fR\ 'u
+\fBudevadm trigger \fR\fB[options]\fR\fB \fR\fB[devpath]\fR
+.HP \w'\fBudevadm\ settle\ \fR\fB[options]\fR\ 'u
+\fBudevadm settle \fR\fB[options]\fR
+.HP \w'\fBudevadm\ control\ \fR\fB\fIoption\fR\fR\ 'u
+\fBudevadm control \fR\fB\fIoption\fR\fR
+.HP \w'\fBudevadm\ monitor\ \fR\fB[options]\fR\ 'u
+\fBudevadm monitor \fR\fB[options]\fR
+.HP \w'\fBudevadm\ test\ \fR\fB[options]\fR\fB\ \fR\fB\fIdevpath\fR\fR\ 'u
+\fBudevadm test \fR\fB[options]\fR\fB \fR\fB\fIdevpath\fR\fR
+.HP \w'\fBudevadm\ test\-builtin\ \fR\fB[options]\fR\fB\ \fR\fB\fIcommand\fR\fR\fB\ \fR\fB\fIdevpath\fR\fR\ 'u
+\fBudevadm test\-builtin \fR\fB[options]\fR\fB \fR\fB\fIcommand\fR\fR\fB \fR\fB\fIdevpath\fR\fR
+.HP \w'\fBudevadm\ verify\fR\ 'u
+\fBudevadm verify\fR [options...] [\fIfile\fR...]
+.HP \w'\fBudevadm\ wait\ \fR\fB[options]\fR\fB\ \fR\fB\fIdevice|syspath\fR\fR\ 'u
+\fBudevadm wait \fR\fB[options]\fR\fB \fR\fB\fIdevice|syspath\fR\fR
+.HP \w'\fBudevadm\ lock\ \fR\fB[options]\fR\fB\ \fR\fB\fIcommand\fR\fR\ 'u
+\fBudevadm lock \fR\fB[options]\fR\fB \fR\fB\fIcommand\fR\fR
+.SH "DESCRIPTION"
+.PP
+\fBudevadm\fR
+expects a command and command specific options\&. It controls the runtime behavior of
+\fBsystemd\-udevd\fR, requests kernel events, manages the event queue, and provides simple debugging mechanisms\&.
+.SH "OPTIONS"
+.PP
+\fB\-d\fR, \fB\-\-debug\fR
+.RS 4
+Print debug messages to standard error\&. This option is implied in
+\fBudevadm test\fR
+and
+\fBudevadm test\-builtin\fR
+commands\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "udevadm info [\fIoptions\fR] [\fIdevpath\fR|\fIfile\fR|\fIunit\fR...]"
+.PP
+Query the udev database for device information\&.
+.PP
+Positional arguments should be used to specify one or more devices\&. Each one may be a device name (in which case it must start with
+/dev/), a sys path (in which case it must start with
+/sys/), or a systemd device unit name (in which case it must end with
+"\&.device", see
+\fBsystemd.device\fR(5))\&.
+.PP
+\fB\-q\fR, \fB\-\-query=\fR\fB\fITYPE\fR\fR
+.RS 4
+Query the database for the specified type of device data\&. Valid
+\fITYPE\fRs are:
+\fBname\fR,
+\fBsymlink\fR,
+\fBpath\fR,
+\fBproperty\fR,
+\fBall\fR\&.
+.RE
+.PP
+\fB\-\-property=\fR\fB\fINAME\fR\fR
+.RS 4
+When showing device properties using the
+\fB\-\-query=property\fR
+option, limit display to properties specified in the argument\&. The argument should be a comma\-separated list of property names\&. If not specified, all known properties are shown\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fB\-\-value\fR
+.RS 4
+When showing device properties using the
+\fB\-\-query=property\fR
+option, print only their values, and skip the property name and
+"="\&.
+.sp
+Cannot be used together with
+\fB\-x/\-\-export\fR
+or
+\fB\-P/\-\-export\-prefix\fR\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fB\-p\fR, \fB\-\-path=\fR\fB\fIDEVPATH\fR\fR
+.RS 4
+The
+/sys/
+path of the device to query, e\&.g\&.
+[/sys/]/class/block/sda\&. This option is an alternative to the positional argument with a
+/sys/
+prefix\&.
+\fBudevadm info \-\-path=/class/block/sda\fR
+is equivalent to
+\fBudevadm info /sys/class/block/sda\fR\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-name=\fR\fB\fIFILE\fR\fR
+.RS 4
+The name of the device node or a symlink to query, e\&.g\&.
+[/dev/]/sda\&. This option is an alternative to the positional argument with a
+/dev/
+prefix\&.
+\fBudevadm info \-\-name=sda\fR
+is equivalent to
+\fBudevadm info /dev/sda\fR\&.
+.RE
+.PP
+\fB\-r\fR, \fB\-\-root\fR
+.RS 4
+Print absolute paths in
+\fBname\fR
+or
+\fBsymlink\fR
+query\&.
+.RE
+.PP
+\fB\-a\fR, \fB\-\-attribute\-walk\fR
+.RS 4
+Print all sysfs properties of the specified device that can be used in udev rules to match the specified device\&. It prints all devices along the chain, up to the root of sysfs that can be used in udev rules\&.
+.RE
+.PP
+\fB\-t\fR, \fB\-\-tree\fR
+.RS 4
+Display a sysfs tree\&. This recursively iterates through the sysfs hierarchy and displays it in a tree structure\&. If a path is specified only the subtree below and its parent directories are shown\&. This will show both device and subsystem items\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-x\fR, \fB\-\-export\fR
+.RS 4
+Print output as key/value pairs\&. Values are enclosed in single quotes\&. This takes effects only when
+\fB\-\-query=property\fR
+or
+\fB\-\-device\-id\-of\-file=\fR\fB\fIFILE\fR\fR
+is specified\&.
+.RE
+.PP
+\fB\-P\fR, \fB\-\-export\-prefix=\fR\fB\fINAME\fR\fR
+.RS 4
+Add a prefix to the key name of exported values\&. This implies
+\fB\-\-export\fR\&.
+.RE
+.PP
+\fB\-d\fR, \fB\-\-device\-id\-of\-file=\fR\fB\fIFILE\fR\fR
+.RS 4
+Print major/minor numbers of the underlying device, where the file lives on\&. If this is specified, all positional arguments are ignored\&.
+.RE
+.PP
+\fB\-e\fR, \fB\-\-export\-db\fR
+.RS 4
+Export the content of the udev database\&.
+.RE
+.PP
+\fB\-c\fR, \fB\-\-cleanup\-db\fR
+.RS 4
+Cleanup the udev database\&.
+.RE
+.PP
+\fB\-w\fR\fB[SECONDS]\fR, \fB\-\-wait\-for\-initialization\fR\fB[=SECONDS]\fR
+.RS 4
+Wait for device to be initialized\&. If argument
+\fISECONDS\fR
+is not specified, the default is to wait forever\&.
+.sp
+Added in version 243\&.
+.RE
+.PP
+\fB\-\-subsystem\-match\fR\fB[=SUBSYSTEM]\fR, \fB\-\-subsystem\-nomatch\fR\fB[=SUBSYSTEM]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices of or not of the given subsystem respectively\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-attr\-match\fR\fB[=FILE[=VALUE]]\fR, \fB\-\-attr\-nomatch\fR\fB[=FILE[=VALUE]]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices matching or not matching the given attribute respectively\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-property\-match\fR\fB[=KEY=VALUE]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices matching the given property and value\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-tag\-match\fR\fB[=TAG]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices with the given tag\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-sysname\-match\fR\fB[=NAME]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices with the given
+"/sys"
+path\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-name\-match\fR\fB[=NAME]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices with the given name in
+"/dev"\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-parent\-match\fR\fB[=NAME]\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices with the given parent device\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-initialized\-match\fR, \fB\-\-initialized\-nomatch\fR
+.RS 4
+When used with
+\fB\-\-export\-db\fR, only show devices that are initialized or not initialized respectively\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Shows output formatted as JSON\&. Expects one of
+"short"
+(for the shortest possible output without any redundant whitespace or line breaks),
+"pretty"
+(for a pretty version of the same, with indentation and line breaks) or
+"off"
+(to turn off JSON output, the default)\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+The generated output shows the current device database entry in a terse format\&. Each line shown is prefixed with one of the following characters:
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.B Table\ \&1.\ \&udevadm info output prefixes
+.TS
+allbox tab(:);
+lB lB.
+T{
+Prefix
+T}:T{
+Meaning
+T}
+.T&
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l.
+T{
+"P:"
+T}:T{
+Device path in /sys/
+T}
+T{
+"M:"
+T}:T{
+Device name in /sys/ (i\&.e\&. the last component of "P:")
+T}
+T{
+"R:"
+T}:T{
+Device number in /sys/ (i\&.e\&. the numeric suffix of the last component of "P:")
+T}
+T{
+"U:"
+T}:T{
+Kernel subsystem
+T}
+T{
+"T:"
+T}:T{
+Kernel device type within subsystem
+T}
+T{
+"D:"
+T}:T{
+Kernel device node major/minor
+T}
+T{
+"I:"
+T}:T{
+Network interface index
+T}
+T{
+"N:"
+T}:T{
+Kernel device node name
+T}
+T{
+"L:"
+T}:T{
+Device node symlink priority
+T}
+T{
+"S:"
+T}:T{
+Device node symlink
+T}
+T{
+"Q:"
+T}:T{
+Block device sequence number (DISKSEQ)
+T}
+T{
+"V:"
+T}:T{
+Attached driver
+T}
+T{
+"E:"
+T}:T{
+Device property
+T}
+.TE
+.sp 1
+.SS "udevadm trigger [\fIoptions\fR] [\fIdevpath\fR|\fIfile\fR|\fIunit\fR]"
+.PP
+Request device events from the kernel\&. Primarily used to replay events at system coldplug time\&.
+.PP
+Takes device specifications as positional arguments\&. See the description of
+\fBinfo\fR
+above\&.
+.PP
+\fB\-v\fR, \fB\-\-verbose\fR
+.RS 4
+Print the list of devices which will be triggered\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-dry\-run\fR
+.RS 4
+Do not actually trigger the event\&.
+.RE
+.PP
+\fB\-q\fR, \fB\-\-quiet\fR
+.RS 4
+Suppress error logging in triggering events\&.
+.sp
+Added in version 248\&.
+.RE
+.PP
+\fB\-t\fR, \fB\-\-type=\fR\fB\fITYPE\fR\fR
+.RS 4
+Trigger a specific type of devices\&. Valid types are
+"all",
+"devices", and
+"subsystems"\&. The default value is
+"devices"\&.
+.RE
+.PP
+\fB\-c\fR, \fB\-\-action=\fR\fB\fIACTION\fR\fR
+.RS 4
+Type of event to be triggered\&. Possible actions are
+"add",
+"remove",
+"change",
+"move",
+"online",
+"offline",
+"bind", and
+"unbind"\&. Also, the special value
+"help"
+can be used to list the possible actions\&. The default value is
+"change"\&.
+.RE
+.PP
+\fB\-\-prioritized\-subsystem=\fR\fB\fISUBSYSTEM\fR\fI[,\fISUBSYSTEM\fR\&...]\fR\fR
+.RS 4
+Takes a comma separated list of subsystems\&. When triggering events for devices, the devices from the specified subsystems and their parents are triggered first\&. For example, if
+\fB\-\-prioritized\-subsystem=block,net\fR, then firstly all block devices and their parents are triggered, in the next all network devices and their parents are triggered, and lastly the other devices are triggered\&. This option can be specified multiple times, and in that case the lists of the subsystems will be merged\&. That is,
+\fB\-\-prioritized\-subsystem=block \-\-prioritized\-subsystem=net\fR
+is equivalent to
+\fB\-\-prioritized\-subsystem=block,net\fR\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-subsystem\-match=\fR\fB\fISUBSYSTEM\fR\fR
+.RS 4
+Trigger events for devices which belong to a matching subsystem\&. This option supports shell style pattern matching\&. When this option is specified more than once, then each matching result is ORed, that is, all the devices in each subsystem are triggered\&.
+.RE
+.PP
+\fB\-S\fR, \fB\-\-subsystem\-nomatch=\fR\fB\fISUBSYSTEM\fR\fR
+.RS 4
+Do not trigger events for devices which belong to a matching subsystem\&. This option supports shell style pattern matching\&. When this option is specified more than once, then each matching result is ANDed, that is, devices which do not match all specified subsystems are triggered\&.
+.RE
+.PP
+\fB\-a\fR, \fB\-\-attr\-match=\fR\fB\fIATTRIBUTE\fR\fR\fB=\fR\fB\fIVALUE\fR\fR
+.RS 4
+Trigger events for devices with a matching sysfs attribute\&. If a value is specified along with the attribute name, the content of the attribute is matched against the given value using shell style pattern matching\&. If no value is specified, the existence of the sysfs attribute is checked\&. When this option is specified multiple times, then each matching result is ANDed, that is, only devices which have all specified attributes are triggered\&.
+.RE
+.PP
+\fB\-A\fR, \fB\-\-attr\-nomatch=\fR\fB\fIATTRIBUTE\fR\fR\fB=\fR\fB\fIVALUE\fR\fR
+.RS 4
+Do not trigger events for devices with a matching sysfs attribute\&. If a value is specified along with the attribute name, the content of the attribute is matched against the given value using shell style pattern matching\&. If no value is specified, the existence of the sysfs attribute is checked\&. When this option is specified multiple times, then each matching result is ANDed, that is, only devices which have none of the specified attributes are triggered\&.
+.RE
+.PP
+\fB\-p\fR, \fB\-\-property\-match=\fR\fB\fIPROPERTY\fR\fR\fB=\fR\fB\fIVALUE\fR\fR
+.RS 4
+Trigger events for devices with a matching property value\&. This option supports shell style pattern matching\&. When this option is specified more than once, then each matching result is ORed, that is, devices which have one of the specified properties are triggered\&.
+.RE
+.PP
+\fB\-g\fR, \fB\-\-tag\-match=\fR\fB\fITAG\fR\fR
+.RS 4
+Trigger events for devices with a matching tag\&. When this option is specified multiple times, then each matching result is ANDed, that is, devices which have all specified tags are triggered\&.
+.RE
+.PP
+\fB\-y\fR, \fB\-\-sysname\-match=\fR\fB\fINAME\fR\fR
+.RS 4
+Trigger events for devices for which the last component (i\&.e\&. the filename) of the
+/sys/
+path matches the specified
+\fIPATH\fR\&. This option supports shell style pattern matching\&. When this option is specified more than once, then each matching result is ORed, that is, all devices which have any of the specified
+\fINAME\fR
+are triggered\&.
+.RE
+.PP
+\fB\-\-name\-match=\fR\fB\fINAME\fR\fR
+.RS 4
+Trigger events for devices with a matching device path\&. When this option is specified more than once, then each matching result is ORed, that is, all specified devices are triggered\&.
+.sp
+Added in version 218\&.
+.RE
+.PP
+\fB\-b\fR, \fB\-\-parent\-match=\fR\fB\fISYSPATH\fR\fR
+.RS 4
+Trigger events for all children of a given device\&. When this option is specified more than once, then each matching result is ORed, that is, all children of each specified device are triggered\&.
+.RE
+.PP
+\fB\-\-initialized\-match\fR, \fB\-\-initialized\-nomatch\fR
+.RS 4
+When
+\fB\-\-initialized\-match\fR
+is specified, trigger events for devices that are already initialized by
+\fBsystemd\-udevd\fR, and skip devices that are not initialized yet\&.
+.sp
+When
+\fB\-\-initialized\-nomatch\fR
+is specified, trigger events for devices that are not initialized by
+\fBsystemd\-udevd\fR
+yet, and skip devices that are already initialized\&.
+.sp
+Typically, it is essential that applications which intend to use such a match, make sure a suitable udev rule is installed that sets at least one property on devices that shall be matched\&. See also Initialized Devices section below for more details\&.
+.sp
+WARNING:
+\fB\-\-initialized\-nomatch\fR
+can potentially save a significant amount of time compared to re\-triggering all devices in the system and e\&.g\&. can be used to optimize boot time\&. However, this is not safe to be used in a boot sequence in general\&. Especially, when udev rules for a device depend on its parent devices (e\&.g\&.
+"ATTRS"
+or
+"IMPORT{parent}"
+keys, see
+\fBudev\fR(7)
+for more details), the final state of the device becomes easily unstable with this option\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-w\fR, \fB\-\-settle\fR
+.RS 4
+Apart from triggering events, also waits for those events to finish\&. Note that this is different from calling
+\fBudevadm settle\fR\&.
+\fBudevadm settle\fR
+waits for all events to finish\&. This option only waits for events triggered by the same command to finish\&.
+.sp
+Added in version 238\&.
+.RE
+.PP
+\fB\-\-uuid\fR
+.RS 4
+Trigger the synthetic device events, and associate a randomized UUID with each\&. These UUIDs are printed to standard output, one line for each event\&. These UUIDs are included in the uevent environment block (in the
+"SYNTH_UUID="
+property) and may be used to track delivery of the generated events\&.
+.sp
+Added in version 249\&.
+.RE
+.PP
+\fB\-\-wait\-daemon[=\fR\fB\fISECONDS\fR\fR\fB]\fR
+.RS 4
+Before triggering uevents, wait for systemd\-udevd daemon to be initialized\&. Optionally takes timeout value\&. Default timeout is 5 seconds\&. This is equivalent to invoking
+\fBudevadm control \-\-ping\fR
+before
+\fBudevadm trigger\fR\&.
+.sp
+Added in version 241\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+In addition, optional positional arguments can be used to specify device names or sys paths\&. They must start with
+/dev/
+or
+/sys/
+respectively\&.
+.SS "udevadm settle [\fIoptions\fR]"
+.PP
+Watches the udev event queue, and exits if all current events are handled\&.
+.PP
+\fB\-t\fR, \fB\-\-timeout=\fR\fB\fISECONDS\fR\fR
+.RS 4
+Maximum number of seconds to wait for the event queue to become empty\&. The default value is 120 seconds\&. A value of 0 will check if the queue is empty and always return immediately\&. A non\-zero value will return an exit code of 0 if queue became empty before timeout was reached, non\-zero otherwise\&.
+.RE
+.PP
+\fB\-E\fR, \fB\-\-exit\-if\-exists=\fR\fB\fIFILE\fR\fR
+.RS 4
+Stop waiting if file exists\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+See
+\fBsystemd-udev-settle.service\fR(8)
+for more information\&.
+.SS "udevadm control \fIoption\fR"
+.PP
+Modify the internal state of the running udev daemon\&.
+.PP
+\fB\-e\fR, \fB\-\-exit\fR
+.RS 4
+Signal and wait for systemd\-udevd to exit\&. No option except for
+\fB\-\-timeout\fR
+can be specified after this option\&. Note that
+systemd\-udevd\&.service
+contains
+\fBRestart=always\fR
+and so as a result, this option restarts systemd\-udevd\&. If you want to stop
+systemd\-udevd\&.service, please use the following:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+systemctl stop systemd\-udevd\-control\&.socket systemd\-udevd\-kernel\&.socket systemd\-udevd\&.service
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.RE
+.PP
+\fB\-l\fR, \fB\-\-log\-level=\fR\fB\fIvalue\fR\fR
+.RS 4
+Set the internal log level of
+systemd\-udevd\&. Valid values are the numerical syslog priorities or their textual representations:
+\fBemerg\fR,
+\fBalert\fR,
+\fBcrit\fR,
+\fBerr\fR,
+\fBwarning\fR,
+\fBnotice\fR,
+\fBinfo\fR, and
+\fBdebug\fR\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-stop\-exec\-queue\fR
+.RS 4
+Signal systemd\-udevd to stop executing new events\&. Incoming events will be queued\&.
+.RE
+.PP
+\fB\-S\fR, \fB\-\-start\-exec\-queue\fR
+.RS 4
+Signal systemd\-udevd to enable the execution of events\&.
+.RE
+.PP
+\fB\-R\fR, \fB\-\-reload\fR
+.RS 4
+Signal systemd\-udevd to reload the rules files and other databases like the kernel module index\&. Reloading rules and databases does not apply any changes to already existing devices; the new configuration will only be applied to new events\&.
+.RE
+.PP
+\fB\-p\fR, \fB\-\-property=\fR\fB\fIKEY\fR\fR\fB=\fR\fB\fIvalue\fR\fR
+.RS 4
+Set a global property for all events\&.
+.RE
+.PP
+\fB\-m\fR, \fB\-\-children\-max=\fR\fIvalue\fR
+.RS 4
+Set the maximum number of events, systemd\-udevd will handle at the same time\&. When 0 is specified, then the maximum is determined based on the system resources\&.
+.RE
+.PP
+\fB\-\-ping\fR
+.RS 4
+Send a ping message to systemd\-udevd and wait for the reply\&. This may be useful to check that systemd\-udevd daemon is running\&.
+.sp
+Added in version 241\&.
+.RE
+.PP
+\fB\-t\fR, \fB\-\-timeout=\fR\fIseconds\fR
+.RS 4
+The maximum number of seconds to wait for a reply from systemd\-udevd\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "udevadm monitor [\fIoptions\fR]"
+.PP
+Listens to the kernel uevents and events sent out by a udev rule and prints the devpath of the event to the console\&. It can be used to analyze the event timing, by comparing the timestamps of the kernel uevent and the udev event\&.
+.PP
+\fB\-k\fR, \fB\-\-kernel\fR
+.RS 4
+Print the kernel uevents\&.
+.RE
+.PP
+\fB\-u\fR, \fB\-\-udev\fR
+.RS 4
+Print the udev event after the rule processing\&.
+.RE
+.PP
+\fB\-p\fR, \fB\-\-property\fR
+.RS 4
+Also print the properties of the event\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-subsystem\-match=\fR\fB\fIstring[/string]\fR\fR
+.RS 4
+Filter kernel uevents and udev events by subsystem[/devtype]\&. Only events with a matching subsystem value will pass\&. When this option is specified more than once, then each matching result is ORed, that is, all devices in the specified subsystems are monitored\&.
+.RE
+.PP
+\fB\-t\fR, \fB\-\-tag\-match=\fR\fB\fIstring\fR\fR
+.RS 4
+Filter udev events by tag\&. Only udev events with a given tag attached will pass\&. When this option is specified more than once, then each matching result is ORed, that is, devices which have one of the specified tags are monitored\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "udevadm test [\fIoptions\fR] [\fIdevpath\fR|\fIfile\fR|\fIunit\fR]"
+.PP
+Simulate a udev event run for the given device, and print debug output\&.
+.PP
+\fB\-a\fR, \fB\-\-action=\fR\fB\fIACTION\fR\fR
+.RS 4
+Type of event to be simulated\&. Possible actions are
+"add",
+"remove",
+"change",
+"move",
+"online",
+"offline",
+"bind", and
+"unbind"\&. Also, the special value
+"help"
+can be used to list the possible actions\&. The default value is
+"add"\&.
+.RE
+.PP
+\fB\-N\fR, \fB\-\-resolve\-names=\fR\fB\fBearly\fR\fR\fB|\fR\fB\fBlate\fR\fR\fB|\fR\fB\fBnever\fR\fR
+.RS 4
+Specify when udevadm should resolve names of users and groups\&. When set to
+\fBearly\fR
+(the default), names will be resolved when the rules are parsed\&. When set to
+\fBlate\fR, names will be resolved for every event\&. When set to
+\fBnever\fR, names will never be resolved and all devices will be owned by root\&.
+.sp
+Added in version 209\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "udevadm test\-builtin [\fIoptions\fR] [\fIcommand\fR] [\fIdevpath\fR|\fIfile\fR|\fIunit\fR]"
+.PP
+Run a built\-in command
+\fICOMMAND\fR
+for device
+\fIDEVPATH\fR, and print debug output\&.
+.PP
+\fB\-a\fR, \fB\-\-action=\fR\fB\fIACTION\fR\fR
+.RS 4
+Type of event to be simulated\&. Possible actions are
+"add",
+"remove",
+"change",
+"move",
+"online",
+"offline",
+"bind", and
+"unbind"\&. Also, the special value
+"help"
+can be used to list the possible actions\&. The default value is
+"add"\&.
+.sp
+Added in version 250\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SS "udevadm verify [\fIoptions\fR] [\fIfile\fR...] \&..."
+.PP
+Verify syntactic, semantic, and stylistic correctness of udev rules files\&.
+.PP
+Positional arguments could be used to specify one or more files to check\&. If no files are specified, the udev rules are read from the files located in the same udev/rules\&.d directories that are processed by the udev daemon\&.
+.PP
+The exit status is
+\fB0\fR
+if all specified udev rules files are syntactically, semantically, and stylistically correct, and a non\-zero error code otherwise\&.
+.PP
+\fB\-N\fR, \fB\-\-resolve\-names=\fR\fB\fBearly\fR\fR\fB|\fR\fB\fBnever\fR\fR
+.RS 4
+Specify when udevadm should resolve names of users and groups\&. When set to
+\fBearly\fR
+(the default), names will be resolved when the rules are parsed\&. When set to
+\fBnever\fR, names will never be resolved\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-root=\fR\fB\fIPATH\fR\fR
+.RS 4
+When looking for udev rules files located in udev/rules\&.d directories, operate on files underneath the specified root path
+\fIPATH\fR\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-no\-summary\fR
+.RS 4
+Do not show summary\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-\-no\-style\fR
+.RS 4
+Ignore style issues\&. When specified, even if style issues are found in udev rules files, the exit status is
+\fB0\fR
+if no syntactic or semantic errors are found\&.
+.sp
+Added in version 254\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "udevadm wait [\fIoptions\fR] [\fIdevice|syspath\fR] \&..."
+.PP
+Wait for devices or device symlinks being created and initialized by
+\fBsystemd\-udevd\fR\&. Each device path must start with
+"/dev/"
+or
+"/sys/", e\&.g\&.
+"/dev/sda",
+"/dev/disk/by\-path/pci\-0000:3c:00\&.0\-nvme\-1\-part1",
+"/sys/devices/pci0000:00/0000:00:1f\&.6/net/eth0", or
+"/sys/class/net/eth0"\&. This can take multiple devices\&. This may be useful for waiting for devices being processed by
+\fBsystemd\-udevd\fR
+after e\&.g\&. partitioning or formatting the devices\&.
+.PP
+\fB\-t\fR, \fB\-\-timeout=\fR\fB\fISECONDS\fR\fR
+.RS 4
+Maximum number of seconds to wait for the specified devices or device symlinks being created, initialized, or removed\&. The default value is
+"infinity"\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-initialized=\fR\fB\fIBOOL\fR\fR
+.RS 4
+Check if
+\fBsystemd\-udevd\fR
+initialized devices\&. Defaults to true\&. When false, the command only checks if the specified devices exist\&. Set false to this setting if there is no udev rules for the specified devices, as the devices will never be considered as initialized in that case\&. See Initialized Devices section below for more details\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-removed\fR
+.RS 4
+When specified, the command wait for devices being removed instead of created or initialized\&. If this is specified,
+\fB\-\-initialized=\fR
+will be ignored\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-settle\fR
+.RS 4
+When specified, also watches the udev event queue, and wait for all queued events being processed by
+\fBsystemd\-udevd\fR\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SS "udevadm lock [\fIoptions\fR] [\fIcommand\fR] \&..."
+.PP
+\fBudevadm lock\fR
+takes an (advisory) exclusive lock on a block device (or all specified devices), as per
+\m[blue]\fBLocking Block Device Access\fR\m[]\&\s-2\u[1]\d\s+2
+and invokes a program with the locks taken\&. When the invoked program exits the locks are automatically released and its return value is propagated as exit code of
+\fBudevadm lock\fR\&.
+.PP
+This tool is in particular useful to ensure that
+\fBsystemd-udevd.service\fR(8)
+does not probe a block device while changes are made to it, for example partitions created or file systems formatted\&. Note that many tools that interface with block devices natively support taking relevant locks, see for example
+\fBsfdisk\fR(8)\*(Aqs
+\fB\-\-lock\fR
+switch\&.
+.PP
+The command expects at least one block device specified via
+\fB\-\-device=\fR
+or
+\fB\-\-backing=\fR, and a command line to execute as arguments\&.
+.PP
+\fB\-\-device=\fR\fB\fIDEVICE\fR\fR, \fB\-d \fR\fB\fIDEVICE\fR\fR
+.RS 4
+Takes a path to a device node of the device to lock\&. This switch may be used multiple times (and in combination with
+\fB\-\-backing=\fR) in order to lock multiple devices\&. If a partition block device node is specified the containing "whole" block device is automatically determined and used for the lock, as per the specification\&. If multiple devices are specified, they are deduplicated, sorted by the major/minor of their device nodes and then locked in order\&.
+.sp
+This switch must be used at least once, to specify at least one device to lock\&. (Alternatively, use
+\fB\-\-backing=\fR, see below\&.)
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-backing=\fR\fB\fIPATH\fR\fR, \fB\-b \fR\fB\fIPATH\fR\fR
+.RS 4
+If a path to a device node is specified, identical to
+\fB\-\-device=\fR\&. However, this switch alternatively accepts a path to a regular file or directory, in which case the block device of the file system the file/directory resides on is automatically determined and used as if it was specified with
+\fB\-\-device=\fR\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-timeout=\fR\fB\fISECS\fR\fR, \fB\-t \fR\fB\fISECS\fR\fR
+.RS 4
+Specifies how long to wait at most until all locks can be taken\&. Takes a value in seconds, or in the usual supported time units, see
+\fBsystemd.time\fR(7)\&. If specified as zero the lock is attempted and if not successful the invocation will immediately fail\&. If passed as
+"infinity"
+(the default) the invocation will wait indefinitely until the lock can be acquired\&. If the lock cannot be taken in the specified time the specified command will not be executed and the invocation will fail\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-\-print\fR, \fB\-p\fR
+.RS 4
+Instead of locking the specified devices and executing a command, just print the device paths that would be locked, and execute no command\&. This command is useful to determine the "whole" block device in case a partition block device is specified\&. The devices will be sorted by their device node major number as primary ordering key and the minor number as secondary ordering key (i\&.e\&. they are shown in the order they\*(Aqd be locked)\&. Note that the number of lines printed here can be less than the number of
+\fB\-\-device=\fR
+and
+\fB\-\-backing=\fR
+switches specified in case these resolve to the same "whole" devices\&.
+.sp
+Added in version 251\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.SH "INITIALIZED DEVICES"
+.PP
+Initialized devices are those for which at least one udev rule already completed execution \(en for any action but
+"remove"
+\(em that set a property or other device setting (and thus has an entry in the udev device database)\&. Devices are no longer considered initialized if a
+"remove"
+action is seen for them (which removes their entry in the udev device database)\&. Note that devices that have no udev rules are never considered initialized, but might still be announced via the sd\-device API (or similar)\&.
+.SH "EXAMPLE"
+.PP
+\fBExample\ \&1.\ \&Format a File System\fR
+.PP
+Take a lock on the backing block device while creating a file system, to ensure that
+\fBsystemd\-udevd\fR
+doesn\*(Aqt probe or announce the new superblock before it is comprehensively written:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# udevadm lock \-\-device=/dev/sda1 mkfs\&.ext4 /dev/sda1
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&2.\ \&Format a RAID File System\fR
+.PP
+Similar, but take locks on multiple devices at once:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# udevadm lock \-\-device=/dev/sda1 \-\-device=/dev/sdb1 mkfs\&.btrfs /dev/sda1 /dev/sdb1
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&3.\ \&Copy in a File System\fR
+.PP
+Take a lock on the backing block device while copying in a prepared file system image, to ensure that
+\fBsystemd\-udevd\fR
+doesn\*(Aqt probe or announce the new superblock before it is fully written:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# udevadm lock \-d /dev/sda1 dd if=fs\&.raw of=/dev/sda1
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBudev\fR(7),
+\fBsystemd-udevd.service\fR(8)
+.SH "NOTES"
+.IP " 1." 4
+Locking Block Device Access
+.RS 4
+\%https://systemd.io/BLOCK_DEVICE_LOCKING
+.RE
diff --git a/upstream/fedora-40/man8/umount.nfs.8 b/upstream/fedora-40/man8/umount.nfs.8
new file mode 100644
index 00000000..15addfa0
--- /dev/null
+++ b/upstream/fedora-40/man8/umount.nfs.8
@@ -0,0 +1,70 @@
+.\"@(#)umount.nfs.8"
+.TH UMOUNT.NFS 8 "6 Jun 2006"
+.SH NAME
+umount.nfs, umount.nfs4 \- unmount a Network File System
+.SH SYNOPSIS
+.BI "umount.nfs" " dir" " [\-fvnrlh ]"
+.SH DESCRIPTION
+.BR umount.nfs
+and
+.BR umount.nfs4
+are a part of
+.BR nfs (5)
+utilities package, which provides NFS client functionality.
+
+.BR umount.nfs4
+and
+.BR umount.nfs
+are meant to be used by the
+.BR umount (8)
+command for unmounting NFS shares. This subcommand, however, can also be used as a standalone command with limited functionality.
+
+.I dir
+is the directory on which the file system is mounted.
+
+.SH OPTIONS
+.TP
+.BI "\-f"
+Force unmount the file system in case of unreachable NFS system.
+.TP
+.BI "\-v"
+Be verbose.
+.TP
+.BI "\-n"
+Do not update
+.I /etc/mtab.
+By default, an entry is created in
+.I /etc/mtab
+for every mounted file system. Use this option to skip deleting an entry.
+.TP
+.BI "\-r"
+In case unmounting fails, try to mount read-only.
+.TP
+.BI "\-l"
+Lazy unmount. Detach the file system from the file system hierarchy now, and cleanup all references to the file system as soon as it is not busy anymore.
+.TP
+.BI "\-h"
+Print help message.
+
+.SH NOTE
+For further information please refer
+.BR nfs (5)
+and
+.BR umount (8)
+manual pages.
+
+.SH FILES
+.TP 18n
+.I /etc/fstab
+file system table
+.TP
+.I /etc/mtab
+table of mounted file systems
+
+.PD
+.SH "SEE ALSO"
+.BR nfs (5),
+.BR umount (8),
+
+.SH "AUTHOR"
+Amit Gud <agud@redhat.com>
diff --git a/upstream/fedora-40/man8/update-pciids.8 b/upstream/fedora-40/man8/update-pciids.8
new file mode 100644
index 00000000..ca01c279
--- /dev/null
+++ b/upstream/fedora-40/man8/update-pciids.8
@@ -0,0 +1,38 @@
+.TH update-pciids 8 "25 February 2024" "pciutils-3.11.1" "The PCI Utilities"
+
+.SH NAME
+update-pciids \- download new version of the PCI ID list
+
+.SH SYNOPSIS
+.B update-pciids
+.RB [ -q ]
+
+.SH DESCRIPTION
+.B update-pciids
+fetches the current version of the pci.ids file from the primary distribution
+site and installs it.
+
+This utility requires curl, wget or lynx to be installed. If gzip or bzip2
+are available, it automatically downloads the compressed version of the list.
+
+.SH OPTIONS
+.TP
+.B -q
+Be quiet and do not report anything except errors.
+
+.SH FILES
+.TP
+.B /usr/share/hwdata/pci.ids
+Here we install the new list.
+
+.SH SEE ALSO
+.BR lspci (8),
+.BR pci.ids (5),
+.BR curl (1),
+.BR wget (1),
+.BR lynx (1),
+.BR gzip (1),
+.BR bzip2 (1)
+
+.SH AUTHOR
+The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.
diff --git a/upstream/fedora-40/man8/updatedb.8 b/upstream/fedora-40/man8/updatedb.8
new file mode 100644
index 00000000..45a1a633
--- /dev/null
+++ b/upstream/fedora-40/man8/updatedb.8
@@ -0,0 +1,205 @@
+.\" A man page for updatedb(8). -*- nroff -*-
+.\"
+.\" Copyright (C) 2005, 2007, 2008 Red Hat, Inc. All rights reserved.
+.\"
+.\" This copyrighted material is made available to anyone wishing to use,
+.\" modify, copy, or redistribute it subject to the terms and conditions of the
+.\" GNU General Public License v.2.
+.\"
+.\" This program is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+.\" more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+.\"
+.\" Author: Miloslav Trmac <mitr@redhat.com>
+.TH updatedb 8 "Jun 2008" mlocate
+
+.SH NAME
+updatedb \- update a database for mlocate
+
+.SH SYNOPSIS
+
+\fBupdatedb\fR [\fIOPTION\fR]...
+
+.SH DESCRIPTION
+.B updatedb
+creates or updates a database used by
+.BR locate (1).
+If the database already exists,
+its data is reused
+to avoid rereading directories that have not changed.
+
+.B updatedb
+is usually run daily by
+.BR cron (8)
+to update the default database.
+
+.SH EXIT STATUS
+.B updatedb
+returns with exit status 0 on success, 1 on error.
+
+.SH OPTIONS
+The \fBPRUNE_BIND_MOUNTS\fR, \fBPRUNEFS\fR,
+.B PRUNENAMES
+and
+.B PRUNEPATHS
+variables, which are modified by some of the options, are documented in detail
+in
+.BR updatedb.conf (5).
+
+.TP
+\fB\-f\fR, \fB\-\-add-prunefs\fB \fIFS\fR
+Add entries in white-space-separated list \fIFS\fR to \fBPRUNEFS\fR.
+
+.TP
+\fB\-n\fR, \fB\-\-add-prunenames\fB \fINAMES\fR
+Add entries in white-space-separated list \fINAMES\fR to \fBPRUNENAMES\fR.
+
+.TP
+\fB\-e\fR, \fB\-\-add-prunepaths\fB \fIPATHS\fR
+Add entries in white-space-separated list \fIPATHS\fR to \fBPRUNEPATHS\fR.
+
+.TP
+\fB\-U\fR, \fB\-\-database\-root\fR \fIPATH\fR
+Store only results of scanning the file system subtree rooted at \fIPATH\fR to
+the generated database.
+The whole file system is scanned by default.
+
+.BR locate (1)
+outputs entries as absolute path names which don't contain symbolic links,
+regardless of the form of \fIPATH\fR.
+
+.TP
+\fB\-\-debug\-pruning\fR
+Write debugging information about pruning decisions to standard error output.
+
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Write a summary of the available options to standard output
+and exit successfully.
+
+.TP
+\fB\-o\fR, \fB\-\-output\fR \fIFILE\fR
+Write the database to
+.I FILE
+instead of using the default database.
+
+.TP
+\fB\-\-prune\-bind\-mounts\fR \fIFLAG\fR
+Set
+.B PRUNE_BIND_MOUNTS
+to \fIFLAG\fR, overriding the configuration file.
+
+.TP
+\fB\-\-prunefs\fR \fIFS\fR
+Set \fBPRUNEFS\fR to \fIFS\fR, overriding the configuration file.
+
+.TP
+\fB\-\-prunenames\fR \fINAMES\fR
+Set \fBPRUNENAMES\fR to \fINAMES\fR, overriding the configuration file.
+
+.TP
+\fB\-\-prunepaths\fR \fIPATHS\fR
+Set \fBPRUNEPATHS\fR to \fIPATHS\fR, overriding the configuration file.
+
+.TP
+\fB\-l\fR, \fB\-\-require\-visibility\fR \fIFLAG\fR
+Set the \*(lqrequire file visibility before reporting it\*(rq flag in the
+generated database to \fIFLAG\fR.
+
+If
+.I FLAG
+is
+.B 0
+or \fBno\fR,
+or if the database file is readable by "others"
+or it is not owned by \fBslocate\fR,
+.BR locate (1)
+outputs the database entries even if the user running
+.BR locate (1)
+could not have read the directory necessary to find out the file described
+by the database entry.
+
+If
+.I FLAG
+is
+.B 1
+or
+.B yes
+(the default),
+.BR locate (1)
+checks the permissions of parent directories of each entry
+before reporting it to the invoking user.
+To make the file existence truly hidden from other users, the database
+group is set to
+.B slocate
+and the database permissions prohibit reading the database by users using
+other means than
+.BR locate (1),
+which is set-gid \fBslocate\fR.
+
+Note that the visibility flag is checked only if the database is owned by
+.B slocate
+and it is not readable by "others".
+
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Output path names of files to standard output, as soon as they are found.
+
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Write information about the version and license of
+.B locate
+on standard output and exit successfully.
+
+.SH EXAMPLES
+To create a private mlocate database as an user other than \fBroot\fR,
+run
+.RS
+.B updatedb -l 0 \-o
+.I db_file
+.B \-U
+.I source_directory
+.RE
+Note that all users that can read
+.I db_file
+can get the complete list of files in the subtree of \fIsource_directory\fR.
+
+.SH FILES
+.TP
+\fB/etc/updatedb.conf\fR
+A configuration file. See
+.BR updatedb.conf (5).
+
+.TP
+\fB/var/lib/mlocate/mlocate.db\fR
+The database updated by default.
+
+.SH SECURITY
+Databases built with
+.B \-\-require\-visibility no
+allow users to find names of files and directories of other users,
+which they would not otherwise be able to do.
+
+.SH NOTES
+The accompanying
+.BR locate (1)
+utility was designed to be compatible to
+.B slocate
+and attempts to be compatible to
+.SM GNU
+.B locate
+where possible.
+This is not the case for \fBupdatedb\fR.
+
+.SH AUTHOR
+Miloslav Trmac <mitr@redhat.com>
+
+.SH SEE ALSO
+.BR locate (1),
+.BR mlocate.db (5),
+.BR updatedb.conf (5)
diff --git a/upstream/fedora-40/man8/usbhid-dump.8 b/upstream/fedora-40/man8/usbhid-dump.8
new file mode 100644
index 00000000..3c18e670
--- /dev/null
+++ b/upstream/fedora-40/man8/usbhid-dump.8
@@ -0,0 +1,102 @@
+.\"SPDX-License-Identifier: GPL-2.0-or-later
+.\" Copyright Nikolai Kondrashov <spbnick@gmail.com>
+.TH usbhid-dump "8" "February 2012" "usbutils-017" "Linux USB Utilities"
+.IX usbhid-dump
+.SH NAME
+usbhid-dump \- dump USB HID device report descriptors and streams
+.SH SYNOPSIS
+.B usbhid-dump
+[OPTION]...
+.SH DESCRIPTION
+.B usbhid-dump
+uses
+.B libusb
+to dump report descriptors and streams from HID (human interface device)
+interfaces of USB devices. By default, it dumps HID interfaces of all
+connected USB devices, but could be limited to a subset of them, or to a single
+interface, using options.
+
+NOTE: usbhid-dump detaches kernel drivers from the interfaces it dumps and uses
+them exclusively, so no other program receives the input in the meantime. The
+report descriptor dumping is instantaneous, but the stream dumping continues
+until terminated with SIGINT (^C from the terminal) or a timeout expires.
+
+If you accidentally start dumping a stream from the USB keyboard you use to
+control the terminal, the system will stop receiving the input and you won't
+be able to terminate usbhid-dump. Just stop your input and wait until the
+timeout expires. The stream dumping will stop, the keyboard will be
+reattached to the kernel driver and you will regain control.
+
+The default stream dumping timeout is 60 seconds and could be changed with the
+-t option.
+.SH OPTIONS
+.TP
+.B -h, --help
+Output a help message and exit.
+.TP
+.B -v, --version
+Output version information and exit.
+.TP
+.B -s, -a, --address=bus[:dev]
+Limit interfaces by bus number and device address. Both 1-255, decimal.
+Zeroes match any bus or device.
+.TP
+.B -d, -m, --model=vid[:pid]
+Limit interfaces by device vendor and product IDs. Both 1-FFFF, hexadecimal.
+Zeroes match any vendor or product.
+.TP
+.B -i, --interface=NUMBER
+Limit interfaces by number (0-254), decimal. 255 matches any interface.
+.TP
+.B -e, --entity=STRING
+The entity to dump: either "descriptor", "stream" or "all". The value can be
+abbreviated down to one letter. The default is "descriptor".
+.TP
+.B -t, --stream-timeout=NUMBER
+Stream interrupt transfer timeout, ms. Zero means infinity. The default is
+60000 (60 seconds).
+.TP
+.B -p, --stream-paused
+Start with the stream dump output paused.
+.TP
+.B -f, --stream-feedback
+Enable stream dumping feedback: print a dot to stderr for every transfer
+dumped.
+.SH SIGNALS
+.TP
+.B USR1/USR2
+Pause/resume stream dump output.
+.SH OUTPUT FORMAT
+.B usbhid-dump
+outputs dumps in chunks. Each chunk is separated by an empty line and starts
+with the following header line:
+
+BUS:DEVICE:INTERFACE:ENTITY TIMESTAMP
+
+Here, BUS, DEVICE and INTERFACE are bus, device and interface numbers
+respectively. ENTITY is either "DESCRIPTOR" or "STREAM". TIMESTAMP is
+timestamp in seconds since epoch.
+
+After the header the actual dump data follows as hex bytes. A descriptor
+chunk includes the whole report descriptor. Every stream chunk includes a
+whole report, usually, but if a report is bigger than endpoint's
+wMaxPacketSize, it will span several chunks.
+.SH EXAMPLES
+.TP
+Dump report descriptor for a device with address 3 on bus number 2:
+.B usbhid-dump -a 2:3
+
+.TP
+Dump report stream for a device with vendor ID 0x5543 and product ID 0x0005:
+.B usbhid-dump -m 5543:0005 -es
+
+.TP
+Dump report descriptor from interface 1 of a device with vendor ID 0x5543:
+.B usbhid-dump -m 5543 -i 1 -ed
+
+.TP
+Dump report streams from all HID interfaces of all USB devices (caution: you will lose control over the terminal if you use USB keyboard):
+.B usbhid-dump -es
+
+.SH AUTHOR
+Nikolai Kondrashov <spbnick@gmail.com>
diff --git a/upstream/fedora-40/man8/uucico.8 b/upstream/fedora-40/man8/uucico.8
new file mode 100644
index 00000000..41ce978d
--- /dev/null
+++ b/upstream/fedora-40/man8/uucico.8
@@ -0,0 +1,271 @@
+''' $Id: uucico.8,v 1.20 2002/03/05 22:20:48 ian Rel $
+.TH uucico 8 "Taylor UUCP 1.07"
+.SH NAME
+uucico \- UUCP file transfer daemon
+.SH SYNOPSIS
+.B uucico
+[ options ]
+.SH DESCRIPTION
+The
+.I uucico
+daemon processes file transfer requests queued by
+.I uucp
+(1) and
+.I uux
+(1). It is started when
+.I uucp
+or
+.I uux
+is run (unless they are given the
+.B \-r
+option). It is also typically started periodically using
+entries in the
+.I crontab
+table(s).
+
+When invoked with
+.B \-r1,
+.B \-\-master,
+.B \-s,
+.B \-\-system,
+or
+.B \-S,
+the daemon will place a call to a remote system, running in master
+mode. Otherwise the daemon will start in slave mode, accepting a call
+from a remote system. Typically a special login name will be set up
+for UUCP which automatically invokes
+.I uucico
+when a call is made.
+
+When
+.I uucico
+terminates, it invokes the
+.I uuxqt
+(8) daemon, unless the
+.B \-q
+or
+.B \-\-nouuxqt
+option is given;
+.I uuxqt
+(8) executes any work orders created by
+.I uux
+(1) on a remote system, and any work orders created locally which have
+received remote files for which they were waiting.
+
+If a call fails,
+.I uucico
+will normally refuse to retry the
+call until a certain (configurable) amount of time
+has passed. This may be overriden by the
+.B -f,
+.B --force,
+or
+.B -S
+option.
+
+The
+.B \-l,
+.B \-\-prompt,
+.B \-e,
+or
+.B \-\-loop
+options may be used to force
+.I uucico
+to produce its own prompts of "login: " and "Password:". When another
+daemon calls in, it will see these prompts and log in as usual. The
+login name and password will normally be checked against a separate
+list kept specially for
+.I uucico
+rather than the
+.I /etc/passwd
+file; it is possible on some systems to direct
+.I uucico
+to use the
+.I /etc/passwd
+file. The
+.B \-l
+or
+.B \--prompt
+option will prompt once and then exit; in this mode the UUCP
+administrator or the superuser may use the
+.B \-u
+or
+.B \--login
+option to force a login name, in which case
+.I uucico
+will not prompt for one.
+The
+.B \-e
+or
+.B \--loop
+option will prompt again after the first session is over; in this mode
+.I uucico
+will permanently control a port.
+
+If
+.I uucico
+receives a SIGQUIT, SIGTERM or SIGPIPE signal, it will cleanly abort
+any current conversation with a remote system and exit. If it
+receives a SIGHUP signal it will abort any current conversation, but
+will continue to place calls to (if invoked with
+.B \-r1
+or
+.B \-\-master)
+and accept calls from (if invoked with
+.B \-e
+or
+.B \-\-loop)
+other systems. If it receives a
+SIGINT signal it will finish the current conversation, but will not
+place or accept any more calls.
+.SH OPTIONS
+The following options may be given to
+.I uucico.
+.TP 5
+.B \-r1, \-\-master
+Start in master mode (call out to a system); implied by
+.B \-s,
+.B \-\-system,
+or
+.B \-S.
+If no system is specified, call any system for which work is waiting
+to be done.
+.TP 5
+.B \-r0, \-\-slave
+Start in slave mode. This is the default.
+.TP 5
+.B \-s system, \-\-system system
+Call the named system.
+.TP 5
+.B \-S system
+Call the named system, ignoring any required wait. This is equivalent
+to
+.B \-s system \-f.
+.TP 5
+.B \-f, \-\-force
+Ignore any required wait for any systems to be called.
+.TP 5
+.B \-l, \-\-prompt
+Prompt for login name and password using "login: " and "Password:".
+This allows
+.I uucico
+to be easily run from
+.I inetd
+(8). The login name and password are checked against the UUCP
+password file, which probably has no connection to the file
+.I /etc/passwd.
+The
+.B \-\-login
+option may be used to force a login name, in which cause
+.I uucico
+will only prompt for a password.
+.TP 5
+.B \-p port, \-\-port port
+Specify a port to call out on or to listen to.
+.TP 5
+.B \-e, \-\-loop
+Enter endless loop of login/password prompts and slave mode daemon
+execution. The program will not stop by itself; you must use
+.I kill
+(1) to shut it down.
+.TP 5
+.B \-w, \-\-wait
+After calling out (to a particular system when
+.B \-s,
+.B \-\-system,
+or
+.B \-S
+is specifed, or to all systems which have work when just
+.B \-r1
+or
+.B \-\-master
+is specifed), begin an endless loop as with
+.B \-\-loop.
+.TP 5
+.B \-q, \-\-nouuxqt
+Do not start the
+.I uuxqt
+(8) daemon when finished.
+.TP 5
+.B \-c, \-\-quiet
+If no calls are permitted at this time, then don't make the call, but
+also do not put an error message in the log file and do not update the
+system status (as reported by
+.I uustat
+(1)). This can be convenient for automated polling scripts, which may
+want to simply attempt to call every system rather than worry about
+which particular systems may be called at the moment. This option
+also suppresses the log message indicating that there is no work to be
+done.
+.TP 5
+.B \-C, \-\-ifwork
+Only call the system named by
+.B \-s,
+.B \-\-system
+or
+.B \-S
+if there is work for that system.
+.TP 5
+.B \-D, \-\-nodetach
+Do not detach from the controlling terminal. Normally
+.I uucico
+detaches from the terminal before each call out to another system and
+before invoking
+.I uuxqt.
+This option prevents this.
+.TP 5
+.B \-u name, \-\-login name
+Set the login name to use instead of that of the invoking user. This
+option may only be used by the UUCP administrator or the superuser.
+If used with
+.B \-\-prompt,
+this will cause
+.I uucico
+to prompt only for the password, not the login name.
+.TP 5
+.B \-z, \-\-try-next
+If a call fails after the remote system is reached, try the next
+alternate rather than simply exiting.
+.TP 5
+.B \-i type, \-\-stdin type
+Set the type of port to use when using standard input. The only
+support port type is TLI, and this is only available on machines which
+support the TLI networking interface. Specifying
+.B \-iTLI
+causes
+.I uucico
+to use TLI calls to perform I/O.
+.TP 5
+.B \-x type, \-X type, \-\-debug type
+Turn on particular debugging types. The following types are
+recognized: abnormal, chat, handshake, uucp-proto, proto, port,
+config, spooldir, execute, incoming, outgoing.
+
+Multiple types may be given, separated by commas, and the
+.B \-\-debug
+option may appear multiple times. A number may also be given, which
+will turn on that many types from the foregoing list; for example,
+.B \-\-debug 2
+is equivalent to
+.B \-\-debug abnormal,chat.
+
+The debugging output is sent to the debugging file, which may be
+printed using
+.I uulog -D.
+.TP 5
+.B \-I file, \-\-config file
+Set configuration file to use. This option may not be available,
+depending upon how
+.I uucico
+was compiled.
+.TP 5
+.B \-v, \-\-version
+Report version information and exit.
+.TP 5
+.B \-\-help
+Print a help message and exit.
+.SH SEE ALSO
+kill(1), uucp(1), uux(1), uustat(1), uuxqt(8)
+.SH AUTHOR
+Ian Lance Taylor
+<ian@airs.com>
diff --git a/upstream/fedora-40/man8/uuxqt.8 b/upstream/fedora-40/man8/uuxqt.8
new file mode 100644
index 00000000..50d0cc1e
--- /dev/null
+++ b/upstream/fedora-40/man8/uuxqt.8
@@ -0,0 +1,85 @@
+''' $Id: uuxqt.8,v 1.10 2002/03/05 22:20:48 ian Rel $
+.TH uuxqt 8 "Taylor UUCP 1.07"
+.SH NAME
+uuxqt \- UUCP execution daemon
+.SH SYNOPSIS
+.B uuxqt
+[ options ]
+.SH DESCRIPTION
+The
+.I uuxqt
+daemon executes commands requested by
+.I uux
+(1) from either the local system or from remote systems.
+It is started automatically by the
+.I uucico
+(8) daemon (unless
+.I uucico
+(8) is given the
+.B \-q
+or
+.B \-\-nouuxqt
+option).
+
+There is normally no need to run this command, since it will be
+invoked by
+.I uucico
+(8). However, it can be used to provide greater control over the
+processing of the work queue.
+
+Multiple invocations of
+.I uuxqt
+may be run at once, as controlled by the
+.I max-uuxqts
+configuration command.
+.SH OPTIONS
+The following options may be given to
+.I uuxqt.
+.TP 5
+.B \-c command, \-\-command command
+Only execute requests for the specified command. For example:
+.br
+.in +0.5i
+.nf
+uuxqt --command rmail
+.fi
+.in -0.5i
+.TP 5
+.B \-s system, \-\-system system
+Only execute requests originating from the specified system.
+.TP 5
+.B \-x type, \-\-debug type
+Turn on particular debugging types. The following types are
+recognized: abnormal, chat, handshake, uucp-proto, proto, port,
+config, spooldir, execute, incoming, outgoing. Only abnormal, config,
+spooldir and execute are meaningful for
+.I uuxqt.
+
+Multiple types may be given, separated by commas, and the
+.B \-\-debug
+option may appear multiple times. A number may also be given, which
+will turn on that many types from the foregoing list; for example,
+.B \-\-debug 2
+is equivalent to
+.B \-\-debug abnormal,chat.
+
+The debugging output is sent to the debugging file, which may be
+printed using
+.I uulog -D.
+.TP 5
+.B \-I file, \-\-config
+Set configuration file to use. This option may not be available,
+depending upon how
+.I uuxqt
+was compiled.
+.TP 5
+.B \-v, \-\-version
+Report version information and exit.
+.TP 5
+.B \-\-help
+Print a help message and exit.
+.SH SEE ALSO
+uucp(1), uux(1), uucico(8)
+.SH AUTHOR
+Ian Lance Taylor
+(ian@airs.com)
diff --git a/upstream/fedora-40/man8/vdpa-dev.8 b/upstream/fedora-40/man8/vdpa-dev.8
new file mode 100644
index 00000000..43e5bf48
--- /dev/null
+++ b/upstream/fedora-40/man8/vdpa-dev.8
@@ -0,0 +1,181 @@
+.TH DEVLINK\-DEV 8 "5 Jan 2021" "iproute2" "Linux"
+.SH NAME
+vdpa-dev \- vdpa device configuration
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B vdpa
+.B dev
+.RI "[ " OPTIONS " ] "
+.RI " { " COMMAND | " "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR]
+}
+
+.ti -8
+.B vdpa dev show
+.RI "[ " DEV " ]"
+
+.ti -8
+.B vdpa dev help
+
+.ti -8
+.B vdpa dev add
+.B name
+.I NAME
+.B mgmtdev
+.I MGMTDEV
+.RI "[ device_features " DEVICE_FEATURES " ]"
+.RI "[ mac " MACADDR " ]"
+.RI "[ mtu " MTU " ]"
+.RI "[ max_vqp " MAX_VQ_PAIRS " ]"
+
+.ti -8
+.B vdpa dev del
+.I DEV
+
+.ti -8
+.B vdpa dev config show
+.RI "[ " DEV " ]"
+
+.ti -8
+.B vdpa dev vstats show
+.I DEV
+.B qidx
+.I QUEUE_INDEX
+
+
+.SH "DESCRIPTION"
+.SS vdpa dev show - display vdpa device attributes
+
+.PP
+.I "DEV"
+- specifies the vdpa device to show.
+If this argument is omitted all devices are listed.
+
+.in +4
+Format is:
+.in +2
+VDPA_DEVICE_NAME
+
+.SS vdpa dev add - add a new vdpa device.
+
+.TP
+.BI name " NAME"
+Name of the new vdpa device to add.
+
+.TP
+.BI mgmtdev " MGMTDEV"
+Name of the management device to use for device addition.
+
+.PP
+.BI device_features " DEVICE_FEATURES"
+Specifies the virtio device features bit-mask that is provisioned for the new vdpa device.
+
+The bits can be found under include/uapi/linux/virtio*h.
+
+see macros such as VIRTIO_F_ and VIRTIO_XXX(e.g NET)_F_ for specific bit values.
+
+This is optional.
+
+.BI mac " MACADDR"
+- specifies the mac address for the new vdpa device.
+This is applicable only for the network type of vdpa device. This is optional.
+
+.BI mtu " MTU"
+- specifies the mtu for the new vdpa device.
+This is applicable only for the network type of vdpa device. This is optional.
+
+.SS vdpa dev del - Delete the vdpa device.
+
+.PP
+.I "DEV"
+- specifies the vdpa device to delete.
+
+.SS vdpa dev config show - Show configuration of specific device or all devices.
+
+.PP
+.I "DEV"
+- specifies the vdpa device to show its configuration.
+If this argument is omitted all devices configuration is listed.
+
+.in +4
+Format is:
+.in +2
+VDPA_DEVICE_NAME
+
+.SS vdpa dev vstats show - shows vendor specific statistics for the given device and virtqueue index. The information is presented as name-value pairs where name is the name of the field and value is a numeric value for it.
+
+.TP
+.BI "DEV"
+- specifies the vdpa device to query
+
+.TP
+.BI qidx " QUEUE_INDEX"
+- specifies the virtqueue index to query
+
+.SH "EXAMPLES"
+.PP
+vdpa dev show
+.RS 4
+Shows the all vdpa devices on the system.
+.RE
+.PP
+vdpa dev show foo
+.RS 4
+Shows the specified vdpa device.
+.RE
+.PP
+vdpa dev add name foo mgmtdev vdpa_sim_net
+.RS 4
+Add the vdpa device named foo on the management device vdpa_sim_net.
+.RE
+.PP
+vdpa dev add name foo mgmtdev vdpa_sim_net device_features 0x300020000
+.RS 4
+Add the vdpa device named foo on the management device vdpa_sim_net with device_features of 0x300020000
+.RE
+.PP
+vdpa dev add name foo mgmtdev vdpa_sim_net mac 00:11:22:33:44:55
+.RS 4
+Add the vdpa device named foo on the management device vdpa_sim_net with mac address of 00:11:22:33:44:55.
+.RE
+.PP
+vdpa dev add name foo mgmtdev vdpa_sim_net mac 00:11:22:33:44:55 mtu 9000
+.RS 4
+Add the vdpa device named foo on the management device vdpa_sim_net with mac address of 00:11:22:33:44:55 and mtu of 9000 bytes.
+.RE
+.PP
+vdpa dev add name foo mgmtdev auxiliary/mlx5_core.sf.1 mac 00:11:22:33:44:55 max_vqp 8
+.RS 4
+Add the vdpa device named foo on the management device auxiliary/mlx5_core.sf.1 with mac address of 00:11:22:33:44:55 and max 8 virtqueue pairs
+.RE
+.PP
+vdpa dev del foo
+.RS 4
+Delete the vdpa device named foo which was previously created.
+.RE
+.PP
+vdpa dev config show foo
+.RS 4
+Shows the vdpa device configuration of device named foo.
+.RE
+.PP
+vdpa dev vstats show vdpa0 qidx 1
+.RS 4
+Shows vendor specific statistics information for vdpa device vdpa0 and virtqueue index 1
+.RE
+
+.SH SEE ALSO
+.BR vdpa (8),
+.BR vdpa-mgmtdev (8),
+.br
+
+.SH AUTHOR
+Parav Pandit <parav@nvidia.com>
diff --git a/upstream/fedora-40/man8/vdpa-mgmtdev.8 b/upstream/fedora-40/man8/vdpa-mgmtdev.8
new file mode 100644
index 00000000..cae2cbd0
--- /dev/null
+++ b/upstream/fedora-40/man8/vdpa-mgmtdev.8
@@ -0,0 +1,53 @@
+.TH DEVLINK\-DEV 8 "5 Jan 2021" "iproute2" "Linux"
+.SH NAME
+vdpa-dev \- vdpa management device view
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B vdpa
+.B mgmtdev
+.RI " { " COMMAND | " "
+.BR help " }"
+.sp
+
+.ti -8
+.IR OPTIONS " := { "
+\fB\-V\fR[\fIersion\fR]
+}
+
+.ti -8
+.B vdpa mgmtdev show
+.RI "[ " MGMTDEV " ]"
+
+.ti -8
+.B vdpa mgmtdev help
+
+.SH "DESCRIPTION"
+.SS vdpa mgmtdev show - display vdpa management device attributes
+
+.PP
+.I "MGMTDEV"
+- specifies the vdpa management device to show.
+If this argument is omitted all management devices are listed.
+
+.SH "EXAMPLES"
+.PP
+vdpa mgmtdev show
+.RS 4
+Shows all the vdpa management devices on the system.
+.RE
+.PP
+vdpa mgmtdev show bar
+.RS 4
+Shows the specified vdpa management device.
+.RE
+
+.SH SEE ALSO
+.BR vdpa (8),
+.BR vdpa-dev (8),
+.br
+
+.SH AUTHOR
+Parav Pandit <parav@nvidia.com>
diff --git a/upstream/fedora-40/man8/vdpa.8 b/upstream/fedora-40/man8/vdpa.8
new file mode 100644
index 00000000..d1aaecec
--- /dev/null
+++ b/upstream/fedora-40/man8/vdpa.8
@@ -0,0 +1,76 @@
+.TH VDPA 8 "5 Jan 2021" "iproute2" "Linux"
+.SH NAME
+vdpa \- vdpa management tool
+.SH SYNOPSIS
+.sp
+.ad l
+.in +8
+.ti -8
+.B vdpa
+.RI "[ " OPTIONS " ] { " dev | mgmtdev " } { " COMMAND " | "
+.BR help " }"
+.sp
+
+.SH OPTIONS
+
+.TP
+.BR "\-V" , " --Version"
+Print the version of the
+.B vdpa
+utility and exit.
+
+.TP
+.BR "\-j" , " --json"
+Generate JSON output.
+
+.TP
+.BR "\-p" , " --pretty"
+When combined with -j generate a pretty JSON output.
+
+.SS
+.I OBJECT
+
+.TP
+.B dev
+- vdpa device.
+
+.TP
+.B mgmtdev
+- vdpa management device.
+
+.SS
+.I COMMAND
+
+Specifies the action to perform on the object.
+The set of possible actions depends on the object type.
+It is possible to
+.B show
+(or
+.B list
+) objects. The
+.B help
+command is available for all objects. It prints
+out a list of available commands and argument syntax conventions.
+.sp
+If no command is given, some default command is assumed.
+Usually it is
+.B show
+or, if the objects of this class cannot be listed,
+.BR "help" .
+
+.SH EXIT STATUS
+Exit status is 0 if command was successful or a positive integer upon failure.
+
+.SH SEE ALSO
+.BR vdpa-dev (8),
+.BR vdpa-mgmtdev (8),
+.br
+
+.SH REPORTING BUGS
+Report any bugs to the Network Developers mailing list
+.B <netdev@vger.kernel.org>
+where the development and maintenance is primarily done.
+You do not have to be subscribed to the list to send a message there.
+
+.SH AUTHOR
+Parav Pandit <parav@nvidia.com>
diff --git a/upstream/fedora-40/man8/vercmp.8 b/upstream/fedora-40/man8/vercmp.8
new file mode 100644
index 00000000..b429a862
--- /dev/null
+++ b/upstream/fedora-40/man8/vercmp.8
@@ -0,0 +1,287 @@
+'\" t
+.\" Title: vercmp
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 2024-01-25
+.\" Manual: Pacman Manual
+.\" Source: Pacman 6.0.2
+.\" Language: English
+.\"
+.TH "VERCMP" "8" "2024\-01\-25" "Pacman 6\&.0\&.2" "Pacman Manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+vercmp \- version comparison utility
+.SH "SYNOPSIS"
+.sp
+\fIvercmp\fR [\-h] [\-\-help] <version1> <version2>
+.SH "DESCRIPTION"
+.sp
+\fIvercmp\fR is used to determine the relationship between two given version numbers\&. It outputs values as follows:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+< 0 : if ver1 < ver2
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+= 0 : if ver1 == ver2
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+> 0 : if ver1 > ver2
+.RE
+.sp
+Version comparison operates as follows:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Alphanumeric:
+ 1\&.0a < 1\&.0b < 1\&.0beta < 1\&.0p < 1\&.0pre < 1\&.0rc < 1\&.0 < 1\&.0\&.a < 1\&.0\&.1
+Numeric:
+ 1 < 1\&.0 < 1\&.1 < 1\&.1\&.1 < 1\&.2 < 2\&.0 < 3\&.0\&.0
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Additionally, version strings can have an \fIepoch\fR value defined that will overrule any version comparison, unless the epoch values are equal\&. This is specified in an epoch:version\-rel format\&. For example, 2:1\&.0\-1 is always greater than 1:3\&.6\-1\&.
+.sp
+Keep in mind that the \fIpkgrel\fR is only compared if it is available on both versions given to this tool\&. For example, comparing 1\&.5\-1 and 1\&.5 will yield 0; comparing 1\&.5\-1 and 1\&.5\-2 will yield < 0 as expected\&. This is mainly for supporting versioned dependencies that do not include the \fIpkgrel\fR\&.
+.SH "OPTIONS"
+.PP
+\fB\-h, \-\-help\fR
+.RS 4
+Display summary of the available return codes\&. Must be the first option specified\&.
+.RE
+.SH "EXAMPLES"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ vercmp 1 2
+\-1
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ vercmp 2 1
+1
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ vercmp 2\&.0\-1 1\&.7\-6
+1
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ vercmp 2\&.0 2\&.0\-13
+0
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ vercmp 4\&.34 1:001
+\-1
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.sp
+\fBpacman\fR(8), \fBmakepkg\fR(8), \fBlibalpm\fR(3)
+.sp
+See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
+.SH "BUGS"
+.sp
+Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
+.SH "AUTHORS"
+.sp
+Current maintainers:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Allan McRae <allan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Eli Schwartz <eschwartz@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Morgan Adamiec <morganamilo@archlinux\&.org>
+.RE
+.sp
+Past major contributors:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Judd Vinet <jvinet@zeroflux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aurelien Foret <aurelien@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Aaron Griffin <aaron@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dan McGee <dan@archlinux\&.org>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Xavier Chantry <shiningxc@gmail\&.com>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Dave Reisner <dreisner@archlinux\&.org>
+.RE
+.sp
+For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
diff --git a/upstream/fedora-40/man8/xfs_admin.8 b/upstream/fedora-40/man8/xfs_admin.8
new file mode 100644
index 00000000..4794d677
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_admin.8
@@ -0,0 +1,199 @@
+.TH xfs_admin 8
+.SH NAME
+xfs_admin \- change parameters of an XFS filesystem
+.SH SYNOPSIS
+.B xfs_admin
+[
+.B \-eflpu
+] [
+.BI \-O " featurelist"
+] [
+.BR "\-c 0" | 1
+] [
+.B \-L
+.I label
+] [
+.B \-U
+.I uuid
+] [
+.B \-r
+.I rtdev
+]
+.I device
+[
+.I logdev
+]
+.br
+.B xfs_admin \-V
+.SH DESCRIPTION
+.B xfs_admin
+uses the
+.BR xfs_db (8)
+command to modify various parameters of a filesystem.
+.PP
+Devices that are mounted cannot be modified.
+Administrators must unmount filesystems before
+.BR xfs_admin " or " xfs_db (8)
+can convert parameters.
+A number of parameters of a mounted filesystem can be examined
+and modified using the
+.BR xfs_growfs (8)
+command.
+.PP
+The optional
+.B logdev
+parameter specifies the device special file where the filesystem's external
+log resides.
+This is required only for filesystems that use an external log.
+See the
+.B mkfs.xfs \-l
+option, and refer to
+.BR xfs (5)
+for a detailed description of the XFS log.
+.SH OPTIONS
+.TP
+.B \-e
+Enables unwritten extent support on a filesystem that does not
+already have this enabled (for legacy filesystems, it can't be
+disabled anymore at mkfs time).
+.IP
+This option only applies to the deprecated V4 format.
+.TP
+.B \-f
+Specifies that the filesystem image to be processed is stored in a
+regular file at
+.I device
+(see the
+.B mkfs.xfs \-d
+.I file
+option).
+.TP
+.B \-j
+Enables version 2 log format (journal format supporting larger
+log buffers).
+.IP
+This option only applies to the deprecated V4 format.
+.TP
+.B \-l
+Print the current filesystem label.
+.TP
+.B \-p
+Enable 32bit project identifier support (PROJID32BIT feature).
+.IP
+This option only applies to the deprecated V4 format.
+.TP
+.B \-u
+Print the current filesystem UUID (Universally Unique IDentifier).
+.TP
+.BR "\-c 0" | 1
+Enable (1) or disable (0) lazy-counters in the filesystem.
+.IP
+Lazy-counters may not be disabled on Version 5 superblock filesystems
+(i.e. those with metadata CRCs enabled).
+.IP
+In other words, this option only applies to the deprecated V4 format.
+.IP
+This operation may take quite a bit of time on large filesystems as the
+entire filesystem needs to be scanned when this option is changed.
+.IP
+With lazy-counters enabled, the superblock is not modified or logged on
+every change of the free-space and inode counters. Instead, enough
+information is kept in other parts of the filesystem to be able to
+maintain the counter values without needing to keep them in the
+superblock. This gives significant improvements in performance on some
+configurations and metadata intensive workloads.
+.TP
+.BI \-L " label"
+Set the filesystem label to
+.IR label .
+XFS filesystem labels can be at most 12 characters long; if
+.I label
+is longer than 12 characters,
+.B xfs_admin
+will truncate it and print a warning message.
+The filesystem label can be cleared using the special "\c
+.B \-\-\c
+" value for
+.IR label .
+.TP
+.BI \-O " feature1" = "status" , "feature2" = "status..."
+Add or remove features on an existing V5 filesystem.
+The features should be specified as a comma-separated list.
+.I status
+should be either 0 to disable the feature or 1 to enable the feature.
+Note, however, that most features cannot be disabled.
+.IP
+.B NOTE:
+Administrators must ensure the filesystem is clean by running
+.B xfs_repair -n
+to inspect the filesystem before performing the upgrade.
+If corruption is found, recovery procedures (e.g. reformat followed by
+restoration from backup; or running
+.B xfs_repair
+without the
+.BR -n )
+must be followed to clean the filesystem.
+.IP
+Supported features are as follows:
+.RS 0.7i
+.TP 0.4i
+.B inobtcount
+Keep a count the number of blocks in each inode btree in the AGI.
+This reduces mount time by speeding up metadata space reservation calculations.
+The filesystem cannot be downgraded after this feature is enabled.
+Once enabled, the filesystem will not be writable by older kernels.
+This feature was added to Linux 5.10.
+.TP 0.4i
+.B bigtime
+Upgrade a filesystem to support larger timestamps up to the year 2486.
+The filesystem cannot be downgraded after this feature is enabled.
+Once enabled, the filesystem will not be mountable by older kernels.
+This feature was added to Linux 5.10.
+.TP 0.4i
+.B nrext64
+Upgrade a filesystem to support large per-inode extent counters. The maximum
+data fork extent count will be 2^48 - 1, while the maximum attribute fork
+extent count will be 2^32 - 1. The filesystem cannot be downgraded after this
+feature is enabled. Once enabled, the filesystem will not be mountable by
+older kernels. This feature was added to Linux 5.19.
+.RE
+.TP
+.BI \-U " uuid"
+Set the UUID of the filesystem to
+.IR uuid .
+A sample UUID looks like this: "c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
+.I uuid
+may also be
+.BR nil ,
+which will set the filesystem UUID to the null UUID.
+The
+.I uuid
+may also be
+.BR generate ,
+which will generate a new UUID for the filesystem. Note that on CRC-enabled
+filesystems, this will set an incompatible flag such that older kernels will
+not be able to mount the filesystem. To remove this incompatible flag, use
+.BR restore ,
+which will restore the original UUID and remove the incompatible
+feature flag as needed.
+.TP
+.BI \-r " rtdev"
+Specifies the device special file where the filesystem's realtime section
+resides.
+Only for those filesystems which use a realtime section.
+.TP
+.B \-V
+Prints the version number and exits.
+.PP
+The
+.BR mount (8)
+manual entry describes how to mount a filesystem using its label or UUID,
+rather than its block special device name.
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR mount (8),
+.BR xfs_db (8),
+.BR xfs_growfs (8),
+.BR xfs_repair (8),
+.BR xfs (5).
diff --git a/upstream/fedora-40/man8/xfs_bmap.8 b/upstream/fedora-40/man8/xfs_bmap.8
new file mode 100644
index 00000000..9ec7f52b
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_bmap.8
@@ -0,0 +1,101 @@
+.TH xfs_bmap 8
+.SH NAME
+xfs_bmap \- print block mapping for an XFS file
+.SH SYNOPSIS
+.B xfs_bmap
+[
+.B \-adelpv
+] [
+.B \-n
+.I num_extents
+]
+.I file
+.br
+.B xfs_bmap \-V
+.SH DESCRIPTION
+.B xfs_bmap
+prints the map of disk blocks used by files in an XFS filesystem.
+The map lists each
+.I extent
+used by the file, as well as regions
+in the file that do not have any corresponding blocks (holes).
+Each line of the listings takes the following form:
+.PP
+.RS
+.IR extent ": [" startoffset .. endoffset "]: " startblock .. endblock
+.RE
+.PP
+Holes are marked by replacing the
+.IR startblock .. endblock " with " hole .
+All the file offsets and disk blocks are in units of 512-byte blocks,
+no matter what the filesystem's block size is.
+.PP
+.SH OPTIONS
+.TP
+.B \-a
+If this option is specified, information about the file's
+attribute fork is printed instead of the default data fork.
+.TP
+.B \-e
+If this option is used,
+.B xfs_bmap
+obtains all delayed allocation extents, and does not flush dirty pages
+to disk before querying extent data. With the
+.B \-v
+option, the
+.I flags
+column will show which extents have not yet been allocated.
+.TP
+.B \-l
+If this option is used, then
+.IP
+.RS 1.2i
+.RI < nblocks "> blocks"
+.RE
+.IP
+will be appended to each line.
+.I nblocks
+is the length of the extent described on the line in units of 512-byte blocks.
+.IP
+This flag has no effect if the
+.B \-v
+option is used.
+.TP
+.BI \-n " num_extents"
+If this option is given,
+.B xfs_bmap
+will display at most
+.I num_extents
+extents. In the absence of
+.BR \-n ", " xfs_bmap
+will display all extents in the file.
+.TP
+.B \-p
+If this option is used,
+.B xfs_bmap
+obtains all unwritten (preallocated) extents that do not contain written
+data. With the
+.B \-v
+option, the
+.I flags
+column will show which extents are preallocated/unwritten.
+.TP
+.B \-v
+Shows verbose information. When this flag is specified, additional AG
+specific information is appended to each line in the following form:
+.IP
+.RS 1.2i
+.IR agno " (" startagoffset .. endagoffset ") " nblocks " " flags
+.RE
+.IP
+A second
+.B \-v
+option will print out the
+.I flags
+legend.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH SEE ALSO
+.BR xfs_fsr (8),
+.BR xfs (5).
diff --git a/upstream/fedora-40/man8/xfs_copy.8 b/upstream/fedora-40/man8/xfs_copy.8
new file mode 100644
index 00000000..1eaf85d5
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_copy.8
@@ -0,0 +1,151 @@
+.TH xfs_copy 8
+.SH NAME
+xfs_copy \- copy the contents of an XFS filesystem
+.SH SYNOPSIS
+.B xfs_copy
+[
+.B \-bd
+] [
+.B \-L
+.I log
+]
+.I source target1
+[
+.I target2
+\&... ]
+.br
+.B xfs_copy \-V
+.SH DESCRIPTION
+.B xfs_copy
+copies an XFS filesystem to one or more targets in parallel (see
+.BR xfs (5)).
+The first
+.RI ( source )
+argument must be the pathname of the device or file containing the
+XFS filesystem. The remaining arguments specify one or more
+.I target
+devices or file names. If the pathnames specify devices, a
+copy of the source XFS filesystem is created on each device. The
+.I target
+can also be the name of a regular file, in which case an image of the
+source XFS filesystem is created in that file. If the file does not exist,
+.B xfs_copy
+creates the file. The length of the resulting file is equal to the size
+of the source filesystem. However, if the file is created on an XFS
+filesystem, the file consumes roughly the amount of space actually
+used in the source filesystem by the filesystem and the XFS log.
+The space saving is because
+.B xfs_copy
+seeks over free blocks instead of copying them and the XFS filesystem
+supports sparse files efficiently.
+.PP
+.B xfs_copy
+should only be used to copy unmounted filesystems, read-only mounted
+filesystems, or frozen filesystems (see
+.BR xfs_freeze (8)).
+Otherwise, the generated filesystem(s) would be inconsistent or corrupt.
+.PP
+.B xfs_copy
+does not alter the source filesystem in any way. Each new (target)
+filesystem is identical to the original filesystem except that new
+filesystems each have a new unique filesystem identifier (UUID).
+Therefore, if both the old and new filesystems will be used as
+separate distinct filesystems,
+.B xfs_copy
+or
+.BR xfsdump (8)/ xfsrestore (8)
+should be used to generate the new filesystem(s) instead of
+.BR dd (1)
+or other programs that do block-by-block disk copying.
+.PP
+.B xfs_copy
+uses synchronous writes to ensure that write errors are
+detected.
+.PP
+.B xfs_copy
+uses
+.BR pthreads (7)
+to perform simultaneous parallel writes.
+.B xfs_copy
+creates one additional thread for each target to be written.
+All threads die if
+.B xfs_copy
+terminates or aborts.
+.SH OPTIONS
+.TP
+.B \-d
+Create a duplicate (true clone) filesystem. This should be done only
+if the new filesystem will be used as a replacement for the original
+filesystem (such as in the case of disk replacement).
+.TP
+.B \-b
+The buffered option can be used to ensure direct IO is not attempted
+to any of the target files. This is useful when the filesystem holding
+the target file does not support direct IO.
+.TP
+.BI \-L " log"
+Specifies the location of the
+.I log
+if the default location of
+.I /var/tmp/xfs_copy.log.XXXXXX
+is not desired.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH DIAGNOSTICS
+.B xfs_copy
+reports errors to both
+.B stderr
+and in more detailed form to a generated log file whose name is of the form
+.I /var/tmp/xfs_copy.log.XXXXXX
+or a log file specified by the
+.B \-L
+option. If
+.B xfs_copy
+detects a write error on a target, the copy of that one target is aborted
+and an error message is issued to both stderr and the log file, but
+the rest of the copies continue. When
+.B xfs_copy
+terminates, all aborted targets are reported to both
+.B stderr
+and the log file.
+.PP
+If all targets abort or if there is an error reading the source filesystem,
+.B xfs_copy
+immediately aborts.
+.PP
+.B xfs_copy
+returns an exit code of 0 if all targets are successfully
+copied and an exit code of 1 if any target fails.
+.SH NOTES
+When moving filesystems from one disk to another, if the original
+filesystem is significantly smaller than the new filesystem, and will
+be made larger, we recommend that
+.BR mkfs.xfs "(8) and " xfsdump (8)/ xfsrestore (8)
+be used instead of using
+.B xfs_copy
+and
+.BR xfs_growfs (8).
+The filesystem layout resulting from using
+.BR xfs_copy / xfs_growfs
+is almost always worse than the result of using
+.BR mkfs.xfs / xfsdump / xfsrestore
+but in the case of small filesystems, the differences can have a
+significant performance impact. This is due to the way
+.BR xfs_growfs (8)
+works, and not due to any shortcoming in
+.B xfs_copy
+itself.
+.SH CAVEATS
+.B xfs_copy
+does not copy XFS filesystems that have a real-time section
+or XFS filesystems with external logs. In both cases,
+.B xfs_copy
+aborts with an error message.
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR xfsdump (8),
+.BR xfsrestore (8),
+.BR xfs_freeze (8),
+.BR xfs_growfs (8),
+.BR xfs (5).
diff --git a/upstream/fedora-40/man8/xfs_db.8 b/upstream/fedora-40/man8/xfs_db.8
new file mode 100644
index 00000000..f53ddd67
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_db.8
@@ -0,0 +1,2402 @@
+.TH xfs_db 8
+.SH NAME
+xfs_db \- debug an XFS filesystem
+.SH SYNOPSIS
+.B xfs_db
+[
+.B \-c
+.I cmd
+] ... [
+.BR \-i | r | x | F
+] [
+.B \-f
+] [
+.B \-l
+.I logdev
+] [
+.B \-p
+.I progname
+]
+.I device
+.br
+.B xfs_db \-V
+.SH DESCRIPTION
+.B xfs_db
+is used to examine an XFS filesystem. Under rare circumstances it can also
+be used to modify an XFS filesystem, but that task is normally left to
+.BR xfs_repair (8)
+or to scripts such as
+.BR xfs_admin (8)
+that run
+.BR xfs_db .
+.PP
+.SH OPTIONS
+.TP
+.BI \-c " cmd"
+.B xfs_db
+commands may be run interactively (the default) or as arguments
+on the command line. Multiple
+.B \-c
+arguments may be given. The commands are run in the sequence given,
+then the program exits.
+.TP
+.B \-f
+Specifies that the filesystem image to be processed is stored in a
+regular file at
+.I device
+(see the
+.BR mkfs.xfs "(8) " -d
+.I file
+option).
+This might happen if an image copy of a filesystem has been made into
+an ordinary file with
+.BR xfs_copy (8).
+.TP
+.B \-F
+Specifies that we want to continue even if the superblock magic is not
+correct. For use in
+.BR xfs_metadump .
+.TP
+.B \-i
+Allows execution on a mounted filesystem, provided it is mounted read-only.
+Useful for shell scripts
+which must only operate on filesystems in a guaranteed consistent state
+(either unmounted or mounted read-only). These semantics are slightly
+different to that of the
+.B -r
+option.
+.TP
+.BI \-l " logdev"
+Specifies the device where the filesystems external log resides.
+Only for those filesystems which use an external log. See the
+.BR mkfs.xfs "(8) " \-l
+option, and refer to
+.BR xfs (5)
+for a detailed description of the XFS log.
+.TP
+.BI \-p " progname"
+Set the program name to
+.I progname
+for prompts and some error messages, the default value is
+.BR xfs_db .
+.TP
+.B -r
+Open
+.I device
+or
+.I filename
+read-only. This option is required if the filesystem is mounted.
+It is only necessary to omit this flag if a command that changes data
+.RB ( write ", " blocktrash ", " crc )
+is to be used.
+.TP
+.B \-x
+Specifies expert mode.
+This enables the
+.RB ( write ", " blocktrash ", " crc
+invalidate/revalidate) commands.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH CONCEPTS
+.B xfs_db
+commands can be broken up into two classes. Most commands are for
+the navigation and display of data structures in the filesystem.
+Other commands are for scanning the filesystem in some way.
+.PP
+Commands which are used to navigate the filesystem structure take arguments
+which reflect the names of filesystem structure fields.
+There can be multiple field names separated by dots when the underlying
+structures are nested, as in C.
+The field names can be indexed (as an array index)
+if the underlying field is an array.
+The array indices can be specified as a range, two numbers separated by a dash.
+.PP
+.B xfs_db
+maintains a current address in the filesystem.
+The granularity of the address is a filesystem structure.
+This can be a filesystem block,
+an inode or quota (smaller than a filesystem block),
+or a directory block (could be larger than a filesystem block).
+There are a variety of commands to set the current address.
+Associated with the current address is the current data type,
+which is the structural type of this data.
+Commands which follow the structure of the filesystem always set the type
+as well as the address.
+Commands which examine pieces of an individual file (inode) need the current
+inode to be set, this is done with the
+.B inode
+command.
+.PP
+The current address/type information is actually maintained in a
+stack that can be explicitly manipulated with the
+.BR push ", " pop ", and " stack
+commands.
+This allows for easy examination of a nested filesystem structure.
+Also, the last several locations visited are stored in a ring buffer
+which can be manipulated with the
+.BR forward ", " back ", and " ring
+commands.
+.PP
+XFS filesystems are divided into a small number of allocation groups.
+.B xfs_db
+maintains a notion of the current allocation group which is
+manipulated by some commands. The initial allocation group is 0.
+.SH COMMANDS
+.PP
+Many commands have extensive online help. Use the
+.B help
+command for more details on any command.
+.TP
+.B a
+See the
+.B addr
+command.
+.TP
+.BI ablock " filoff"
+Set current address to the offset
+.I filoff
+(a filesystem block number) in the attribute area of the current inode.
+.TP
+.BI "addr [" field-expression ]
+Set current address to the value of the
+.IR field-expression .
+This is used to "follow" a reference in one structure to the object
+being referred to. If no argument is given, the current address is printed.
+.TP
+.BI "agf [" agno ]
+Set current address to the AGF block for allocation group
+.IR agno .
+If no argument is given, use the current allocation group.
+.TP
+.BI "agfl [" agno ]
+Set current address to the AGFL block for allocation group
+.IR agno .
+If no argument is given, use the current allocation group.
+.TP
+.BI "agi [" agno ]
+Set current address to the AGI block for allocation group
+.IR agno .
+If no argument is given, use the current allocation group.
+.TP
+.BI "agresv [" agno ]
+Displays the length, free block count, per-AG reservation size, and per-AG
+reservation usage for a given AG.
+If no argument is given, display information for all AGs.
+.TP
+.BI "attr_remove [\-r|\-u|\-s] [\-n] " name
+Remove the specified extended attribute from the current file.
+.RS 1.0i
+.TP 0.4i
+.B \-r
+Sets the attribute in the root namespace.
+Only one namespace option can be specified.
+.TP
+.B \-u
+Sets the attribute in the user namespace.
+Only one namespace option can be specified.
+.TP
+.B \-s
+Sets the attribute in the secure namespace.
+Only one namespace option can be specified.
+.TP
+.B \-n
+Do not enable 'noattr2' mode on V4 filesystems.
+.RE
+.TP
+.BI "attr_set [\-r|\-u|\-s] [\-n] [\-R|\-C] [\-v " namelen "] " name
+Sets an extended attribute on the current file with the given name.
+.RS 1.0i
+.TP 0.4i
+.B \-r
+Sets the attribute in the root namespace.
+Only one namespace option can be specified.
+.TP
+.B \-u
+Sets the attribute in the user namespace.
+Only one namespace option can be specified.
+.TP
+.B \-s
+Sets the attribute in the secure namespace.
+Only one namespace option can be specified.
+.TP
+.B \-n
+Do not enable 'noattr2' mode on V4 filesystems.
+.TP
+.B \-R
+Replace the attribute.
+The command will fail if the attribute does not already exist.
+.TP
+.B \-C
+Create the attribute.
+The command will fail if the attribute already exists.
+.TP
+.B \-v
+Set the attribute value to a string of this length containing the letter 'v'.
+.RE
+.TP
+.B b
+See the
+.B back
+command.
+.TP
+.B back
+Move to the previous location in the position ring.
+.TP
+.B blockfree
+Free block usage information collected by the last execution of the
+.B blockget
+command. This must be done before another
+.B blockget
+command can be given, presumably with different arguments than the previous one.
+.TP
+.BI "blockget [\-npvs] [\-b " bno "] ... [\-i " ino "] ..."
+Get block usage and check filesystem consistency.
+The information is saved for use by a subsequent
+.BR blockuse ", " ncheck ", or " blocktrash
+command.
+.RS 1.0i
+.TP 0.4i
+.B \-b
+is used to specify filesystem block numbers about which verbose
+information should be printed.
+.TP
+.B \-i
+is used to specify inode numbers about which verbose information
+should be printed.
+.TP
+.B \-n
+is used to save pathnames for inodes visited, this is used to support the
+.BR xfs_ncheck (8)
+command. It also means that pathnames will be printed for inodes that have
+problems. This option uses a lot of memory so is not enabled by default.
+.TP
+.B \-p
+causes error messages to be prefixed with the filesystem name being
+processed. This is useful if several copies of
+.B xfs_db
+are run in parallel.
+.TP
+.B \-s
+restricts output to severe errors only. This is useful if the output is
+too long otherwise.
+.TP
+.B \-v
+enables verbose output. Messages will be printed for every block and
+inode processed.
+.RE
+.TP
+.BI "blocktrash [-z] [\-o " offset "] [\-n " count "] [\-x " min "] [\-y " max "] [\-s " seed "] [\-0|1|2|3] [\-t " type "] ..."
+Trash randomly selected filesystem metadata blocks.
+Trashing occurs to randomly selected bits in the chosen blocks.
+This command is available only in debugging versions of
+.BR xfs_db .
+It is useful for testing
+.BR xfs_repair "(8).
+.RS 1.0i
+.TP 0.4i
+.BR \-0 " | " -1 " | " -2 " | " -3
+These are used to set the operating mode for
+.BR blocktrash .
+Only one can be used:
+.B \-0
+changed bits are cleared;
+.B \-1
+changed bits are set;
+.B -2
+changed bits are inverted;
+.B -3
+changed bits are randomized.
+.TP
+.B \-n
+supplies the
+.I count
+of block-trashings to perform (default 1).
+.TP
+.B \-o
+supplies the bit
+.I offset
+at which to start trashing the block. If the value is preceded by a '+', the
+trashing will start at a randomly chosen offset that is larger than the value
+supplied. The default is to randomly choose an offset anywhere in the block.
+.TP
+.B \-s
+supplies a
+.I seed
+to the random processing.
+.TP
+.B \-t
+gives a
+.I type
+of blocks to be selected for trashing. Multiple
+.B \-t
+options may be given. If no
+.B \-t
+options are given then all metadata types can be trashed.
+.TP
+.B \-x
+sets the
+.I minimum
+size of bit range to be trashed. The default value is 1.
+.TP
+.B \-y
+sets the
+.I maximum
+size of bit range to be trashed. The default value is 1024.
+.TP
+.B \-z
+trashes the block at the top of the stack. It is not necessary to
+run
+.BI blockget
+if this option is supplied.
+.RE
+.TP
+.BI "blockuse [\-n] [\-c " count ]
+Print usage for current filesystem block(s).
+For each block, the type and (if any) inode are printed.
+.RS 1.0i
+.TP 0.4i
+.B \-c
+specifies a
+.I count
+of blocks to process. The default value is 1 (the current block only).
+.TP
+.B \-n
+specifies that file names should be printed. The prior
+.B blockget
+command must have also specified the
+.B \-n
+option.
+.RE
+.TP
+.BI "bmap [\-a] [\-d] [" block " [" len ]]
+Show the block map for the current inode.
+The map display can be restricted to an area of the file with the
+.I block
+and
+.I len
+arguments. If
+.I block
+is given and
+.I len
+is omitted then 1 is assumed for len.
+.IP
+The
+.B \-a
+and
+.B \-d
+options are used to select the attribute or data
+area of the inode, if neither option is given then both areas are shown.
+.TP
+.B btdump [-a] [-i]
+If the cursor points to a btree node, dump the btree from that block downward.
+If instead the cursor points to an inode, dump the data fork block mapping btree if there is one.
+If the cursor points to a directory or extended attribute btree node, dump that.
+By default, only records stored in the btree are dumped.
+.RS 1.0i
+.TP 0.4i
+.B \-a
+If the cursor points at an inode, dump the extended attribute block mapping btree, if present.
+.TP
+.B \-i
+Dump all keys and pointers in intermediate btree nodes, and all records in leaf btree nodes.
+.RE
+.TP
+.BI "btheight [\-b " blksz "] [\-n " recs "] [\-w " max "|" min "|" absmax "] btree types..."
+For a given number of btree records and a btree type, report the number of
+records and blocks for each level of the btree, and the total number of blocks.
+The btree type must be given after the options.
+
+A raw btree geometry can be provided in the format
+"record_bytes:key_bytes:ptr_bytes:header_type", where header_type is one of
+"short", "long", "shortcrc", or "longcrc".
+
+The supported btree types are:
+.IR bnobt ,
+.IR cntbt ,
+.IR inobt ,
+.IR finobt ,
+.IR bmapbt ,
+.IR refcountbt ,
+and
+.IR rmapbt .
+The magic value
+.I all
+can be used to walk through all btree types.
+
+Options are as follows:
+.RS 1.0i
+.TP 0.4i
+.B \-b
+is used to override the btree block size.
+The default is the filesystem block size.
+.TP
+.B \-n
+is used to specify the number of records to store.
+This argument is required.
+.TP
+.B \-w absmax
+shows the maximum possible height for the given btree types.
+.TP
+.B \-w max
+shows only the best case scenario, which is when the btree blocks are
+maximally loaded.
+.TP
+.B \-w min
+shows only the worst case scenario, which is when the btree blocks are
+half full.
+.RE
+.TP
+.B check
+See the
+.B blockget
+command.
+.TP
+.BI "convert " "type number" " [" "type number" "] ... " type
+Convert from one address form to another.
+The known
+.IR type s,
+with alternate names, are:
+.RS 1.0i
+.PD 0
+.HP
+.B agblock
+or
+.B agbno
+(filesystem block within an allocation group)
+.HP
+.B agino
+or
+.B aginode
+(inode number within an allocation group)
+.HP
+.B agnumber
+or
+.B agno
+(allocation group number)
+.HP
+.B bboff
+or
+.B daddroff
+(byte offset in a
+.BR daddr )
+.HP
+.B blkoff
+or
+.B fsboff or
+.B agboff
+(byte offset in a
+.B agblock
+or
+.BR fsblock )
+.HP
+.B byte
+or
+.B fsbyte
+(byte address in filesystem)
+.HP
+.B daddr
+or
+.B bb
+(disk address, 512-byte blocks)
+.HP
+.B fsblock
+or
+.B fsb
+or
+.B fsbno
+(filesystem block, see the
+.B fsblock
+command)
+.HP
+.B ino
+or
+.B inode
+(inode number)
+.HP
+.B inoidx
+or
+.B offset
+(index of inode in filesystem block)
+.HP
+.B inooff
+or
+.B inodeoff
+(byte offset in inode)
+.PD
+.RE
+.IP
+Only conversions that "make sense" are allowed.
+The compound form (with more than three arguments) is useful for
+conversions such as
+.B convert agno
+.I ag
+.B agbno
+.I agb
+.BR fsblock .
+.TP
+.B crc [\-i|\-r|\-v]
+Invalidates, revalidates, or validates the CRC (checksum)
+field of the current structure, if it has one.
+This command is available only on CRC-enabled filesystems.
+With no argument, validation is performed.
+Each command will display the resulting CRC value and state.
+.RS 1.0i
+.TP 0.4i
+.B \-i
+Invalidate the structure's CRC value (incrementing it by one),
+and write it to disk.
+.TP
+.B \-r
+Recalculate the current structure's correct CRC value, and write it to disk.
+.TP
+.B \-v
+Validate and display the current value and state of the structure's CRC.
+.RE
+.TP
+.BI "daddr [" d ]
+Set current address to the daddr (512 byte block) given by
+.IR d .
+If no value for
+.I d
+is given, the current address is printed, expressed as a daddr.
+The type is set to
+.B data
+(uninterpreted).
+.TP
+.BI dblock " filoff"
+Set current address to the offset
+.I filoff
+(a filesystem block number) in the data area of the current inode.
+.TP
+.BI "debug [" flagbits ]
+Set debug option bits. These are used for debugging
+.BR xfs_db .
+If no value is given for
+.IR flagbits ,
+print the current debug option bits. These are for the use of the implementor.
+.TP
+.BI "dquot [" \-g | \-p | \-u ] " id"
+Set current address to a group, project or user quota block for the given ID. Defaults to user quota.
+.TP
+.BI "dump_iunlinked [-a " agno " ] [-b " bucket " ] [-q] [-v]"
+Dump the contents of unlinked buckets.
+
+Options include:
+.RS 1.0i
+.TP 0.4i
+.B \-a
+Print only this AG's unlinked buckets.
+.TP 0.4i
+.B \-b
+Print only this bucket within each AGI.
+.TP 0.4i
+.B \-q
+Only print the essentials.
+.TP 0.4i
+.B \-v
+Print resource usage of each file on the unlinked lists.
+.RE
+.TP
+.BI "echo [" arg "] ..."
+Echo the arguments to the output.
+.TP
+.B f
+See the
+.B forward
+command.
+.TP
+.B forward
+Move forward to the next entry in the position ring.
+.TP
+.B frag [\-adflqRrv]
+Get file fragmentation data. This prints information about fragmentation
+of file data in the filesystem (as opposed to fragmentation of freespace,
+for which see the
+.B freesp
+command). Every file in the filesystem is examined to see how far from ideal
+its extent mappings are. A summary is printed giving the totals.
+.RS 1.0i
+.TP 0.4i
+.B \-v
+sets verbosity, every inode has information printed for it.
+The remaining options select which inodes and extents are examined.
+If no options are given then all are assumed set,
+otherwise just those given are enabled.
+.TP
+.B \-a
+enables processing of attribute data.
+.TP
+.B \-d
+enables processing of directory data.
+.TP
+.B \-f
+enables processing of regular file data.
+.TP
+.B \-l
+enables processing of symbolic link data.
+.TP
+.B \-q
+enables processing of quota file data.
+.TP
+.B \-R
+enables processing of realtime control file data.
+.TP
+.B \-r
+enables processing of realtime file data.
+.RE
+.TP
+.BI "freesp [\-bcds] [\-A " alignment "] [\-a " ag "] ... [\-e " i "] [\-h " h1 "] ... [\-m " m ]
+Summarize free space for the filesystem. The free blocks are examined
+and totalled, and displayed in the form of a histogram, with a count
+of extents in each range of free extent sizes.
+.RS 1.0i
+.TP 0.4i
+.B \-A
+reports only free extents with starting blocks aligned to
+.I alignment
+blocks.
+.TP
+.B \-a
+adds
+.I ag
+to the list of allocation groups to be processed. If no
+.B \-a
+options are given then all allocation groups are processed.
+.TP
+.B \-b
+specifies that the histogram buckets are binary-sized, with the starting
+sizes being the powers of 2.
+.TP
+.B \-c
+specifies that
+.B freesp
+will search the by-size (cnt) space Btree instead of the default
+by-block (bno) space Btree.
+.TP
+.B \-d
+specifies that every free extent will be displayed.
+.TP
+.B \-e
+specifies that the histogram buckets are
+equal-sized, with the size specified as
+.IR i .
+.TP
+.B \-h
+specifies a starting block number for a histogram bucket as
+.IR h1 .
+Multiple
+.BR \-h 's
+are given to specify the complete set of buckets.
+.TP
+.B \-m
+specifies that the histogram starting block numbers are powers of
+.IR m .
+This is the general case of
+.BR \-b .
+.TP
+.B \-s
+specifies that a final summary of total free extents,
+free blocks, and the average free extent size is printed.
+.RE
+.TP
+.B fsb
+See the
+.B fsblock
+command.
+.TP
+.BI "fsblock [" fsb ]
+Set current address to the fsblock value given by
+.IR fsb .
+If no value for
+.I fsb
+is given the current address is printed, expressed as an fsb.
+The type is set to
+.B data
+(uninterpreted). XFS filesystem block numbers are computed
+.RI (( agno " << " agshift ") | " agblock )
+where
+.I agshift
+depends on the size of an allocation group. Use the
+.B convert
+command to convert to and from this form. Block numbers given for file blocks
+(for instance from the
+.B bmap
+command) are in this form.
+.TP
+.BI "fsmap [ " start " ] [ " end " ]
+Prints the mapping of disk blocks used by an XFS filesystem. The map
+lists each extent used by files, allocation group metadata,
+journalling logs, and static filesystem metadata, as well as any
+regions that are unused. All blocks, offsets, and lengths are specified
+in units of 512-byte blocks, no matter what the filesystem's block size is.
+.BI "The optional " start " and " end " arguments can be used to constrain
+the output to a particular range of disk blocks.
+.TP
+.BI "fuzz [\-c] [\-d] " "field action"
+Write garbage into a specific structure field on disk.
+Expert mode must be enabled to use this command.
+The operation happens immediately; there is no buffering.
+.IP
+The fuzz command can take the following
+.IR action "s"
+against a field:
+.RS 1.0i
+.TP 0.4i
+.B zeroes
+Clears all bits in the field.
+.TP 0.4i
+.B ones
+Sets all bits in the field.
+.TP 0.4i
+.B firstbit
+Flips the first bit in the field.
+For a scalar value, this is the highest bit.
+.TP 0.4i
+.B middlebit
+Flips the middle bit in the field.
+.TP 0.4i
+.B lastbit
+Flips the last bit in the field.
+For a scalar value, this is the lowest bit.
+.TP 0.4i
+.B add
+Adds a small value to a scalar field.
+.TP 0.4i
+.B sub
+Subtracts a small value from a scalar field.
+.TP 0.4i
+.B random
+Randomizes the contents of the field.
+.RE
+.IP
+The following switches affect the write behavior:
+.RS 1.0i
+.TP 0.4i
+.B \-c
+Skip write verifiers and CRC recalculation; allows invalid data to be written
+to disk.
+.TP 0.4i
+.B \-d
+Skip write verifiers but perform CRC recalculation; allows invalid data to be
+written to disk to test detection of invalid data.
+.RE
+.TP
+.BI hash [-d]" strings
+Prints the hash value of
+.I string
+using the hash function of the XFS directory and attribute implementation.
+
+If the
+.B \-d
+option is specified, the directory-specific hash function is used.
+This only makes a difference on filesystems with ascii case-insensitive
+lookups enabled.
+.TP
+.BI "hashcoll [-a] [-s seed] [-n " nr "] [-p " path "] -i | " names...
+Create directory entries or extended attributes names that all have the same
+hash value.
+The metadump name obfuscation algorithm is used here.
+Names are written to standard output, with a NULL between each name for use
+with xargs -0.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.TP 0.4i
+.B \-a
+Create extended attribute names.
+.TP 0.4i
+.B \-i
+Read the first name to create from standard input.
+Up to 255 bytes are read.
+If this option is not specified, first names are taken from the command line.
+.TP 0.4i
+.BI \-n " nr"
+Create this many duplicated names.
+The default is to create one name.
+.TP 0.4i
+.BI \-p " path"
+Create directory entries or extended attributes in this file instead of
+writing the names to standard output.
+.TP 0.4i
+.BI \-s " seed"
+Seed the random number generator with this value.
+.PD
+.RE
+.TP
+.BI "help [" command ]
+Print help for one or all commands.
+.TP
+.B info
+Displays selected geometry information about the filesystem.
+The output will have the same format that
+.BR "mkfs.xfs" "(8)"
+prints when creating a filesystem or
+.BR "xfs_info" "(8)"
+prints when querying a filesystem.
+.TP
+.BI "inode [" inode# ]
+Set the current inode number. If no
+.I inode#
+is given, print the current inode number.
+.TP
+.BI "iunlink [-n " nr " ]"
+Allocate inodes and put them on the unlinked list.
+
+Options include:
+.RS 1.0i
+.TP 0.4i
+.B \-n
+Create this number of unlinked inodes.
+If not specified, 1 inode will be created.
+.RE
+.TP
+.BI "label [" label ]
+Set the filesystem label. The filesystem label can be used by
+.BR mount (8)
+instead of using a device special file.
+The maximum length of an XFS label is 12 characters \- use of a longer
+.I label
+will result in truncation and a warning will be issued. If no
+.I label
+is given, the current filesystem label is printed.
+.TP
+.BI "log [stop | start " filename ]
+Start logging output to
+.IR filename ,
+stop logging, or print the current logging status.
+.TP
+.BI "logformat [\-c " cycle "] [\-s " sunit "]"
+Reformats the log to the specified log cycle and log stripe unit.
+This has the effect of clearing the log destructively.
+If the log cycle is not specified, the log is reformatted to the current cycle.
+If the log stripe unit is not specified, the stripe unit from the filesystem
+superblock is used.
+.TP
+.B logres
+Print transaction reservation size information for each transaction type.
+This makes it easier to find discrepancies in the reservation calculations
+between xfsprogs and the kernel, which will help when diagnosing minimum
+log size calculation errors.
+.TP
+.BI "ls [\-i] [" paths "]..."
+List the contents of a directory.
+If a path resolves to a directory, the directory will be listed.
+If no paths are supplied and the IO cursor points at a directory inode,
+the contents of that directory will be listed.
+
+The output format is:
+directory cookie, inode number, file type, hash, name length, name.
+.RS 1.0i
+.TP 0.4i
+.B \-i
+Resolve each of the given paths to an inode number and print that number.
+If no paths are given and the IO cursor points to an inode, print the inode
+number.
+.RE
+.TP
+.BI "metadump [\-egow] " filename
+Dumps metadata to a file. See
+.BR xfs_metadump (8)
+for more information.
+.TP
+.BI "ncheck [\-s] [\-i " ino "] ..."
+Print name-inode pairs. A
+.B blockget \-n
+command must be run first to gather the information.
+.RS 1.0i
+.TP 0.4i
+.B \-i
+specifies an inode number to be printed. If no
+.B \-i
+options are given then all inodes are printed.
+.TP
+.B \-s
+specifies that only setuid and setgid files are printed.
+.RE
+.TP
+.B p
+See the
+.B print
+command.
+.TP
+.BI "path " dir_path
+Walk the directory tree to an inode using the supplied path.
+Absolute and relative paths are supported.
+.TP
+.B pop
+Pop location from the stack.
+.TP
+.BI "print [" field-expression "] ..."
+Print field values.
+If no argument is given, print all fields in the current structure.
+.TP
+.BI "push [" command ]
+Push location to the stack. If
+.I command
+is supplied, set the current location to the results of
+.I command
+after pushing the old location.
+.TP
+.B q
+See the
+.B quit
+command.
+.TP
+.B quit
+Exit
+.BR xfs_db .
+.TP
+.BI "ring [" index ]
+Show position ring (if no
+.I index
+argument is given), or move to a specific entry in the position ring given by
+.IR index .
+.TP
+.BI "sb [" agno ]
+Set current address to SB header in allocation group
+.IR agno .
+If no
+.I agno
+is given, use the current allocation group number.
+.TP
+.BI "source " source-file
+Process commands from
+.IR source-file .
+.B source
+commands can be nested.
+.TP
+.B stack
+View the location stack.
+.TP
+.BI "type [" type ]
+Set the current data type to
+.IR type .
+If no argument is given, show the current data type.
+The possible data types are:
+.BR agf ", " agfl ", " agi ", " attr ", " bmapbta ", " bmapbtd ,
+.BR bnobt ", " cntbt ", " data ", " dir ", " dir2 ", " dqblk ,
+.BR inobt ", " inode ", " log ", " refcntbt ", " rmapbt ", " rtbitmap ,
+.BR rtsummary ", " sb ", " symlink " and " text .
+See the TYPES section below for more information on these data types.
+.TP
+.BI "timelimit [" OPTIONS ]
+Print the minimum and maximum supported values for inode timestamps,
+quota expiration timers, and quota grace periods supported by this
+filesystem.
+Options include:
+.RS 1.0i
+.TP 0.4i
+.B \--bigtime
+Print the time limits of an XFS filesystem with the
+.B bigtime
+feature enabled.
+.TP 0.4i
+.B \--classic
+Print the time limits of a classic XFS filesystem.
+.TP 0.4i
+.B \--compact
+Print all limits as raw values on a single line.
+.TP 0.4i
+.B \--pretty
+Print the timestamps in the current locale's date and time format instead of
+raw seconds since the Unix epoch.
+.RE
+.TP
+.BI "uuid [" uuid " | " generate " | " rewrite " | " restore ]
+Set the filesystem universally unique identifier (UUID).
+The filesystem UUID can be used by
+.BR mount (8)
+instead of using a device special file.
+The
+.I uuid
+can be set directly to the desired UUID, or it can
+be automatically generated using the
+.B generate
+option. These options will both write the UUID into every copy of the
+superblock in the filesystem. On a CRC-enabled filesystem, this will
+set an incompatible superblock flag, and the filesystem will not be
+mountable with older kernels. This can be reverted with the
+.B restore
+option, which will copy the original UUID back into place and clear
+the incompatible flag as needed.
+.B rewrite
+copies the current UUID from the primary superblock
+to all secondary copies of the superblock.
+If no argument is given, the current filesystem UUID is printed.
+.TP
+.BI "version [" feature " | " "versionnum features2" ]
+Enable selected features for a filesystem (certain features can
+be enabled on an unmounted filesystem, after
+.BR mkfs.xfs (8)
+has created the filesystem).
+Support for unwritten extents can be enabled using the
+.B extflg
+option. Support for version 2 log format can be enabled using the
+.B log2
+option. Support for extended attributes can be enabled using the
+.B attr1
+or
+.B attr2
+option. Once enabled, extended attributes cannot be disabled, but the user
+may toggle between
+.B attr1
+and
+.B attr2
+at will (older kernels may not support the newer version).
+.IP
+If no argument is given, the current version and feature bits are printed.
+With one argument, this command will write the updated version number
+into every copy of the superblock in the filesystem.
+If two arguments are given, they will be used as numeric values for the
+.I versionnum
+and
+.I features2
+bits respectively, and their string equivalent reported
+(but no modifications are made).
+.TP
+.BI "write [\-c|\-d] [" "field value" "] ..."
+Write a value to disk.
+Specific fields can be set in structures (struct mode),
+or a block can be set to data values (data mode),
+or a block can be set to string values (string mode, for symlink blocks).
+The operation happens immediately: there is no buffering.
+.IP
+Struct mode is in effect when the current type is structural,
+i.e. not data. For struct mode, the syntax is "\c
+.B write
+.I field value\c
+".
+.IP
+Data mode is in effect when the current type is data. In this case the
+contents of the block can be shifted or rotated left or right, or filled
+with a sequence, a constant value, or a random value. In this mode
+.B write
+with no arguments gives more information on the allowed commands.
+.RS 1.0i
+.TP 0.4i
+.B \-c
+Skip write verifiers and CRC recalculation; allows invalid data to be written
+to disk.
+.TP 0.4i
+.B \-d
+Skip write verifiers but perform CRC recalculation.
+This allows invalid data to be written to disk to
+test detection of invalid data. (This is not possible for some types.)
+.RE
+.SH TYPES
+This section gives the fields in each structure type and their meanings.
+Note that some types of block cover multiple actual structures,
+for instance directory blocks.
+.TP 1.0i
+.B agf
+The AGF block is the header for block allocation information;
+it is in the second 512-byte block of each allocation group.
+The following fields are defined:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magicnum
+AGF block magic number, 0x58414746 ('XAGF').
+.TP
+.B versionnum
+version number, currently 1.
+.TP
+.B seqno
+sequence number starting from 0.
+.TP
+.B length
+size in filesystem blocks of the allocation group. All allocation
+groups except the last one of the filesystem have the superblock's
+.B agblocks
+value here.
+.TP
+.B bnoroot
+block number of the root of the Btree holding free space
+information sorted by block number.
+.TP
+.B cntroot
+block number of the root of the Btree holding free space
+information sorted by block count.
+.TP
+.B bnolevel
+number of levels in the by-block-number Btree.
+.TP
+.B cntlevel
+number of levels in the by-block-count Btree.
+.TP
+.B flfirst
+index into the AGFL block of the first active entry.
+.TP
+.B fllast
+index into the AGFL block of the last active entry.
+.TP
+.B flcount
+count of active entries in the AGFL block.
+.TP
+.B freeblks
+count of blocks represented in the freespace Btrees.
+.TP
+.B longest
+longest free space represented in the freespace Btrees.
+.TP
+.B btreeblks
+number of blocks held in the AGF Btrees.
+.PD
+.RE
+.TP
+.B agfl
+The AGFL block contains block numbers for use of the block allocator;
+it is in the fourth 512-byte block of each allocation group.
+Each entry in the active list is a block number within the allocation group
+that can be used for any purpose if space runs low.
+The AGF block fields
+.BR flfirst ", " fllast ", and " flcount
+designate which entries are currently active.
+Entry space is allocated in a circular manner within the AGFL block.
+Fields defined:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B bno
+array of all block numbers. Even those which are not active are printed.
+.PD
+.RE
+.TP
+.B agi
+The AGI block is the header for inode allocation information;
+it is in the third 512-byte block of each allocation group.
+Fields defined:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magicnum
+AGI block magic number, 0x58414749 ('XAGI').
+.TP
+.B versionnum
+version number, currently 1.
+.TP
+.B seqno
+sequence number starting from 0.
+.TP
+.B length
+size in filesystem blocks of the allocation group.
+.TP
+.B count
+count of inodes allocated.
+.TP
+.B root
+block number of the root of the Btree holding inode allocation information.
+.TP
+.B level
+number of levels in the inode allocation Btree.
+.TP
+.B freecount
+count of allocated inodes that are not in use.
+.TP
+.B newino
+last inode number allocated.
+.TP
+.B dirino
+unused.
+.TP
+.B unlinked
+an array of inode numbers within the allocation group. The entries
+in the AGI block are the heads of lists which run through the inode
+.B next_unlinked
+field. These inodes are to be unlinked the next time the filesystem is mounted.
+.PD
+.RE
+.TP
+.B attr
+An attribute fork is organized as a Btree with the actual data embedded
+in the leaf blocks. The root of the Btree is found in block 0 of the fork.
+The index (sort order) of the Btree is the hash value of the attribute name.
+All the blocks contain a
+.B blkinfo
+structure at the beginning, see type
+.B dir
+for a description. Nonleaf blocks are identical in format to those for
+version 1 and version 2 directories, see type
+.B dir
+for a description. Leaf blocks can refer to "local" or "remote" attribute
+values. Local values are stored directly in the leaf block.
+Leaf blocks contain the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B hdr
+header containing a
+.B blkinfo
+structure
+.B info
+(magic number 0xfbee), a
+.B count
+of active entries,
+.B usedbytes
+total bytes of names and values, the
+.B firstused
+byte in the name area,
+.B holes
+set if the block needs compaction, and array
+.B freemap
+as for
+.B dir
+leaf blocks.
+.TP
+.B entries
+array of structures containing a
+.BR hashval ,
+.B nameidx
+(index into the block of the name), and flags
+.BR incomplete ,
+.BR root ,
+and
+.BR local .
+.TP
+.B nvlist
+array of structures describing the attribute names and values. Fields
+always present:
+.B valuelen
+(length of value in bytes),
+.BR namelen ,
+and
+.BR name .
+Fields present for local values:
+.B value
+(value string). Fields present for remote values:
+.B valueblk
+(fork block number of containing the value).
+.PD
+.RE
+.IP
+Remote values are stored in an independent block in the attribute fork.
+Prior to v5, value blocks had no structure, but in v5 they acquired a header
+structure with the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+attr3 remote block magic number, 0x5841524d ('XARM').
+.TP
+.B offset
+Byte offset of this data block within the overall attribute value.
+.TP
+.B bytes
+Number of bytes stored in this block.
+.TP
+.B crc
+Checksum of the attribute block contents.
+.TP
+.B uuid
+Filesystem UUID.
+.TP
+.B owner
+Inode that owns this attribute value.
+.TP
+.B bno
+Block offset of this block within the inode's attribute fork.
+.TP
+.B lsn
+Log serial number of the last time this block was logged.
+.TP
+.B data
+The attribute value data.
+.PD
+.RE
+.TP
+.B bmapbt
+Files with many extents in their data or attribute fork will have the
+extents described by the contents of a Btree for that fork,
+instead of being stored directly in the inode.
+Each bmap Btree starts with a root block contained within the inode.
+The other levels of the Btree are stored in filesystem blocks.
+The blocks are linked to sibling left and right blocks at each level,
+as well as by pointers from parent to child blocks.
+Each block contains the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+bmap Btree block magic number, 0x424d4150 ('BMAP').
+.TP
+.B level
+level of this block above the leaf level.
+.TP
+.B numrecs
+number of records or keys in the block.
+.TP
+.B leftsib
+left (logically lower) sibling block, 0 if none.
+.TP
+.B rightsib
+right (logically higher) sibling block, 0 if none.
+.TP
+.B recs
+[leaf blocks only] array of extent records.
+Each record contains
+.BR startoff ,
+.BR startblock ,
+.BR blockcount ,
+and
+.B extentflag
+(1 if the extent is unwritten).
+.TP
+.B keys
+[non-leaf blocks only] array of key records. These are the first key
+value of each block in the level below this one. Each record contains
+.BR startoff .
+.TP
+.B ptrs
+[non-leaf blocks only] array of child block pointers.
+Each pointer is a filesystem block number to the next level in the Btree.
+.PD
+.RE
+.TP
+.B bnobt
+There is one set of filesystem blocks forming the by-block-number
+allocation Btree for each allocation group. The root block of this
+Btree is designated by the
+.B bnoroot
+field in the corresponding AGF block.
+The blocks are linked to sibling left and right blocks at each level,
+as well as by pointers from parent to child blocks.
+Each block has the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+BNOBT block magic number, 0x41425442 ('ABTB').
+.TP
+.B level
+level number of this block, 0 is a leaf.
+.TP
+.B numrecs
+number of data entries in the block.
+.TP
+.B leftsib
+left (logically lower) sibling block, 0 if none.
+.TP
+.B rightsib
+right (logically higher) sibling block, 0 if none.
+.TP
+.B recs
+[leaf blocks only] array of freespace records. Each record contains
+.B startblock
+and
+.BR blockcount .
+.TP
+.B keys
+[non-leaf blocks only] array of key records. These are the first value
+of each block in the level below this one. Each record contains
+.B startblock
+and
+.BR blockcount .
+.TP
+.B ptrs
+[non-leaf blocks only] array of child block pointers. Each pointer is a
+block number within the allocation group to the next level in the Btree.
+.PD
+.RE
+.TP
+.B cntbt
+There is one set of filesystem blocks forming the by-block-count
+allocation Btree for each allocation group. The root block of this
+Btree is designated by the
+.B cntroot
+field in the corresponding AGF block. The blocks are linked to sibling
+left and right blocks at each level, as well as by pointers from parent
+to child blocks. Each block has the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+CNTBT block magic number, 0x41425443 ('ABTC').
+.TP
+.B level
+level number of this block, 0 is a leaf.
+.TP
+.B numrecs
+number of data entries in the block.
+.TP
+.B leftsib
+left (logically lower) sibling block, 0 if none.
+.TP
+.B rightsib
+right (logically higher) sibling block, 0 if none.
+.TP
+.B recs
+[leaf blocks only] array of freespace records. Each record contains
+.B startblock
+and
+.BR blockcount .
+.TP
+.B keys
+[non-leaf blocks only] array of key records. These are the first value
+of each block in the level below this one. Each record contains
+.B blockcount
+and
+.BR startblock .
+.TP
+.B ptrs
+[non-leaf blocks only] array of child block pointers. Each pointer is a
+block number within the allocation group to the next level in the Btree.
+.PD
+.RE
+.TP
+.B data
+User file blocks, and other blocks whose type is unknown, have this
+type for display purposes in
+.BR xfs_db .
+The block data is displayed in hexadecimal format.
+.TP
+.B dir
+A version 1 directory is organized as a Btree with the directory data
+embedded in the leaf blocks. The root of the Btree is found in block 0
+of the file. The index (sort order) of the Btree is the hash value of
+the entry name. All the blocks contain a
+.B blkinfo
+structure at the beginning with the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B forw
+next sibling block.
+.TP
+.B back
+previous sibling block.
+.TP
+.B magic
+magic number for this block type.
+.RE
+.IP
+
+The non-leaf (node) blocks have the following fields:
+.RS 1.4i
+.TP 1.2i
+.B hdr
+header containing a
+.B blkinfo
+structure
+.B info
+(magic number 0xfebe), the
+.B count
+of active entries, and the
+.B level
+of this block above the leaves.
+.TP
+.B btree
+array of entries containing
+.B hashval
+and
+.B before
+fields. The
+.B before
+value is a block number within the directory file to the child block, the
+.B hashval
+is the last hash value in that block.
+.RE
+.IP
+
+The leaf blocks have the following fields:
+.RS 1.4i
+.TP 1.2i
+.B hdr
+header containing a
+.B blkinfo
+structure
+.B info
+(magic number 0xfeeb), the
+.B count
+of active entries,
+.B namebytes
+(total name string bytes),
+.B holes
+flag (block needs compaction), and
+.B freemap
+(array of
+.BR base ", " size
+entries for free regions).
+.TP
+.B entries
+array of structures containing
+.BR hashval ,
+.B nameidx
+(byte index into the block of the name string), and
+.BR namelen .
+.TP
+.B namelist
+array of structures containing
+.B inumber
+and
+.BR name .
+.RE
+.PD
+.TP
+.B dir2
+A version 2 directory has four kinds of blocks.
+Data blocks start at offset 0 in the file.
+There are two kinds of data blocks: single-block directories have
+the leaf information embedded at the end of the block, data blocks
+in multi-block directories do not.
+Node and leaf blocks start at offset 32GiB (with either a single
+leaf block or the root node block).
+Freespace blocks start at offset 64GiB.
+The node and leaf blocks form a Btree, with references to the data
+in the data blocks.
+The freespace blocks form an index of longest free spaces within the
+data blocks.
+.IP
+A single-block directory block contains the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B bhdr
+header containing
+.B magic
+number 0x58443242 ('XD2B') and an array
+.B bestfree
+of the longest 3 free spaces in the block
+.RB ( offset ", " length ).
+.TP
+.B bu
+array of union structures. Each element is either an entry or a freespace.
+For entries, there are the following fields:
+.BR inumber ,
+.BR namelen ,
+.BR name ,
+and
+.BR tag .
+For freespace, there are the following fields:
+.B freetag
+(0xffff),
+.BR length ,
+and
+.BR tag .
+The
+.B tag
+value is the byte offset in the block of the start of the entry it
+is contained in.
+.TP
+.B bleaf
+array of leaf entries containing
+.B hashval
+and
+.BR address .
+The
+.B address
+is a 64-bit word offset into the file.
+.TP
+.B btail
+tail structure containing the total
+.B count
+of leaf entries and
+.B stale
+count of unused leaf entries.
+.RE
+.IP
+
+A data block contains the following fields:
+.RS 1.4i
+.TP 1.2i
+.B dhdr
+header containing
+.B magic
+number 0x58443244 ('XD2D') and an array
+.B bestfree
+of the longest 3 free spaces in the block
+.RB ( offset ", " length ).
+.TP
+.B du
+array of union structures as for
+.BR bu .
+.RE
+.IP
+
+Leaf blocks have two possible forms. If the Btree consists of a single
+leaf then the freespace information is in the leaf block,
+otherwise it is in separate blocks and the root of the Btree is
+a node block. A leaf block contains the following fields:
+.RS 1.4i
+.TP 1.2i
+.B lhdr
+header containing a
+.B blkinfo
+structure
+.B info
+(magic number 0xd2f1 for the single leaf case, 0xd2ff for the true
+Btree case), the total
+.B count
+of leaf entries, and
+.B stale
+count of unused leaf entries.
+.TP
+.B lents
+leaf entries, as for
+.BR bleaf .
+.TP
+.B lbests
+[single leaf only] array of values which represent the longest freespace
+in each data block in the directory.
+.TP
+.B ltail
+[single leaf only] tail structure containing
+.B bestcount
+count of
+.BR lbests .
+.RE
+.IP
+
+A node block is identical to that for types
+.B attr
+and
+.BR dir .
+
+A freespace block contains the following fields:
+.RS 1.4i
+.TP 1.2i
+.B fhdr
+header containing
+.B magic
+number 0x58443246 ('XD2F'),
+.B firstdb
+first data block number covered by this freespace block,
+.B nvalid
+number of valid entries, and
+.B nused
+number of entries representing real data blocks.
+.TP
+.B fbests
+array of values as for
+.BR lbests .
+.PD
+.RE
+.TP
+.B dqblk
+The quota information is stored in files referred to by the superblock
+.B uquotino
+and
+.B pquotino
+fields. Each filesystem block in a quota file contains a constant number of
+quota entries. The quota entry size is currently 136 bytes, so with a 4KiB
+filesystem block size there are 30 quota entries per block. The
+.B dquot
+command is used to locate these entries in the filesystem.
+The file entries are indexed by the user or project identifier
+to determine the block and offset.
+Each quota entry has the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.5i
+.B magic
+magic number, 0x4451 ('DQ').
+.TP
+.B version
+version number, currently 1.
+.TP
+.B flags
+flags, values include 0x01 for user quota, 0x02 for project quota.
+.TP
+.B id
+user or project identifier.
+.TP
+.B blk_hardlimit
+absolute limit on blocks in use.
+.TP
+.B blk_softlimit
+preferred limit on blocks in use.
+.TP
+.B ino_hardlimit
+absolute limit on inodes in use.
+.TP
+.B ino_softlimit
+preferred limit on inodes in use.
+.TP
+.B bcount
+blocks actually in use.
+.TP
+.B icount
+inodes actually in use.
+.TP
+.B itimer
+time when service will be refused if soft limit is violated for inodes.
+.TP
+.B btimer
+time when service will be refused if soft limit is violated for blocks.
+.TP
+.B iwarns
+number of warnings issued about inode limit violations.
+.TP
+.B bwarns
+number of warnings issued about block limit violations.
+.TP
+.B rtb_hardlimit
+absolute limit on realtime blocks in use.
+.TP
+.B rtb_softlimit
+preferred limit on realtime blocks in use.
+.TP
+.B rtbcount
+realtime blocks actually in use.
+.TP
+.B rtbtimer
+time when service will be refused if soft limit is violated for realtime blocks.
+.TP
+.B rtbwarns
+number of warnings issued about realtime block limit violations.
+.PD
+.RE
+.TP
+.B inobt
+There is one set of filesystem blocks forming the inode allocation Btree for
+each allocation group. The root block of this Btree is designated by the
+.B root
+field in the corresponding AGI block.
+The blocks are linked to sibling left and right blocks at each level,
+as well as by pointers from parent to child blocks.
+Each block has the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+INOBT block magic number, 0x49414254 ('IABT').
+.TP
+.B level
+level number of this block, 0 is a leaf.
+.TP
+.B numrecs
+number of data entries in the block.
+.TP
+.B leftsib
+left (logically lower) sibling block, 0 if none.
+.TP
+.B rightsib
+right (logically higher) sibling block, 0 if none.
+.TP
+.B recs
+[leaf blocks only] array of inode records. Each record contains
+.B startino
+allocation-group relative inode number,
+.B freecount
+count of free inodes in this chunk, and
+.B free
+bitmap, LSB corresponds to inode 0.
+.TP
+.B keys
+[non-leaf blocks only] array of key records. These are the first value of each
+block in the level below this one. Each record contains
+.BR startino .
+.TP
+.B ptrs
+[non-leaf blocks only] array of child block pointers. Each pointer is a
+block number within the allocation group to the next level in the Btree.
+.PD
+.RE
+.TP
+.B inode
+Inodes are allocated in "chunks" of 64 inodes each. Usually a chunk is
+multiple filesystem blocks, although there are cases with large filesystem
+blocks where a chunk is less than one block. The inode Btree (see
+.B inobt
+above) refers to the inode numbers per allocation group. The inode numbers
+directly reflect the location of the inode block on disk. Use the
+.B inode
+command to point
+.B xfs_db
+to a specific inode. Each inode contains four regions:
+.BR core ,
+.BR next_unlinked ,
+.BR u ", and "
+.BR a .
+.B core
+contains the fixed information.
+.B next_unlinked
+is separated from the core due to journaling considerations, see type
+.B agi
+field
+.BR unlinked .
+.B u
+is a union structure that is different in size and format depending
+on the type and representation of the file data ("data fork").
+.B a
+is an optional union structure to describe attribute data,
+that is different in size, format, and location depending on the presence
+and representation of attribute data, and the size of the
+.B u
+data ("attribute fork").
+.B xfs_db
+automatically selects the proper union members based on information
+in the inode.
+.IP
+The following are fields in the inode core:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+inode magic number, 0x494e ('IN').
+.TP
+.B mode
+mode and type of file, as described in
+.BR chmod (2),
+.BR mknod (2),
+and
+.BR stat (2).
+.TP
+.B version
+inode version, 1 or 2.
+.TP
+.B format
+format of
+.B u
+union data (0: xfs_dev_t, 1: local file \- in-inode directory or symlink,
+2: extent list, 3: Btree root, 4: unique id [unused]).
+.TP
+.B nlinkv1
+number of links to the file in a version 1 inode.
+.TP
+.B nlinkv2
+number of links to the file in a version 2 inode.
+.TP
+.B projid_lo
+owner's project id (low word; version 2 inode only).
+.B projid_hi
+owner's project id (high word; version 2 inode only).
+.TP
+.B uid
+owner's user id.
+.TP
+.B gid
+owner's group id.
+.TP
+.B atime
+time last accessed (seconds and nanoseconds).
+.TP
+.B mtime
+time last modified.
+.TP
+.B ctime
+time created or inode last modified.
+.TP
+.B size
+number of bytes in the file.
+.TP
+.B nblocks
+total number of blocks in the file including indirect and attribute.
+.TP
+.B extsize
+basic/minimum extent size for the file.
+.TP
+.B nextents
+number of extents in the data fork.
+.TP
+.B naextents
+number of extents in the attribute fork.
+.TP
+.B forkoff
+attribute fork offset in the inode, in 64-bit words from the start of
+.BR u .
+.TP
+.B aformat
+format of
+.B a
+data (1: local attribute data, 2: extent list, 3: Btree root).
+.TP
+.B dmevmask
+DMAPI event mask.
+.TP
+.B dmstate
+DMAPI state information.
+.TP
+.B newrtbm
+file is the realtime bitmap and is "new" format.
+.TP
+.B prealloc
+file has preallocated data space after EOF.
+.TP
+.B realtime
+file data is in the realtime subvolume.
+.TP
+.B gen
+inode generation number.
+.RE
+.IP
+
+The following fields are in the
+.B u
+data fork union:
+.RS 1.4i
+.TP 1.2i
+.B bmbt
+bmap Btree root. This looks like a
+.B bmapbtd
+block with redundant information removed.
+.TP
+.B bmx
+array of extent descriptors.
+.TP
+.B dev
+dev_t for the block or character device.
+.TP
+.B sfdir
+shortform (in-inode) version 1 directory. This consists of a
+.B hdr
+containing the
+.B parent
+inode number and a
+.B count
+of active entries in the directory, followed by an array
+.B list
+of
+.B hdr.count
+entries. Each such entry contains
+.BR inumber ,
+.BR namelen ,
+and
+.B name
+string.
+.TP
+.B sfdir2
+shortform (in-inode) version 2 directory. This consists of a
+.B hdr
+containing a
+.B count
+of active entries in the directory, an
+.B i8count
+of entries with inumbers that don't fit in a 32-bit value, and the
+.B parent
+inode number, followed by an array
+.B list
+of
+.B hdr.count
+entries. Each such entry contains
+.BR namelen ,
+a saved
+.B offset
+used when the directory is converted to a larger form, a
+.B name
+string, and the
+.BR inumber .
+.TP
+.B symlink
+symbolic link string value.
+.RE
+.IP
+
+The following fields are in the
+.B a
+attribute fork union if it exists:
+.RS 1.4i
+.TP 1.2i
+.B bmbt
+bmap Btree root, as above.
+.TP
+.B bmx
+array of extent descriptors.
+.TP
+.B sfattr
+shortform (in-inode) attribute values. This consists of a
+.B hdr
+containing a
+.B totsize
+(total size in bytes) and a
+.B count
+of active entries, followed by an array
+.B list
+of
+.B hdr.count
+entries. Each such entry contains
+.BR namelen ,
+.BR valuelen ,
+.BR root
+flag,
+.BR name ,
+and
+.BR value .
+.PD
+.RE
+.TP
+.B log
+Log blocks contain the journal entries for XFS.
+It's not useful to examine these with
+.BR xfs_db ,
+use
+.BR xfs_logprint (8)
+instead.
+.TP
+.B refcntbt
+There is one set of filesystem blocks forming the reference count Btree for
+each allocation group. The root block of this Btree is designated by the
+.B refcntroot
+field in the corresponding AGF block. The blocks are linked to sibling left
+and right blocks at each level, as well as by pointers from parent to child
+blocks. Each block has the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+REFC block magic number, 0x52334643 ('R3FC').
+.TP
+.B level
+level number of this block, 0 is a leaf.
+.TP
+.B numrecs
+number of data entries in the block.
+.TP
+.B leftsib
+left (logically lower) sibling block, 0 if none.
+.TP
+.B rightsib
+right (logically higher) sibling block, 0 if none.
+.TP
+.B recs
+[leaf blocks only] array of reference count records. Each record contains
+.BR startblock ,
+.BR blockcount ,
+and
+.BR refcount .
+.TP
+.B keys
+[non-leaf blocks only] array of key records. These are the first value
+of each block in the level below this one. Each record contains
+.BR startblock .
+.TP
+.B ptrs
+[non-leaf blocks only] array of child block pointers. Each pointer is a
+block number within the allocation group to the next level in the Btree.
+.PD
+.RE
+.TP
+.B rmapbt
+There is one set of filesystem blocks forming the reverse mapping Btree for
+each allocation group. The root block of this Btree is designated by the
+.B rmaproot
+field in the corresponding AGF block. The blocks are linked to sibling left
+and right blocks at each level, as well as by pointers from parent to child
+blocks. Each block has the following fields:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magic
+RMAP block magic number, 0x524d4233 ('RMB3').
+.TP
+.B level
+level number of this block, 0 is a leaf.
+.TP
+.B numrecs
+number of data entries in the block.
+.TP
+.B leftsib
+left (logically lower) sibling block, 0 if none.
+.TP
+.B rightsib
+right (logically higher) sibling block, 0 if none.
+.TP
+.B recs
+[leaf blocks only] array of reference count records. Each record contains
+.BR startblock ,
+.BR blockcount ,
+.BR owner ,
+.BR offset ,
+.BR attr_fork ,
+.BR bmbt_block ,
+and
+.BR unwritten .
+.TP
+.B keys
+[non-leaf blocks only] array of double-key records. The first ("low") key
+contains the first value of each block in the level below this one. The second
+("high") key contains the largest key that can be used to identify any record
+in the subtree. Each record contains
+.BR startblock ,
+.BR owner ,
+.BR offset ,
+.BR attr_fork ,
+and
+.BR bmbt_block .
+.TP
+.B ptrs
+[non-leaf blocks only] array of child block pointers. Each pointer is a
+block number within the allocation group to the next level in the Btree.
+.PD
+.RE
+.TP
+.B rtbitmap
+If the filesystem has a realtime subvolume, then the
+.B rbmino
+field in the superblock refers to a file that contains the realtime bitmap.
+Each bit in the bitmap file controls the allocation of a single realtime extent
+(set == free). The bitmap is processed in 32-bit words, the LSB of a word is
+used for the first extent controlled by that bitmap word. The
+.B atime
+field of the realtime bitmap inode contains a counter
+that is used to control where the next new realtime file will start.
+.TP
+.B rtsummary
+If the filesystem has a realtime subvolume, then the
+.B rsumino
+field in the superblock refers to a file that contains the realtime summary
+data. The summary file contains a two-dimensional array of 16-bit values.
+Each value counts the number of free extent runs
+(consecutive free realtime extents)
+of a given range of sizes that starts in a given bitmap block.
+The size ranges are binary buckets (low size in the bucket is a power of 2).
+There are as many size ranges as are necessary given the size of the
+realtime subvolume.
+The first dimension is the size range,
+the second dimension is the starting bitmap block number
+(adjacent entries are for the same size, adjacent bitmap blocks).
+.TP
+.B sb
+There is one sb (superblock) structure per allocation group.
+It is the first disk block in the allocation group.
+Only the first one (block 0 of the filesystem) is actually used;
+the other blocks are redundant information for
+.BR xfs_repair (8)
+to use if the first superblock is damaged. Fields defined:
+.RS 1.4i
+.PD 0
+.TP 1.2i
+.B magicnum
+superblock magic number, 0x58465342 ('XFSB').
+.TP
+.B blocksize
+filesystem block size in bytes.
+.TP
+.B dblocks
+number of filesystem blocks present in the data subvolume.
+.TP
+.B rblocks
+number of filesystem blocks present in the realtime subvolume.
+.TP
+.B rextents
+number of realtime extents that
+.B rblocks
+contain.
+.TP
+.B uuid
+unique identifier of the filesystem.
+.TP
+.B logstart
+starting filesystem block number of the log (journal).
+If this value is 0 the log is "external".
+.TP
+.B rootino
+root inode number.
+.TP
+.B rbmino
+realtime bitmap inode number.
+.TP
+.B rsumino
+realtime summary data inode number.
+.TP
+.B rextsize
+realtime extent size in filesystem blocks.
+.TP
+.B agblocks
+size of an allocation group in filesystem blocks.
+.TP
+.B agcount
+number of allocation groups.
+.TP
+.B rbmblocks
+number of realtime bitmap blocks.
+.TP
+.B logblocks
+number of log blocks (filesystem blocks).
+.TP
+.B versionnum
+filesystem version information.
+This value is currently 1, 2, 3, or 4 in the low 4 bits.
+If the low bits are 4 then the other bits have additional meanings.
+1 is the original value.
+2 means that attributes were used.
+3 means that version 2 inodes (large link counts) were used.
+4 is the bitmask version of the version number.
+In this case, the other bits are used as flags
+(0x0010: attributes were used,
+0x0020: version 2 inodes were used,
+0x0040: quotas were used,
+0x0080: inode cluster alignment is in force,
+0x0100: data stripe alignment is in force,
+0x0200: the
+.B shared_vn
+field is used,
+0x1000: unwritten extent tracking is on,
+0x2000: version 2 directories are in use).
+.TP
+.B sectsize
+sector size in bytes, currently always 512.
+This is the size of the superblock and the other header blocks.
+.TP
+.B inodesize
+inode size in bytes.
+.TP
+.B inopblock
+number of inodes per filesystem block.
+.TP
+.B fname
+obsolete, filesystem name.
+.TP
+.B fpack
+obsolete, filesystem pack name.
+.TP
+.B blocklog
+log2 of
+.BR blocksize .
+.TP
+.B sectlog
+log2 of
+.BR sectsize .
+.TP
+.B inodelog
+log2 of
+.BR inodesize .
+.TP
+.B inopblog
+log2 of
+.BR inopblock .
+.TP
+.B agblklog
+log2 of
+.B agblocks
+(rounded up).
+.TP
+.B rextslog
+log2 of
+.BR rextents .
+.TP
+.B inprogress
+.BR mkfs.xfs (8)
+or
+.BR xfs_copy (8)
+aborted before completing this filesystem.
+.TP
+.B imax_pct
+maximum percentage of filesystem space used for inode blocks.
+.TP
+.B icount
+number of allocated inodes.
+.TP
+.B ifree
+number of allocated inodes that are not in use.
+.TP
+.B fdblocks
+number of free data blocks.
+.TP
+.B frextents
+number of free realtime extents.
+.TP
+.B uquotino
+user quota inode number.
+.TP
+.B pquotino
+project quota inode number; this is currently unused.
+.TP
+.B qflags
+quota status flags
+(0x01: user quota accounting is on,
+0x02: user quota limits are enforced,
+0x04: quotacheck has been run on user quotas,
+0x08: project quota accounting is on,
+0x10: project quota limits are enforced,
+0x20: quotacheck has been run on project quotas).
+.TP
+.B flags
+random flags. 0x01: only read-only mounts are allowed.
+.TP
+.B shared_vn
+shared version number (shared readonly filesystems).
+.TP
+.B inoalignmt
+inode chunk alignment in filesystem blocks.
+.TP
+.B unit
+stripe or RAID unit.
+.TP
+.B width
+stripe or RAID width.
+.TP
+.B dirblklog
+log2 of directory block size (filesystem blocks).
+.PD
+.RE
+.TP
+.B symlink
+Symbolic link blocks are used only when the symbolic link value does
+not fit inside the inode. The block content is just the string value.
+Bytes past the logical end of the symbolic link value have arbitrary values.
+.TP
+.B text
+User file blocks, and other blocks whose type is unknown,
+have this type for display purposes in
+.BR xfs_db .
+The block data is displayed in two columns: Hexadecimal format
+and printable ASCII chars.
+.SH DIAGNOSTICS
+Many messages can come from the
+.B check
+.RB ( blockget )
+command.
+If the filesystem is completely corrupt, a core dump might
+be produced instead of the message
+.RS
+.I device
+.B is not a valid filesystem
+.RE
+.PP
+If the filesystem is very large (has many files) then
+.B check
+might run out of memory. In this case the message
+.RS
+.B out of memory
+.RE
+is printed.
+.PP
+The following is a description of the most likely problems and the associated
+messages.
+Most of the diagnostics produced are only meaningful with an understanding
+of the structure of the filesystem.
+.TP
+.BI "agf_freeblks " n ", counted " m " in ag " a
+The freeblocks count in the allocation group header for allocation group
+.I a
+doesn't match the number of blocks counted free.
+.TP
+.BI "agf_longest " n ", counted " m " in ag " a
+The longest free extent in the allocation group header for allocation group
+.I a
+doesn't match the longest free extent found in the allocation group.
+.TP
+.BI "agi_count " n ", counted " m " in ag " a
+The allocated inode count in the allocation group header for allocation group
+.I a
+doesn't match the number of inodes counted in the allocation group.
+.TP
+.BI "agi_freecount " n ", counted " m " in ag " a
+The free inode count in the allocation group header for allocation group
+.I a
+doesn't match the number of inodes counted free in the allocation group.
+.TP
+.BI "block " a/b " expected inum 0 got " i
+The block number is specified as a pair
+(allocation group number, block in the allocation group).
+The block is used multiple times (shared), between multiple inodes.
+This message usually follows a message of the next type.
+.TP
+.BI "block " a/b " expected type unknown got " y
+The block is used multiple times (shared).
+.TP
+.BI "block " a/b " type unknown not expected
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR xfs_admin (8),
+.BR xfs_copy (8),
+.BR xfs_logprint (8),
+.BR xfs_metadump (8),
+.BR xfs_ncheck (8),
+.BR xfs_repair (8),
+.BR mount (8),
+.BR chmod (2),
+.BR mknod (2),
+.BR stat (2),
+.BR xfs (5).
diff --git a/upstream/fedora-40/man8/xfs_estimate.8 b/upstream/fedora-40/man8/xfs_estimate.8
new file mode 100644
index 00000000..2594eb87
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_estimate.8
@@ -0,0 +1,105 @@
+.TH xfs_estimate 8
+.SH NAME
+xfs_estimate \- estimate the space that an XFS filesystem will take
+.SH SYNOPSIS
+.nf
+\f3xfs_estimate\f1 [ \f3\-h\f1 ] [ \f3\-b\f1 blocksize ] [ \f3\-i\f1 logsize ]
+ [ \f3\-e\f1 logsize ] [ \f3\-v\f1 ] directory ...
+.br
+.B xfs_estimate \-V
+.fi
+.SH DESCRIPTION
+For each \f2directory\f1 argument,
+.I xfs_estimate
+estimates the space that directory would take if it were copied to an XFS
+filesystem.
+.I xfs_estimate
+does not cross mount points.
+The following definitions
+are used:
+.PD 0
+.IP
+KB = *1024
+.IP
+MB = *1024*1024
+.IP
+GB = *1024*1024*1024
+.PD
+.PP
+The
+.I xfs_estimate
+options are:
+.TP
+\f3\-b\f1 \f2blocksize\f1
+Use
+.I blocksize
+instead of the default blocksize of 4096 bytes.
+The modifier
+.B k
+can be used
+after the number to indicate multiplication by 1024.
+For example,
+.sp .8v
+.RS
+ \f4xfs_estimate \-b 64k /\f1
+.RE
+.IP
+requests an estimate of the space required by the directory / on an
+XFS filesystem using a blocksize of 64K (65536) bytes.
+.TP
+.B \-v
+Display more information, formatted.
+.TP
+.B \-h
+Display usage message.
+.TP
+\f3\-i, \-e\f1 \f2logsize\f1
+Use
+.I logsize
+instead of the default log size of 1000 blocks.
+.B \-i
+refers to an internal log, while
+.B \-e
+refers to an external log.
+The modifiers
+.B k
+or
+.B m
+can be used
+after the number to indicate multiplication by 1024 or 1048576, respectively.
+.IP
+For example,
+.sp .8v
+.RS
+ \f4xfs_estimate \-i 1m /\f1
+.RE
+.IP
+requests an estimate of the space required by the directory / on an
+XFS filesystem using an internal log of 1 megabyte.
+.TP
+.B \-V
+Print the version number and exits.
+.SH EXAMPLES
+.nf
+.sp 8v
+% \f4xfs_estimate \-e 10m /var/tmp\f1\f7
+/var/tmp will take about 4.2 megabytes
+ with the external log using 2560 blocks or about 10.0 megabytes
+.fi
+.nf
+.sp .8v
+% \f4xfs_estimate \-v \-e 10m /var/tmp\f1\f7
+directory bsize blocks megabytes logsize
+/var/tmp 4096 792 4.0MB 10485760
+.fi
+.nf
+.sp .8v
+% \f4xfs_estimate \-v /var/tmp\f1\f7
+directory bsize blocks megabytes logsize
+/var/tmp 4096 3352 14.0MB 10485760
+.fi
+.nf
+.sp .8v
+% \f4xfs_estimate /var/tmp\f1\f7
+/var/tmp will take about 14.0 megabytes
+.fi
diff --git a/upstream/fedora-40/man8/xfs_freeze.8 b/upstream/fedora-40/man8/xfs_freeze.8
new file mode 100644
index 00000000..c581ad77
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_freeze.8
@@ -0,0 +1,83 @@
+.TH xfs_freeze 8
+.SH NAME
+xfs_freeze \- suspend access to an XFS filesystem
+.SH SYNOPSIS
+.B xfs_freeze
+[
+.B \-f
+|
+.B \-u
+]
+.I mount-point
+.br
+.B xfs_freeze \-V
+.fi
+.SH DESCRIPTION
+.B xfs_freeze
+suspends and resumes access to an XFS filesystem (see
+.BR xfs (5)).
+.PP
+.B xfs_freeze
+halts new access to the filesystem and creates a stable image on disk.
+.B xfs_freeze
+is intended to be used with volume managers and hardware RAID devices
+that support the creation of snapshots.
+.PP
+The
+.I mount-point
+argument is the pathname of the directory where the filesystem
+is mounted.
+The filesystem must be mounted to be frozen (see
+.BR mount (8)).
+.PP
+.PP
+The
+.B \-f
+flag requests the specified XFS filesystem to be
+frozen from new modifications.
+When this is selected, all ongoing transactions in the filesystem
+are allowed to complete, new write system calls are halted, other
+calls which modify the filesystem are halted, and all dirty data,
+metadata, and log information are written to disk.
+Any process attempting to write to the frozen filesystem will block
+waiting for the filesystem to be unfrozen.
+.PP
+Note that even after freezing, the on-disk filesystem can contain
+information on files that are still in the process of unlinking.
+These files will not be unlinked until the filesystem is unfrozen
+or a clean mount of the snapshot is complete.
+.PP
+The
+.B \-u
+flag is used to un-freeze the filesystem and allow
+operations to continue.
+Any filesystem modifications that were blocked by the freeze are
+unblocked and allowed to complete.
+.PP
+The
+.B \-V
+flag prints the version number and exits.
+.PP
+Unless
+.B \-V
+is specified, one of
+.B \-f
+or
+.B \-u
+must be supplied to
+.BR xfs_freeze .
+.SH NOTES
+A copy of a frozen XFS filesystem will usually have the same universally
+unique identifier (UUID) as the original, and thus may be prevented from
+being mounted.
+The XFS
+.B nouuid
+mount option can be used to circumvent this issue.
+.PP
+In Linux kernel version 2.6.29, the interface which XFS uses to freeze
+and unfreeze was elevated to the VFS, so that this tool can now be
+used on many other Linux filesystems.
+.SH SEE ALSO
+.BR xfs (5),
+.BR lvm (8),
+.BR mount (8).
diff --git a/upstream/fedora-40/man8/xfs_fsr.8 b/upstream/fedora-40/man8/xfs_fsr.8
new file mode 100644
index 00000000..0a162b60
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_fsr.8
@@ -0,0 +1,187 @@
+.TH xfs_fsr 8
+.SH NAME
+xfs_fsr \- filesystem reorganizer for XFS
+.SH SYNOPSIS
+.nf
+\f3xfs_fsr\f1 [\f3\-vdg\f1] \c
+[\f3\-t\f1 seconds] [\f3\-p\f1 passes] [\f3\-f\f1 leftoff] [\f3\-m\f1 mtab]
+\f3xfs_fsr\f1 [\f3\-vdg\f1] \c
+[xfsdev | file] ...
+.br
+.B xfs_fsr \-V
+.fi
+.SH DESCRIPTION
+.I xfs_fsr
+is applicable only to XFS filesystems.
+.PP
+.I xfs_fsr
+improves the organization of mounted filesystems.
+The reorganization algorithm operates on one file at a time,
+compacting or otherwise improving the layout of
+the file extents (contiguous blocks of file data).
+.PP
+The following options are accepted by
+.IR xfs_fsr .
+The
+.BR \-m ,
+.BR \-t ,
+and
+.B \-f
+options have no meaning if any filesystems
+or files are specified on the command line.
+.TP 13
+.BI \-m " mtab"
+Use this file for the list of filesystems to reorganize.
+The default is to use
+.IR /etc/mtab .
+.TP
+.BI \-t " seconds"
+How long to reorganize.
+The default is 7200 seconds (2 hours).
+.TP
+.BI \-p " passes"
+Number of passes before terminating global re-org.
+The default is 10 passes.
+.TP
+.BI \-f " leftoff"
+Use this file instead of
+.I /var/tmp/.fsrlast
+to read the state of where to start and as the file
+to store the state of where reorganization left off.
+.TP
+.B \-v
+Verbose.
+Print cryptic information about
+each file being reorganized.
+.TP
+.B \-d
+Debug. Print even more cryptic information.
+.TP
+.B \-g
+Print to syslog (default if stdout not a tty).
+.TP
+.B \-V
+Prints the version number and exits.
+
+.PP
+When invoked with no arguments
+.I xfs_fsr
+reorganizes all regular files in all mounted filesystems.
+.I xfs_fsr
+makes many cycles over
+.I /etc/mtab
+each time making a single pass over each XFS filesystem.
+Each pass goes through and selects files
+that have the largest number of extents. It attempts
+to defragment the top 10% of these files on each pass.
+.PP
+It runs for up to two hours after which it records the filesystem
+where it left off, so it can start there the next time.
+This information is stored in the file
+.I /var/tmp/.fsrlast_xfs.
+If the information found here
+is somehow inconsistent or out of date
+it is ignored
+and reorganization starts at the beginning of the first
+filesystem found in
+.IR /etc/mtab .
+.PP
+.I xfs_fsr
+can be called with one or more arguments
+naming filesystems (block device name),
+and files to reorganize.
+In this mode
+.I xfs_fsr
+does not read or write
+.I /var/tmp/.fsrlast_xfs
+nor does it run for a fixed time interval.
+It makes one pass through each specified regular file and
+all regular files in each specified filesystem.
+A command line name referring to a symbolic link
+(except to a file system device),
+FIFO, or UNIX domain socket
+generates a warning message, but is otherwise ignored.
+While traversing the filesystem these types
+of files are silently skipped.
+.SH FILES
+.PD 0
+.TP 21
+/etc/mtab
+contains default list of filesystems to reorganize.
+.TP 21
+/var/tmp/.fsrlast_xfs
+records the state where reorganization left off.
+.PD
+.SH "SEE ALSO"
+xfs_fsr(8),
+mkfs.xfs(8),
+xfs_ncheck(8),
+xfs(5).
+.SH "NOTES"
+.I xfs_fsr
+improves the layout of extents for each file by copying the entire
+file to a temporary location and then interchanging the data extents
+of the target and temporary files in an atomic manner.
+This method requires that enough free disk space be available to copy
+any given file and that the space be less fragmented than the original
+file.
+It also requires the owner of the file to have enough remaining
+filespace quota to do the copy on systems running quotas.
+.I xfs_fsr
+generates a warning message if space is not sufficient to improve
+the target file.
+.PP
+A temporary file used in improving a file given on the command line
+is created in the same parent directory of the target file and
+is prefixed by the string '\f3.fsr\f1'.
+The temporary files used in improving an entire XFS device are stored
+in a directory at the root of the target device and use the same
+naming scheme.
+The temporary files are unlinked upon creation so data will not be
+readable by any other process.
+.PP
+.I xfs_fsr
+does not operate on files that are currently mapped in memory.
+A 'file busy' error can be seen for these files if the verbose
+flag (\f3-v\f1) is set.
+.PP
+Files marked as no\-defrag will be skipped. The
+.IR xfs_io (8)
+chattr command with the f attribute can be used to set or clear
+this flag. Files and directories created in a directory with the
+no\-defrag flag will inherit the attribute.
+.PP
+An entry in
+.I /etc/mtab
+or the file specified using the
+.B \-m
+option must have the
+.B rw
+option specified for read and write access.
+If this option is not present, then
+.I xfs_fsr
+skips the
+filesystem described by that line.
+See the
+.IR fstab (5)
+reference page for
+more details.
+.PP
+In general we do not foresee the need to run
+.I xfs_fsr
+on system partitions such as
+.IR / ,
+.I /boot
+and
+.I /usr
+as in general these will not suffer from fragmentation.
+There are also issues with defragmenting files
+.IR lilo (8)
+uses to boot your system. It is recommended that these files
+should be flagged as no\-defrag with the
+.IR xfs_io (8)
+chattr command. Should these files be moved by
+.I xfs_fsr
+then you must rerun
+.I lilo
+before you reboot or you may have an unbootable system.
diff --git a/upstream/fedora-40/man8/xfs_growfs.8 b/upstream/fedora-40/man8/xfs_growfs.8
new file mode 100644
index 00000000..a0126927
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_growfs.8
@@ -0,0 +1,170 @@
+.\" Verbatim blocks taken from openssl req manpage content
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+
+.TH xfs_growfs 8
+.SH NAME
+xfs_growfs \- expand an XFS filesystem
+.SH SYNOPSIS
+.B xfs_growfs
+[
+.B \-dilnrx
+] [
+.B \-D
+.I size
+] [
+.B \-e
+.I rtextsize
+] [
+.B \-L
+.I size
+] [
+.B \-m
+.I maxpct
+] [
+.B \-t
+.I mtab
+] [
+.B \-R
+.I size
+]
+[
+.I mount-point
+|
+.I block-device
+]
+
+.br
+.B xfs_growfs \-V
+.SH DESCRIPTION
+.B xfs_growfs
+expands an existing XFS filesystem (see
+.BR xfs (5)).
+The
+.I mount-point
+argument is the pathname of the directory where the filesystem
+is mounted. The
+.I block-device
+argument is the device name of a mounted XFS filesystem.
+The filesystem must be mounted to be grown (see
+.BR mount (8)).
+The existing contents of the filesystem are undisturbed, and the added space
+becomes available for additional file storage.
+.SH OPTIONS
+.TP
+.BI "\-d | \-D " size
+Specifies that the data section of the filesystem should be resized. If the
+.B \-D
+.I size
+option is given, the data section is changed to that
+.IR size ,
+otherwise the data section is grown to the largest size possible with the
+.B \-d
+option. The size is expressed in filesystem blocks. A filesystem with only
+1 AG cannot be shrunk further, and a filesystem cannot be shrunk to the point
+where it would only have 1 AG.
+.TP
+.B \-e
+Allows the real-time extent size to be specified. In
+.BR mkfs.xfs (8)
+this is specified with
+.B \-r extsize=\c
+.IR nnnn .
+.TP
+.B \-i
+The new log is an internal log (inside the data section).
+.B [NOTE: This option is not implemented]
+.TP
+.BI "\-l | \-L " size
+Specifies that the log section of the filesystem should be grown,
+shrunk, or moved. If the
+.B \-L
+.I size
+option is given, the log section is changed to be that
+.IR size ,
+if possible. The size is expressed in filesystem blocks.
+The size of an internal log must be smaller than the size
+of an allocation group (this value is printed at
+.BR mkfs (8)
+time). If neither
+.B \-i
+nor
+.B \-x
+is given with
+.BR \-l ,
+the log continues to be internal or external as it was before.
+.B [NOTE: These options are not implemented]
+.TP
+.B \-m
+Specify a new value for the maximum percentage
+of space in the filesystem that can be allocated as inodes. In
+.BR mkfs.xfs (8)
+this is specified with
+.B -i maxpct=\c
+.IR nn .
+.TP
+.B \-n
+Specifies that no change to the filesystem is to be made.
+The filesystem geometry is printed, and argument checking is performed,
+but no growth occurs.
+.B See output examples below.
+.TP
+.BI "\-r | \-R " size
+Specifies that the real-time section of the filesystem should be grown. If the
+.B \-R
+.I size
+option is given, the real-time section is grown to that size, otherwise
+the real-time section is grown to the largest size possible with the
+.B \-r
+option. The size is expressed in filesystem blocks.
+The filesystem does not need to have contained a real-time section before
+the
+.B xfs_growfs
+operation.
+.TP
+.B \-t
+Specifies an alternate mount table file (default is
+.I /proc/mounts
+if it exists, else
+.IR /etc/mtab ).
+This is used when working with filesystems mounted without writing to
+.I /etc/mtab
+file - refer to
+.BR mount (8)
+for further details.
+.TP
+.B \-V
+Prints the version number and exits. The
+.I mount-point
+argument is not required with
+.BR \-V .
+.PP
+.B xfs_growfs
+is most often used in conjunction with
+logical volumes
+(see
+.BR md (4)
+and
+.BR lvm (8)
+on Linux).
+However, it can also be used on a regular disk partition, for example if a
+partition has been enlarged while retaining the same starting block.
+.SH PRACTICAL USE
+Filesystems normally occupy all of the space on the device where they
+reside. In order to grow a filesystem, it is necessary to provide added
+space for it to occupy. Therefore there must be at least one spare new
+disk partition available. Adding the space is often done through the use
+of a logical volume manager.
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR xfs_info (8),
+.BR md (4),
+.BR lvm (8),
+.BR mount (8).
diff --git a/upstream/fedora-40/man8/xfs_info.8 b/upstream/fedora-40/man8/xfs_info.8
new file mode 100644
index 00000000..429356a8
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_info.8
@@ -0,0 +1,97 @@
+.\" Verbatim blocks taken from openssl req manpage content
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+
+.TH xfs_info 8
+.SH NAME
+xfs_info \- display XFS filesystem geometry information
+.SH SYNOPSIS
+.B xfs_info
+[
+.B \-t
+.I mtab
+]
+[
+.I mount-point
+|
+.I block-device
+|
+.I file-image
+]
+.br
+.B xfs_info \-V
+.SH DESCRIPTION
+.B xfs_info
+displays geometry information about an existing XFS filesystem.
+The
+.I mount-point
+argument is the pathname of a directory where the filesystem
+is mounted.
+The
+.I block-device
+or
+.I file-image
+contain a raw XFS filesystem.
+The existing contents of the filesystem are undisturbed.
+.SH OPTIONS
+.TP
+.B \-t
+Specifies an alternate mount table file (default is
+.I /proc/mounts
+if it exists, else
+.IR /etc/mtab ).
+This is used when working with filesystems mounted without writing to
+.I /etc/mtab
+file - refer to
+.BR mount (8)
+for further details.
+This option has no effect with the
+.IR block-device " or " file-image
+parameters.
+.TP
+.B \-V
+Prints the version number and exits. The
+.I mount-point
+argument is not required with
+.BR \-V .
+.SH "EXAMPLES"
+
+Understanding xfs_info output.
+.PP
+Suppose one has the following "xfs_info /dev/sda" output:
+.PP
+.RS 2
+.Vb
+\&meta-data=/dev/pmem0 isize=512 agcount=8, agsize=5974144 blks
+\& = sectsz=512 attr=2, projid32bit=1
+\& = crc=1 finobt=1, sparse=1, rmapbt=1
+\& = reflink=1
+\&data = bsize=4096 blocks=47793152, imaxpct=25
+\& = sunit=32 swidth=128 blks
+\&naming =version 2 bsize=4096 ascii-ci=0, ftype=1
+\&log =internal log bsize=4096 blocks=23336, version=2
+\& = sectsz=512 sunit=0 blks, lazy-count=1
+\&realtime =none extsz=4096 blocks=0, rtextents=0
+.Ve
+.RE
+.PP
+
+Here, the data section of the output indicates "bsize=4096",
+meaning the data block size for this filesystem is 4096 bytes.
+This section also shows "sunit=32 swidth=128 blks", which means
+the stripe unit is 32*4096 bytes = 128 kibibytes and the stripe
+width is 128*4096 bytes = 512 kibibytes.
+A single stripe of this filesystem therefore consists
+of four stripe units (128 blocks / 32 blocks per unit).
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR md (4),
+.BR lvm (8),
+.BR mount (8).
diff --git a/upstream/fedora-40/man8/xfs_io.8 b/upstream/fedora-40/man8/xfs_io.8
new file mode 100644
index 00000000..ef7087b3
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_io.8
@@ -0,0 +1,1527 @@
+.TH xfs_io 8
+.SH NAME
+xfs_io \- debug the I/O path of an XFS filesystem
+.SH SYNOPSIS
+.B xfs_io
+[
+.B \-adfimrRstxT
+] [
+.B \-c
+.I cmd
+] ... [
+.B \-C
+.I cmd
+] ... [
+.B \-p
+.I prog
+]
+.I [ file ]
+.br
+.B xfs_io \-V
+.SH DESCRIPTION
+.B xfs_io
+is a debugging tool like
+.BR xfs_db (8),
+but is aimed at examining the regular file I/O paths rather than the
+raw XFS volume itself.
+These code paths include not only the obvious read/write/mmap interfaces
+for manipulating files, but also cover all of the XFS extensions (such
+as space preallocation, additional inode flags, etc).
+.SH OPTIONS
+.B xfs_io
+commands may be run interactively (the default) or as arguments on the
+command line.
+Interactive mode always runs commands on the current open file, whilst commands
+run from the command line may be repeated on all open files rather than just the current
+open file.
+In general, open file iteration will occur for commands that operate on file
+content or state. In contrast, commands that operate on filesystem or
+system-wide state will only be run on the current file regardless of how many
+files are currently open.
+Multiple arguments may be given on the command line and they are run in the
+sequence given. The program exits one all commands have
+been run.
+.TP 1.0i
+.BI \-c " cmd"
+Run the specified command on all currently open files.
+To maintain compatibility with historical usage, commands that can not be run on
+all open files will still be run but only execute once on the current open file.
+Multiple
+.B \-c
+arguments may be given and may be interleaved on the command line in any order
+with
+.B \-C
+commands.
+.TP
+.BI \-C " cmd"
+Run the specified command only on the current open file.
+Multiple
+.B \-C
+arguments may be given and may be interleaved on the command line in any order
+with
+.B \-c
+commands.
+.TP
+.BI \-p " prog"
+Set the program name for prompts and some error messages,
+the default value is
+.BR xfs_io .
+.TP
+.B \-f
+Create
+.I file
+if it does not already exist.
+.TP
+.B \-r
+Open
+.I file
+read-only, initially. This is required if
+.I file
+is immutable or append-only.
+.TP
+.B \-i
+Start an idle thread. The purpose of this idle thread is to test io
+from a multi threaded process. With single threaded process,
+the file table is not shared and file structs are not reference counted.
+Spawning an idle thread can help detecting file struct reference leaks.
+.TP
+.B \-x
+Expert mode. Dangerous commands are only available in this mode.
+These commands also tend to require additional privileges.
+.TP
+.B \-V
+Prints the version number and exits.
+.PP
+The other
+.BR open (2)
+options described below are also available from the command line.
+.SH CONCEPTS
+.B xfs_io
+maintains a number of open files and memory mappings.
+Files can be initially opened on the command line (optionally),
+and additional files can also be opened later.
+.PP
+.B xfs_io
+commands can be broken up into three groups.
+Some commands are aimed at doing regular file I/O - read, write,
+sync, space preallocation, etc.
+.PP
+The second set of commands exist for manipulating memory mapped regions
+of a file - mapping, accessing, storing, unmapping, flushing, etc.
+.PP
+The remaining commands are for the navigation and display of data
+structures relating to the open files, mappings, and the filesystems
+where they reside.
+.PP
+Many commands have extensive online help. Use the
+.B help
+command for more details on any command.
+.SH FILE I/O COMMANDS
+.TP
+.BI "file [ " N " ]"
+Display a list of all open files and (optionally) switch to an alternate
+current open file.
+.TP
+.BI "open [[ \-acdfrstRTPL ] " path " ]"
+Closes the current file, and opens the file specified by
+.I path
+instead. Without any arguments, displays statistics about the current
+file \- see the
+.B stat
+command.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-a
+opens append-only (O_APPEND).
+.TP
+.B \-d
+opens for direct I/O (O_DIRECT).
+.TP
+.B \-f
+creates the file if it doesn't already exist (O_CREAT).
+.TP
+.B \-r
+opens read-only (O_RDONLY).
+.TP
+.B \-s
+opens for synchronous I/O (O_SYNC).
+.TP
+.B \-t
+truncates on open (O_TRUNC).
+.TP
+.B \-n
+opens in non-blocking mode if possible (O_NONBLOCK).
+.TP
+.B \-T
+create a temporary file not linked into the filesystem namespace
+(O_TMPFILE). The pathname passed must refer to a directory which
+is treated as virtual parent for the newly created invisible file.
+Can not be used together with the
+.B \-r
+option.
+.TP
+.B \-R
+marks the file as a realtime XFS file after
+opening it, if it is not already marked as such.
+.TP
+.B \-P
+opens the path as a referent only (O_PATH). This is incompatible with other
+flags specifying other O_xxx flags apart from
+.BR \-L .
+.TP
+.B \-L
+doesn't follow symlinks (O_NOFOLLOW). This is incompatible with other
+flags specifying other O_xxx flags apart from
+.BR \-P .
+.PD
+.RE
+.TP
+.B o
+See the
+.B open
+command.
+.TP
+.B close
+Closes the current open file, marking the next open file as current
+(if one exists).
+.TP
+.B c
+See the
+.B close
+command.
+.TP
+.B chmod \-r | \-w
+Change the mode of the currently open file. The
+.B \-r
+option will set the file permissions to read-only (0444), whilst the
+.B \-w
+option will set the file permissions to read-write (0644). This allows xfs_io to
+set up mismatches between the file permissions and the open file descriptor
+read/write mode to exercise permission checks inside various syscalls.
+.TP
+.BI "pread [ \-b " bsize " ] [ \-qv ] [ \-FBR [ \-Z " seed " ] ] [ \-V " vectors " ] " "offset length"
+Reads a range of bytes in a specified blocksize from the given
+.IR offset .
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-b
+can be used to set the blocksize into which the
+.BR read (2)
+requests will be split. The default blocksize is 4096 bytes.
+.TP
+.B \-q
+quiet mode, do not write anything to standard output.
+.TP
+.B \-v
+dump the contents of the buffer after reading,
+by default only the count of bytes actually read is dumped.
+.TP
+.B \-F
+read the buffers in a forward sequential direction.
+.TP
+.B \-B
+read the buffers in a reverse sequential direction.
+.TP
+.B \-R
+read the buffers in the give range in a random order.
+.TP
+.B \-Z seed
+specify the random number seed used for random reads.
+.TP
+.B \-V vectors
+Use the vectored IO read syscall
+.BR preadv (2)
+with a number of blocksize length iovecs. The number of iovecs is set by the
+.I vectors
+parameter.
+.PD
+.RE
+.TP
+.B r
+See the
+.B pread
+command.
+.TP
+.BI "pwrite [ \-i " file " ] [ \-qdDwNOW ] [ \-s " skip " ] [ \-b " size " ] [ \-S " seed " ] [ \-FBR [ \-Z " zeed " ] ] [ \-V " vectors " ] " "offset length"
+Writes a range of bytes in a specified blocksize from the given
+.IR offset .
+The bytes written can be either a set pattern or read in from another
+file before writing.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-i
+allows an input
+.I file
+to be specified as the source of the data to be written.
+.TP
+.B \-q
+quiet mode, do not write anything to standard output.
+.TP
+.B \-d
+causes direct I/O, rather than the usual buffered
+I/O, to be used when reading the input file.
+.TP
+.B \-w
+call
+.BR fdatasync (2)
+once all writes are complete (included in timing results)
+.TP
+.B \-N
+Perform the
+.BR pwritev2 (2)
+call with
+.IR RWF_NOWAIT .
+.TP
+.B \-D
+Perform the
+.BR pwritev2 (2)
+call with
+.IR RWF_DSYNC .
+.TP
+.B \-O
+perform pwrite once and return the (maybe partial) bytes written.
+.TP
+.B \-W
+call
+.BR fsync (2)
+once all writes are complete (included in timing results)
+.TP
+.B \-s
+specifies the number of bytes to
+.I skip
+from the start of the input file before starting to read.
+.TP
+.B \-b
+used to set the blocksize into which the
+.BR write (2)
+requests will be split. The default blocksize is 4096 bytes.
+.TP
+.B \-S
+used to set the (repeated) fill pattern which
+is used when the data to write is not coming from a file.
+The default buffer fill pattern value is 0xcdcdcdcd.
+.TP
+.B \-F
+write the buffers in a forward sequential direction.
+.TP
+.B \-B
+write the buffers in a reverse sequential direction.
+.TP
+.B \-R
+write the buffers in the give range in a random order.
+.TP
+.B \-Z seed
+specify the random number seed used for random write
+.TP
+.B \-V vectors
+Use the vectored IO write syscall
+.BR pwritev (2)
+with a number of blocksize length iovecs. The number of iovecs is set by the
+.I vectors
+parameter.
+.RE
+.PD
+.TP
+.B w
+See the
+.B pwrite
+command.
+.TP
+.BI "bmap [ \-adelpv ] [ \-n " nx " ]"
+Prints the block mapping for the current open file. Refer to the
+.BR xfs_bmap (8)
+manual page for complete documentation.
+.TP
+.BI "fiemap [ \-alv ] [ \-n " nx " ] [ " offset " [ " len " ]]"
+Prints the block mapping for the current open file using the fiemap
+ioctl. Options behave as described in the
+.BR xfs_bmap (8)
+manual page.
+.PP
+.RS
+Optionally, this command also supports passing the start offset
+from where to begin the mapping and the length of that region.
+The kernel will return any full extents which intersect with the requested
+range, and the
+.B fiemap
+command will print them in their entirety. If the requested range starts
+or ends in a hole,
+.B fiemap
+will print the hole, truncated to the requested range.
+.RE
+.TP
+.BI "extsize [ \-R | \-D ] [ " value " ]"
+Display and/or modify the preferred extent size used when allocating
+space for the currently open file. If the
+.B \-R
+option is specified, a recursive descent is performed
+for all directory entries below the currently open file
+.RB ( \-D
+can be used to restrict the output to directories only).
+If the target file is a directory, then the inherited extent size
+is set for that directory (new files created in that directory
+inherit that extent size).
+The
+.I value
+should be specified in bytes, or using one of the usual units suffixes
+(k, m, g, b, etc). The extent size is always reported in units of bytes.
+.TP
+.BI "cowextsize [ \-R | \-D ] [ " value " ]"
+Display and/or modify the preferred copy-on-write extent size used
+when allocating space for the currently open file. If the
+.B \-R
+option is specified, a recursive descent is performed
+for all directory entries below the currently open file
+.RB ( \-D
+can be used to restrict the output to directories only).
+If the target file is a directory, then the inherited CoW extent size
+is set for that directory (new files created in that directory
+inherit that CoW extent size).
+The
+.I value
+should be specified in bytes, or using one of the usual units suffixes
+(k, m, g, b, etc). The extent size is always reported in units of bytes.
+.TP
+.BI "allocsp " size " 0"
+Sets the size of the file to
+.I size
+and zeroes any additional space allocated using the
+XFS_IOC_ALLOCSP/XFS_IOC_FREESP system call described in the
+.BR xfsctl (3)
+manual page.
+.B allocsp
+and
+.B freesp
+do exactly the same thing.
+
+These commands are no longer supported as of Linux 5.17.
+.TP
+.BI "freesp " size " 0"
+See the
+.B allocsp
+command.
+.TP
+.BI "fadvise [ \-r | \-s | [[ \-d | \-n | \-w ] " "offset length " ]]
+On platforms which support it, allows hints be given to the system
+regarding the expected I/O patterns on the file.
+The range arguments are required by some advise commands ([*] below), and
+the others must have no range arguments.
+With no arguments, the POSIX_FADV_NORMAL advice is implied (default readahead).
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-d
+the data will not be accessed again in the near future (POSIX_FADV_DONTNEED[*]).
+.TP
+.B \-n
+data will be accessed once and not be reused (POSIX_FADV_NOREUSE[*]).
+.TP
+.B \-r
+expect access to data in random order (POSIX_FADV_RANDOM), which sets readahead to zero.
+.TP
+.B \-s
+expect access to data in sequential order (POSIX_FADV_SEQUENTIAL),
+which doubles the default readahead on the file.
+.TP
+.B \-w
+advises the specified data will be needed again (POSIX_FADV_WILLNEED[*])
+which forces the maximum readahead.
+.RE
+.PD
+.TP
+.B fdatasync
+Calls
+.BR fdatasync (2)
+to flush the file's in-core data to disk.
+.TP
+.B fsync
+Calls
+.BR fsync (2)
+to flush all in-core file state to disk.
+.TP
+.B s
+See the
+.B fsync
+command.
+.TP
+.BI "sync_range [ \-a | \-b | \-w ] offset length "
+On platforms which support it, allows control of syncing a range of the file to
+disk. With no options, SYNC_FILE_RANGE_WRITE is implied on the range supplied.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-a
+wait for IO in the given range to finish after writing
+(SYNC_FILE_RANGE_WAIT_AFTER).
+.TP
+.B \-b
+wait for IO in the given range to finish before writing
+(SYNC_FILE_RANGE_WAIT_BEFORE).
+.TP
+.B \-w
+start writeback of dirty data in the given range (SYNC_FILE_RANGE_WRITE).
+.RE
+.PD
+.TP
+.B sync
+Calls
+.BR sync (2)
+to flush all filesystems' in-core data to disk.
+.TP
+.B syncfs
+Calls
+.BR syncfs (2)
+to flush this filesystem's in-core data to disk.
+.TP
+.BI resvsp " offset length"
+Allocates reserved, unwritten space for part of a file using the
+XFS_IOC_RESVSP system call described in the
+.BR xfsctl (3)
+manual page.
+.TP
+.BI unresvsp " offset length"
+Frees reserved space for part of a file using the XFS_IOC_UNRESVSP
+system call described in the
+.BR xfsctl (3)
+manual page.
+.TP
+.BI "falloc [ \-k ]" " offset length"
+Allocates reserved, unwritten space for part of a file using the
+fallocate routine as described in the
+.BR fallocate (2)
+manual page.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-k
+will set the FALLOC_FL_KEEP_SIZE flag as described in
+.BR fallocate (2).
+.PD
+.RE
+.TP
+.BI fcollapse " offset length"
+Call fallocate with FALLOC_FL_COLLAPSE_RANGE flag as described in the
+.BR fallocate (2)
+manual page to de-allocates blocks and eliminates the hole created in this process
+by shifting data blocks into the hole.
+.TP
+.BI finsert " offset length"
+Call fallocate with FALLOC_FL_INSERT_RANGE flag as described in the
+.BR fallocate (2)
+manual page to create the hole by shifting data blocks.
+.TP
+.BI fpunch " offset length"
+Punches (de-allocates) blocks in the file by calling fallocate with
+the FALLOC_FL_PUNCH_HOLE flag as described in the
+.BR fallocate (2)
+manual page.
+.TP
+.BI funshare " offset length"
+Call fallocate with FALLOC_FL_UNSHARE_RANGE flag as described in the
+.BR fallocate (2)
+manual page to unshare all shared blocks within the range.
+.TP
+.BI "fzero [ \-k ]" " offset length"
+Call fallocate with FALLOC_FL_ZERO_RANGE flag as described in the
+.BR fallocate (2)
+manual page to allocate and zero blocks within the range.
+With the
+.B -k
+option, use the FALLOC_FL_KEEP_SIZE flag as well.
+.TP
+.BI zero " offset length"
+Call xfsctl with
+.B XFS_IOC_ZERO_RANGE
+as described in the
+.BR xfsctl (3)
+manual page to allocate and zero blocks within the range.
+.TP
+.BI truncate " offset"
+Truncates the current file at the given offset using
+.BR ftruncate (2).
+.TP
+.BI "sendfile [ \-q ] \-i " srcfile " | \-f " N " [ " "offset length " ]
+On platforms which support it, allows a direct in-kernel copy between
+two file descriptors. The current open file is the target, the source
+must be specified as another open file
+.RB ( \-f )
+or by path
+.RB ( \-i ).
+.RS 1.0i
+.B \-q
+quiet mode, do not write anything to standard output.
+.RE
+.TP
+.BI "readdir [ -v ] [ -o " offset " ] [ -l " length " ] "
+Read a range of directory entries from a given offset of a directory.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-v
+verbose mode - dump dirent content as defined in
+.BR readdir (3)
+.TP
+.B \-o
+specify starting
+.I offset
+.TP
+.B \-l
+specify total
+.I length
+to read (in bytes)
+.RE
+.PD
+.TP
+.BI "seek \-a | \-d | \-h [ \-r ] [ \-s ] offset"
+On platforms that support the
+.BR lseek (2)
+.B SEEK_DATA
+and
+.B SEEK_HOLE
+options, display the offsets of the specified segments.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-a
+Display both
+.B data
+and
+.B hole
+segments starting at the specified
+.B offset.
+.TP
+.B \-d
+Display the
+.B data
+segment starting at the specified
+.B offset.
+.TP
+.B \-h
+Display the
+.B hole
+segment starting at the specified
+.B offset.
+.TP
+.B \-r
+Recursively display all the specified segments starting at the specified
+.B offset.
+.TP
+.B \-s
+Display the starting lseek(2) offset. This offset will be a calculated value when
+both data and holes are displayed together or performing a recusively display.
+.RE
+.PD
+.TP
+.BI "reflink [ \-C ] [ \-q ] src_file [src_offset dst_offset length]"
+On filesystems that support the
+.B FICLONERANGE
+or
+.B BTRFS_IOC_CLONE_RANGE
+ioctls, map
+.I length
+bytes at offset
+.I dst_offset
+in the open file to the same physical blocks that are mapped at offset
+.I src_offset
+in the file
+.I src_file
+, replacing any contents that may already have been there. If a program
+writes into a reflinked block range of either file, the dirty blocks will be
+cloned, written to, and remapped ("copy on write") in the affected file,
+leaving the other file(s) unchanged. If src_offset, dst_offset, and length
+are omitted, all contents of src_file will be reflinked into the open file.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-C
+Print timing statistics in a condensed format.
+.TP
+.B \-q
+Do not print timing statistics at all.
+.RE
+.PD
+.TP
+.BI "dedupe [ \-C ] [ \-q ] src_file src_offset dst_offset length"
+On filesystems that support the
+.B FIDEDUPERANGE
+or
+.B BTRFS_IOC_FILE_EXTENT_SAME
+ioctls, map
+.I length
+bytes at offset
+.I dst_offset
+in the open file to the same physical blocks that are mapped at offset
+.I src_offset
+in the file
+.I src_file
+, but only if the contents of both ranges are identical. This is known as
+block-based deduplication. If a program writes into a reflinked block range of
+either file, the dirty blocks will be cloned, written to, and remapped ("copy
+on write") in the affected file, leaving the other file(s) unchanged.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-C
+Print timing statistics in a condensed format.
+.TP
+.B \-q
+Do not print timing statistics at all.
+.RE
+.PD
+.TP
+.BI "copy_range [ -s " src_offset " ] [ -d " dst_offset " ] [ -l " length " ] src_file | \-f " N
+On filesystems that support the
+.BR copy_file_range (2)
+system call, copies data from the source file into the current open file.
+The source must be specified either by path
+.RB ( src_file )
+or as another open file
+.RB ( \-f ).
+If
+.I length
+is not specified, this command copies data from
+.I src_offset
+to the end of
+.BI src_file
+into the dst_file at
+.IR dst_offset .
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-s
+Copy data from
+.I src_file
+beginning from
+.IR src_offset .
+.TP
+.B \-d
+Copy data into the open file beginning at
+.IR dst_offset .
+.TP
+.B \-l
+Copy up to
+.I length
+bytes of data.
+.RE
+.PD
+.TP
+.BI swapext " donor_file "
+Swaps extent forks between files. The current open file is the target. The donor
+file is specified by path. Note that file data is not copied (file content moves
+with the fork(s)).
+.TP
+.BI "set_encpolicy [ \-c " mode " ] [ \-n " mode " ] [ \-f " flags " ] [ \-v " version " ] [ " keyspec " ]"
+On filesystems that support encryption, assign an encryption policy to the
+current file.
+.I keyspec
+is a hex string which specifies the encryption key to use. For v1 encryption
+policies,
+.I keyspec
+must be a 16-character hex string (8 bytes). For v2 policies,
+.I keyspec
+must be a 32-character hex string (16 bytes). If unspecified, an all-zeroes
+value is used.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.BI \-c " mode"
+contents encryption mode (e.g. AES-256-XTS)
+.TP
+.BI \-n " mode"
+filenames encryption mode (e.g. AES-256-CTS)
+.TP
+.BI \-f " flags"
+policy flags (numeric)
+.TP
+.BI \-v " version"
+policy version. Defaults to 1 or 2 depending on the length of
+.IR keyspec ;
+or to 1 if
+.I keyspec
+is unspecified.
+.RE
+.PD
+.TP
+.BI "get_encpolicy [ \-1 ] [ \-t ]"
+On filesystems that support encryption, display the encryption policy of the
+current file.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.BI \-1
+Use only the old ioctl to get the encryption policy. This only works if the
+file has a v1 encryption policy.
+.TP
+.BI \-t
+Test whether v2 encryption policies are supported. Prints "supported",
+"unsupported", or an error message.
+.RE
+.PD
+.TP
+.BI "add_enckey [ \-d " descriptor " ] [ \-k " key_id " ]"
+On filesystems that support encryption, add an encryption key to the filesystem
+containing the currently open file. By default, the raw key in binary
+(typically 64 bytes long) is read from standard input.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.BI \-d " descriptor"
+key descriptor, as a 16-character hex string (8 bytes). If given, the key will
+be available for use by v1 encryption policies that use this descriptor.
+Otherwise, the key is added as a v2 policy key, and on success the resulting
+"key identifier" will be printed.
+.TP
+.BI \-k " key_id"
+ID of kernel keyring key of type "fscrypt-provisioning". If given, the raw key
+will be taken from here rather than from standard input.
+.RE
+.PD
+.TP
+.BI "rm_enckey [ -a ] " keyspec
+On filesystems that support encryption, remove an encryption key from the
+filesystem containing the currently open file.
+.I keyspec
+is a hex string specifying the key to remove, as a 16-character "key descriptor"
+or a 32-character "key identifier".
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.BI \-a
+Remove the key for all users who have added it, not just the current user. This
+is a privileged operation.
+.RE
+.PD
+.TP
+.BI "enckey_status " keyspec
+On filesystems that support encryption, display the status of an encryption key.
+.I keyspec
+is a hex string specifying the key for which to display the status, as a
+16-character "key descriptor" or a 32-character "key identifier".
+.TP
+.BR lsattr " [ " \-R " | " \-D " | " \-a " | " \-v " ]"
+List extended inode flags on the currently open file. If the
+.B \-R
+option is specified, a recursive descent is performed
+for all directory entries below the currently open file
+.RB ( \-D
+can be used to restrict the output to directories only).
+This is a depth first descent, it does not follow symlinks and
+it also does not cross mount points.
+
+The current inode flag letters are documented below.
+Please refer to the
+.BR ioctl_xfs_fsgetxattr "(2)"
+documentation for more details about what they mean.
+
+.PD 0
+.RS
+.TP 0.5i
+.B r
+realtime file (XFS_XFLAG_REALTIME)
+
+.TP
+.B p
+prealloc (XFS_XFLAG_PREALLOC)
+
+.TP
+.B i
+immutable (XFS_XFLAG_IMMUTABLE)
+
+.TP
+.B a
+append only (XFS_XFLAG_APPEND)
+
+.TP
+.B s
+synchronous file writes (XFS_XFLAG_SYNC)
+
+.TP
+.B A
+noatime (XFS_XFLAG_NOATIME)
+
+.TP
+.B d
+nodump (XFS_XFLAG_NODUMP)
+
+.TP
+.B t
+inherit realtime flag (XFS_XFLAG_RTINHERIT)"
+
+.TP
+.B P
+inherit project id (XFS_XFLAG_PROJINHERIT)
+
+.TP
+.B n
+no symlink creation (XFS_XFLAG_NOSYMLINKS)
+
+.TP
+.B e
+extent size hint (XFS_XFLAG_EXTSIZE)
+
+.TP
+.B E
+inherit extent size hint (XFS_XFLAG_EXTSZINHERIT)
+
+.TP
+.B f
+nodefrag (XFS_XFLAG_NODEFRAG)
+
+.TP
+.B S
+filestream allocator (XFS_XFLAG_FILESTREAM)
+
+.TP
+.B x
+direct access persistent memory (XFS_XFLAG_DAX)
+
+.TP
+.B C
+copy on write extent hint (XFS_XFLAG_COWEXTSIZE)
+
+.TP
+.B X
+has extended attributes (XFS_XFLAG_HASATTR)
+.RE
+
+.TP
+.BR chattr " [ " \-R " | " \-D " ] [ " + / \-riasAdtPneEfSxC " ]"
+Change extended inode flags on the currently open file. The
+.B \-R
+and
+.B \-D
+options have the same meaning as above.
+
+See the
+.B lsattr
+command above for the list of inode flag letters.
+
+.TP
+.BI "flink " path
+Link the currently open file descriptor into the filesystem namespace.
+.TP
+.BR stat " [ " \-v "|" \-r " ]"
+Selected statistics from
+.BR stat (2)
+and the XFS_IOC_GETXATTR system call on the current file. If the
+.B \-v
+option is specified, the atime (last access), mtime
+(last modify), and ctime (last change) timestamps are also displayed. The
+.B \-r
+option dumps raw fields from the stat structure.
+.TP
+.BI "statx [ \-v|\-r ][ \-m " basic " | \-m " all " | -m " <mask> " ][ \-FD ]"
+Selected statistics from
+.BR stat (2)
+and the XFS_IOC_GETXATTR system call on the current file.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-v
+Show timestamps.
+.TP
+.B \-r
+Dump raw statx structure values.
+.TP
+.B \-m basic
+Set the field mask for the statx call to STATX_BASIC_STATS.
+.TP
+.B \-m all
+Set the the field mask for the statx call to STATX_ALL (default).
+.TP
+.B \-m <mask>
+Specify a numeric field mask for the statx call.
+.TP
+.B \-F
+Force the attributes to be synced with the server.
+.TP
+.B \-D
+Don't sync attributes with the server.
+.PD
+.RE
+.TP
+.BR chproj " [ " \-R | \-D " ]"
+Modifies the project identifier associated with the current path. The
+.B \-R
+option will recursively descend if the current path is a directory. The
+.B \-D
+option will also recursively descend, only setting modifying projects
+on subdirectories. See the
+.BR xfs_quota (8)
+manual page for more information about project identifiers.
+.TP
+.BR lsproj " [ " \-R | \-D " ]"
+Displays the project identifier associated with the current path. The
+.B \-R
+and
+.B \-D
+options behave as described above, in
+.B chproj.
+.TP
+.BR parent " [ " \-cpv " ]"
+By default this command prints out the parent inode numbers,
+inode generation numbers and basenames of all the hardlinks which
+point to the inode of the current file.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-p
+the output is similar to the default output except pathnames up to
+the mount-point are printed out instead of the component name.
+.TP
+.B \-c
+the file's filesystem will check all the parent attributes for consistency.
+.TP
+.B \-v
+verbose output will be printed.
+.RE
+.IP
+.B [NOTE: Not currently operational on Linux.]
+.RE
+.PD
+.TP
+.BI utimes " atime_sec atime_nsec mtime_sec mtime_nsec"
+The utimes command changes the atime and mtime of the current file.
+sec uses UNIX timestamp notation and is the seconds elapsed since
+1970-01-01 00:00:00 UTC.
+nsec is the nanoseconds since the sec. This value needs to be in
+the range 0-999999999 with UTIME_NOW and UTIME_OMIT being exceptions.
+Each (sec, nsec) pair constitutes a single timestamp value.
+
+
+.SH MEMORY MAPPED I/O COMMANDS
+.TP
+.BI "mmap [ " N " | [[ \-rwxS ] [\-s " size " ] " "offset length " ]]
+With no arguments,
+.B mmap
+shows the current mappings. Specifying a single numeric argument
+.I N
+sets the current mapping. If two arguments are specified (a range specified by
+.I offset
+and
+.IR length ),
+a new mapping is created spanning the range, and the protection mode can
+be given as a combination of PROT_READ
+.RB ( \-r ),
+PROT_WRITE
+.RB ( \-w ),
+and PROT_EXEC
+.RB ( \-x ).
+The mapping will be created with the MAP_SHARED flag by default, or with the
+Linux specific (MAP_SYNC | MAP_SHARED_VALIDATE) flags if
+.B -S
+is given.
+.BI \-s " size"
+is used to do a mmap(size) && munmap(size) operation at first, try to reserve some
+extendible free memory space, if
+.I size
+is bigger than
+.I length
+parameter. But there's not guarantee that the memory after
+.I length
+( up to
+.I size
+) will stay free.
+.B e.g.
+"mmap -rw -s 8192 1024" will mmap 0 ~ 1024 bytes memory, but try to reserve 1024 ~ 8192
+free space(no guarantee). This free space will helpful for "mremap 8192" without
+MREMAP_MAYMOVE flag.
+.TP
+.B mm
+See the
+.B mmap
+command.
+.TP
+.BI "mremap [ \-f <new_address> ] [ \-m ] " new_length
+Changes the current mapping size to
+.IR new_length .
+Whether the mapping may be moved is controlled by the flags passed;
+MREMAP_FIXED
+.RB ( \-f ),
+or MREMAP_MAYMOVE
+.RB ( \-m ).
+.IR new_length
+specifies a page-aligned address to which the mapping must be moved. It
+can be set to 139946004389888, 4096k or 1g etc.
+.TP
+.B mrm
+See the
+.B mremap
+command.
+.TP
+.B munmap
+Unmaps the current memory mapping.
+.TP
+.B mu
+See the
+.B munmap
+command.
+.TP
+.BI "mread [ \-f | \-v ] [ \-r ] [" " offset length " ]
+Accesses a segment of the current memory mapping, optionally dumping it to
+the standard output stream (with
+.B \-v
+or
+.B \-f
+option) for inspection. The accesses are performed sequentially from the start
+.I offset
+by default, but can also be done from the end backwards through the
+mapping if the
+.B \-r
+option in specified.
+The two verbose modes differ only in the relative offsets they display, the
+.B \-f
+option is relative to file start, whereas
+.B \-v
+shows offsets relative to the start of the mapping.
+.TP
+.B mr
+See the
+.B mread
+command.
+.TP
+.BI "mwrite [ \-r ] [ \-S " seed " ] [ " "offset length " ]
+Stores a byte into memory for a range within a mapping.
+The default stored value is 'X', repeated to fill the range specified,
+but this can be changed using the
+.B \-S
+option.
+The memory stores are performed sequentially from the start offset by default,
+but can also be done from the end backwards through the mapping if the
+.B \-r
+option in specified.
+.TP
+.B mw
+See the
+.B mwrite
+command.
+.TP
+.BI "msync [ \-i ] [ \-a | \-s ] [ " "offset length " ]
+Writes all modified copies of pages over the specified range (or entire
+mapping if no range specified) to their backing storage locations.
+Also, optionally invalidates
+.RB ( \-i )
+so that subsequent references to the pages will be obtained from their
+backing storage locations (instead of cached copies).
+The flush can be done synchronously
+.RB ( \-s)
+or asynchronously
+.RB ( \-a ).
+.TP
+.B ms
+See the
+.B msync
+command.
+.TP
+.BI "madvise [ \-d | \-r | \-s | \-w ] [ " "offset length " ]
+Modifies page cache behavior when operating on the current mapping.
+The range arguments are required by some advise commands ([*] below).
+With no arguments, the POSIX_MADV_NORMAL advice is implied (default readahead).
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-d
+the pages will not be needed (POSIX_MADV_DONTNEED[*]).
+.TP
+.B \-r
+expect random page references (POSIX_MADV_RANDOM), which sets readahead to zero.
+.TP
+.B \-s
+expect sequential page references (POSIX_MADV_SEQUENTIAL),
+which doubles the default readahead on the file.
+.TP
+.B \-w
+advises the specified pages will be needed again (POSIX_MADV_WILLNEED[*])
+which forces the maximum readahead.
+.RE
+.PD
+.TP
+.B mincore
+Dumps a list of pages or ranges of pages that are currently in core,
+for the current memory mapping.
+
+.SH FILESYSTEM COMMANDS
+.TP
+.BI "bulkstat [ \-a " agno " ] [ \-d ] [ \-e " endino " ] [ \-n " batchsize " ] [ \-q ] [ \-s " startino " ] [ \-v " version" ]
+Display raw stat information about a bunch of inodes in an XFS filesystem.
+Options are as follows:
+.RS 1.0i
+.PD 0
+.TP
+.BI \-a " agno"
+Display only results from the given allocation group.
+If not specified, all results returned will be displayed.
+.TP
+.BI \-d
+Print debugging information about call results.
+.TP
+.BI \-e " endino"
+Stop displaying records when this inode number is reached.
+Defaults to stopping when the system call stops returning results.
+.TP
+.BI \-n " batchsize"
+Retrieve at most this many records per call.
+Defaults to 4,096.
+.TP
+.BI \-q
+Run quietly.
+Does not parse or output retrieved bulkstat information.
+.TP
+.BI \-s " startino"
+Display inode allocation records starting with this inode.
+Defaults to the first inode in the filesystem.
+If the given inode is not allocated, results will begin with the next allocated
+inode in the filesystem.
+.TP
+.BI \-v " version"
+Use a particular version of the kernel interface.
+Currently supported versions are 1 and 5.
+.RE
+.PD
+.TP
+.BI "bulkstat_single [ \-d ] [ \-v " version " ] [ " inum... " | " special... " ]
+Display raw stat information about individual inodes in an XFS filesystem.
+The
+.B \-d
+and
+.B \-v
+options are the same as the
+.B bulkstat
+command.
+Arguments must be inode numbers or any of the special values:
+.RS 1.0i
+.PD 0
+.TP
+.B root
+Display information about the root directory inode.
+.RE
+.PD
+.TP
+.B freeze
+Suspend all write I/O requests to the filesystem of the current file.
+Only available in expert mode and requires privileges.
+.TP
+.B thaw
+Undo the effects of a filesystem freeze operation.
+Only available in expert mode and requires privileges.
+.TP
+.BI "inject [ " tag " ]"
+Inject errors into a filesystem to observe filesystem behavior at
+specific points under adverse conditions. Without the
+.I tag
+argument, displays the list of error tags available.
+Only available in expert mode and requires privileges.
+.TP
+.BI "resblks [ " blocks " ]"
+Get and/or set count of reserved filesystem blocks using the
+XFS_IOC_GET_RESBLKS or XFS_IOC_SET_RESBLKS system calls.
+Note \-\- this can be useful for exercising out of space behavior.
+Only available in expert mode and requires privileges.
+.TP
+.BR shutdown " [ " \-f " ]"
+Force the filesystem to shut down, preventing any further IO.
+XFS and other filesystems implement this functionality, although implementation
+details may differ slightly.
+Only available in expert mode and requires privileges.
+.PP
+.RS
+By default, the filesystem will not attempt to flush completed transactions to
+disk before shutting down the filesystem. This simulates a disk failure or
+crash.
+.RE
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-f
+Force the filesystem to flush all completed transactions to disk before shutting
+down, matching XFS behavior when critical corruption is encountered.
+.PD
+.RE
+.TP
+.B statfs [ -c ] [ -g ] [ -s ]
+Report selected statistics on the filesystem where the current file resides.
+The default behavior is to enable all three reporting options:
+.RS 1.0i
+.PD 0
+.TP
+.BI \-c
+Display
+.B XFS_IOC_FSCOUNTERS
+summary counter data.
+.TP
+.BI \-g
+Display
+.B XFS_IOC_FSGEOMETRY
+filesystem geometry data.
+.TP
+.BI \-s
+Display
+.BR statfs (2)
+data.
+.TP
+.RE
+.PD
+.TP
+.BI "inode [ [ -n ] " number " ] [ -v ]"
+The inode command queries physical information about an inode. With
+no arguments, it will return 1 or 0, indicating whether or not any
+inode numbers greater than 32 bits are currently in use in the filesystem.
+If given an inode
+.I number
+as an argument, the command will return the same inode
+.I number
+if it is in use, or 0 if not. With
+.BI \-n " number"
+, the next used inode number after this
+.I number
+will be returned, or zero if the supplied inode number is the highest one
+in use. With
+.B \-v
+the command will also report the number of bits (32 or 64) used by the
+inode
+.I number
+printed in the result; if no inode
+.I number
+was specified on the command line, the maximum possible inode number in
+the system will be printed along with its size.
+.PD
+.TP
+.BI "inumbers [ \-a " agno " ] [ \-d ] [ \-e " endino " ] [ \-n " batchsize " ] [ \-s " startino " ] [ \-v " version " ]
+Prints allocation information about groups of inodes in an XFS filesystem.
+Callers can use this information to figure out which inodes are allocated.
+Options are as follows:
+.RS 1.0i
+.PD 0
+.TP
+.BI \-a " agno"
+Display only results from the given allocation group.
+If not specified, all results returned will be displayed.
+.TP
+.BI \-d
+Print debugging information about call results.
+.TP
+.BI \-e " endino"
+Stop displaying records when this inode number is reached.
+Defaults to stopping when the system call stops returning results.
+.TP
+.BI \-n " batchsize"
+Retrieve at most this many records per call.
+Defaults to 4,096.
+.TP
+.BI \-s " startino"
+Display inode allocation records starting with this inode.
+Defaults to the first inode in the filesystem.
+If the given inode is not allocated, results will begin with the next allocated
+inode in the filesystem.
+.TP
+.BI \-v " version"
+Use a particular version of the kernel interface.
+Currently supported versions are 1 and 5.
+.RE
+.PD
+.TP
+.BI "scrub " type " [ " agnumber " | " "ino" " " "gen" " ]"
+Scrub internal XFS filesystem metadata. The
+.BI type
+parameter specifies which type of metadata to scrub.
+For AG metadata, one AG number must be specified.
+For file metadata, the scrub is applied to the open file unless the
+inode number and generation number are specified.
+.RE
+.PD
+.TP
+.BI "repair " type " [ " agnumber " | " "ino" " " "gen" " ]"
+Repair internal XFS filesystem metadata. The
+.BI type
+parameter specifies which type of metadata to repair.
+For AG metadata, one AG number must be specified.
+For file metadata, the repair is applied to the open file unless the
+inode number and generation number are specified.
+.TP
+.BI "label" " " "[ -c | -s " label " ] "
+On filesystems that support online label manipulation, get, set, or clear the
+filesystem label. With no options, print the current filesystem label. The
+.B \-c
+option clears the filesystem label by setting it to the null string. The
+.BI "\-s " label
+option sets the filesystem label to
+.IR label .
+If the label is longer than the filesystem will accept,
+.B xfs_io
+will print an error message. XFS filesystem labels can be at most 12
+characters long.
+.TP
+.BI "fsmap [ \-d | \-l | \-r ] [ \-m | \-v ] [ \-n " nx " ] [ " start " ] [ " end " ]
+Prints the mapping of disk blocks used by the filesystem hosting the current
+file. The map lists each extent used by files, allocation group metadata,
+journalling logs, and static filesystem metadata, as well as any
+regions that are unused.
+Each line of the listings takes the following form:
+.PP
+.RS
+.IR extent ": " major ":" minor " [" startblock .. endblock "]: " owner " " startoffset .. endoffset " " length
+.PP
+Static filesystem metadata, allocation group metadata, btrees,
+journalling logs, and free space are marked by replacing the
+.IR startoffset .. endoffset
+with the appropriate marker.
+All blocks, offsets, and lengths are specified in units of 512-byte
+blocks, no matter what the filesystem's block size is.
+The optional
+.I start
+and
+.I end
+arguments can be used to constrain the output to a particular range of
+disk blocks.
+If these two options are specified, exactly one of
+.BR "-d" ", " "-l" ", or " "-r"
+must also be set.
+.RE
+.RS 1.0i
+.PD 0
+.TP
+.BI \-d
+Display only extents from the data device.
+This option only applies for XFS filesystems.
+.TP
+.BI \-l
+Display only extents from the external log device.
+This option only applies to XFS filesystems.
+.TP
+.BI \-r
+Display only extents from the realtime device.
+This option only applies to XFS filesystems.
+.TP
+.BI \-m
+Display results in a machine readable format (CSV).
+This option is not compatible with the
+.B \-v
+flag.
+The columns of the output are: extent number, device major, device minor,
+physical start, physical end, owner, offset start, offset end, length.
+The start, end, and length numbers are provided in units of 512b.
+The owner field is a special string that takes the form:
+
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.I inode_%lld_data
+for inode data.
+.TP
+.I inode_%lld_data_bmbt
+for inode data extent maps.
+.TP
+.I inode_%lld_attr
+for inode extended attribute data.
+.TP
+.I inode_%lld_attr_bmbt
+for inode extended attribute extent maps.
+.TP
+.I special_%u:%u
+for other filesystem metadata.
+.PD
+.RE
+
+.TP
+.BI \-n " num_extents"
+If this option is given,
+.B fsmap
+obtains the extent list of the file in groups of
+.I num_extents
+extents.
+In the absence of
+.BR "-n" ", " "fsmap"
+queries the system for extents in groups of 131,072 records.
+.TP
+.B \-v
+Shows verbose information.
+When this flag is specified, additional AG specific information is
+appended to each line in the following form:
+.IP
+.RS 1.2i
+.IR agno " (" startagblock .. endagblock ") " nblocks " " flags
+.RE
+.IP
+A second
+.B \-v
+option will print out the
+.I flags
+legend.
+This option is not compatible with the
+.B \-m
+flag.
+.RE
+.PD
+.TP
+.B fsuuid
+Print the mounted filesystem UUID.
+
+
+.SH OTHER COMMANDS
+.TP
+.BR "help [ " command " ]"
+Display a brief description of one or all commands.
+.TP
+.B print
+Display a list of all open files and memory mapped regions.
+The current file and current mapping are distinguishable from
+any others.
+.TP
+.B p
+See the
+.B print
+command.
+.TP
+.B quit
+Exit
+.BR xfs_io .
+.TP
+.B q
+See the
+.B quit
+command.
+.TP
+.BI "log_writes \-d " device " \-m " mark
+Create a mark named
+.I mark
+in the dm-log-writes log specified by
+.I device.
+This is intended to be equivalent to the shell command:
+
+.B dmsetup message
+.I device
+.B 0 mark
+.I mark
+.PD
+.RE
+.TP
+.B lw
+See the
+.B log_writes
+command.
+.TP
+.B crc32cselftest
+Test the internal crc32c implementation to make sure that it computes results
+correctly.
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR xfsctl (3),
+.BR xfs_bmap (8),
+.BR xfs_db (8),
+.BR xfs (5),
+.BR fdatasync (2),
+.BR fstat (2),
+.BR fstatfs (2),
+.BR fsync (2),
+.BR ftruncate (2),
+.BR futimens (3),
+.BR mmap (2),
+.BR msync (2),
+.BR open (2),
+.BR pread (2),
+.BR pwrite (2),
+.BR readdir (3),
+.BR dmsetup (8).
diff --git a/upstream/fedora-40/man8/xfs_logprint.8 b/upstream/fedora-40/man8/xfs_logprint.8
new file mode 100644
index 00000000..16e881ee
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_logprint.8
@@ -0,0 +1,108 @@
+.TH xfs_logprint 8
+.SH NAME
+xfs_logprint \- print the log of an XFS filesystem
+.SH SYNOPSIS
+.B xfs_logprint
+[
+.I options
+]
+.I device
+.SH DESCRIPTION
+.B xfs_logprint
+prints the log of an XFS filesystem (see
+.BR xfs (5)).
+The
+.I device
+argument is the pathname of the partition or logical volume
+containing the filesystem. The
+.I device
+can be a regular file if the
+.B \-f
+option is used. The contents of the filesystem remain undisturbed.
+There are two major modes of operation in
+.BR xfs_logprint .
+.PP
+One mode is better for filesystem operation debugging.
+It is called the transactional view and is enabled through the
+.B \-t
+option. The transactional view prints only the portion of the log that
+pertains to recovery. In other words, it prints out complete transactions
+between the tail and the head. This view tries to display each transaction
+without regard to how they are split across log records.
+.PP
+The second mode starts printing out information from the beginning of the log.
+Some error blocks might print out in the beginning because the last log
+record usually overlaps the oldest log record. A message is
+printed when the physical end of the log is reached and when the
+logical end of the log is reached. A log record view is displayed
+one record at a time. Transactions that span log records may not be
+decoded fully.
+.SH OPTIONS
+.TP
+.B \-b
+Extract and print buffer information. Only used in transactional view.
+.TP
+.B \-c
+Attempt to continue when an error is detected.
+.TP
+.BI \-C " filename"
+Copy the log from the filesystem to the file
+.IR filename .
+The log itself is not printed.
+.TP
+.B \-d
+Dump the log from front to end, printing where each log record is located
+on disk.
+.TP
+.B \-D
+Do not decode anything; just print data.
+.TP
+.B \-e
+Exit when an error is found in the log. Normally,
+.B xfs_logprint
+tries to continue and unwind from bad logs.
+However, sometimes it just dies in bad ways.
+Using this option prevents core dumps.
+.TP
+.B \-f
+Specifies that the filesystem image to be processed is stored in a
+regular file at
+.I device
+(see the
+.BR mkfs.xfs "(8) " -d
+.I file
+option).
+This might happen if an image copy of a filesystem has been made into
+an ordinary file with
+.BR xfs_copy (8).
+.TP
+.BI \-l " logdev"
+External log device. Only for those filesystems which use an external log.
+.TP
+.B \-i
+Extract and print inode information. Only used in transactional view.
+.TP
+.B \-q
+Extract and print quota information. Only used in transactional view.
+.TP
+.B \-n
+Do not try and interpret log data; just interpret log header information.
+.TP
+.B \-o
+Also print buffer data in hex.
+Normally, buffer data is just decoded, so better information can be printed.
+.TP
+.BI \-s " start-block"
+Override any notion of where to start printing.
+.TP
+.B \-t
+Print out the transactional view.
+.TP
+.B \-v
+Print "overwrite" data.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR mount (8).
diff --git a/upstream/fedora-40/man8/xfs_mdrestore.8 b/upstream/fedora-40/man8/xfs_mdrestore.8
new file mode 100644
index 00000000..72f3b297
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_mdrestore.8
@@ -0,0 +1,64 @@
+.TH xfs_mdrestore 8
+.SH NAME
+xfs_mdrestore \- restores an XFS metadump image to a filesystem image
+.SH SYNOPSIS
+.B xfs_mdrestore
+[
+.B \-gi
+]
+.I source
+.I target
+.br
+.B xfs_mdrestore
+.B \-i
+.I source
+.br
+.B xfs_mdrestore \-V
+.SH DESCRIPTION
+.B xfs_mdrestore
+is a debugging tool that restores a metadata image generated by
+.BR xfs_metadump (8)
+to a filesystem. The
+.I source
+argument specifies the location of the metadump image and the
+.I target
+argument specifies the destination for the filesystem image.
+If the
+.I source
+is \-, then the metadata image is read from stdin. This allows the output of
+be another program such as a compression application to be redirected to
+.BR xfs_mdrestore .
+The
+.I target
+can be either a file or a device.
+.PP
+.B xfs_mdrestore
+should not be used to restore metadata onto an existing filesystem unless
+you are completely certain the
+.I target
+can be destroyed.
+.PP
+.SH OPTIONS
+.TP
+.B \-g
+Shows restore progress on stdout.
+.TP
+.B \-i
+Shows metadump information on stdout. If no
+.I target
+is specified, exits after displaying information. Older metadumps man not
+include any descriptive information.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH DIAGNOSTICS
+.B xfs_mdrestore
+returns an exit code of 0 if all the metadata is successfully restored or
+1 if an error occurs.
+.SH SEE ALSO
+.BR xfs_metadump (8),
+.BR xfs_repair (8),
+.BR xfs (5)
+.SH BUGS
+Email bug reports to
+.BR linux-xfs@vger.kernel.org .
diff --git a/upstream/fedora-40/man8/xfs_metadump.8 b/upstream/fedora-40/man8/xfs_metadump.8
new file mode 100644
index 00000000..c0e79d77
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_metadump.8
@@ -0,0 +1,172 @@
+.TH xfs_metadump 8
+.SH NAME
+xfs_metadump \- copy XFS filesystem metadata to a file
+.SH SYNOPSIS
+.B xfs_metadump
+[
+.B \-aefFgow
+] [
+.B \-m
+.I max_extents
+] [
+.B \-l
+.I logdev
+]
+.I source
+.I target
+.br
+.B xfs_metadump \-V
+.SH DESCRIPTION
+.B xfs_metadump
+is a debugging tool that copies the metadata from an XFS filesystem to a file.
+The
+.I source
+argument must be the pathname of the device or file
+containing the XFS filesystem and the
+.I target
+argument specifies the destination file name.
+If
+.I target
+is \-, then the output is sent to stdout. This allows the output to be
+redirected to another program such as a compression application.
+.PP
+.B xfs_metadump
+may only be used to copy unmounted filesystems, or read-only mounted
+filesystems.
+.PP
+.B xfs_metadump
+does not alter the source filesystem in any way. The
+.I target
+image is a contiguous (non-sparse) file containing all the
+filesystem's metadata and indexes to where the blocks were copied from.
+.PP
+By default,
+.B xfs_metadump
+obfuscates most file (regular file, directory and symbolic link) names
+and extended attribute names to allow the dumps to be sent without
+revealing confidential information. Extended attribute values are zeroed
+and no data is copied. The only exceptions are file or attribute names
+that are 4 or less characters in length. Also file names that span extents
+(this can only occur with the
+.BR mkfs.xfs (8)
+options where
+.B \-n
+.I size
+>
+.B \-b
+.IR size )
+are not obfuscated. Names between 5 and 8 characters in length inclusively
+are partially obfuscated.
+.PP
+.B xfs_metadump
+cannot obfuscate metadata in the filesystem log. Log
+recovery of an obfuscated metadump image may expose clear-text
+metadata and/or cause filesystem corruption in the restored image.
+It is recommended that the source filesystem first be mounted and
+unmounted, if possible, to ensure that the log is clean.
+A subsequent invocation of
+.B xfs_metadump
+will capture a clean log and obfuscate all metadata correctly.
+.PP
+If a metadump must be produced from a filesystem with a dirty log,
+it is recommended that obfuscation be turned off with -o option, if
+metadata such as filenames is not considered sensitive. If obfuscation
+is required on a metadump with a dirty log, please inform the recipient
+of the metadump image about this situation.
+.PP
+.B xfs_metadump
+should not be used for any purposes other than for debugging and reporting
+filesystem problems. The most common usage scenario for this tool is when
+.BR xfs_repair (8)
+fails to repair a filesystem and a metadump image can be sent for
+analysis.
+.PP
+The file generated by
+.B xfs_metadump
+can be restored to filesystem image (minus the data) using the
+.BR xfs_mdrestore (8)
+tool.
+.PP
+.SH OPTIONS
+.TP
+.B \-a
+Copies entire metadata blocks. Normally,
+.B xfs_metadump
+will zero any stale
+bytes interspersed with in-use metadata. Use this option to copy full metadata
+blocks, to provide more debugging information for a corrupted filesystem. Note
+that the extra data will be unobfuscated.
+.TP
+.B \-e
+Stops the dump on a read error. Normally, it will ignore read errors and copy
+all the metadata that is accessible.
+.TP
+.B \-f
+Specifies that the filesystem image to be processed is stored in a regular file
+(see the
+.B mkfs.xfs -d
+file option). This can also happen if an image copy of a filesystem has
+been made into an ordinary file with
+.BR xfs_copy (8).
+.TP
+.B \-F
+Specifies that we want to continue even if the superblock magic is not correct.
+If the source is truly not an XFS filesystem, the resulting image will be useless,
+and xfs_metadump may crash.
+.TP
+.B \-g
+Shows dump progress. This is sent to stdout if the
+.I target
+is a file or to stderr if the
+.I target
+is stdout.
+.TP
+.BI \-l " logdev"
+For filesystems which use an external log, this specifies the device where the
+external log resides. The external log is not copied, only internal logs are
+copied.
+.TP
+.B \-m
+Set the maximum size of an allowed metadata extent. Extremely large metadata
+extents are likely to be corrupt, and will be skipped if they exceed
+this value. The default size is 2097151 blocks.
+.TP
+.B \-o
+Disables obfuscation of file names and extended attributes.
+.TP
+.B \-w
+Prints warnings of inconsistent metadata encountered to stderr. Bad metadata
+is still copied.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH DIAGNOSTICS
+.B xfs_metadump
+returns an exit code of 0 if all readable metadata is successfully copied or
+1 if a write error occurs or a read error occurs and the
+.B \-e
+option used.
+.SH NOTES
+As
+.B xfs_metadump
+copies metadata only, it does not matter if the
+.I source
+filesystem has a realtime section or not. If the filesystem has an external
+log, it is not copied. Internal logs are copied and any outstanding log
+transactions are not obfuscated if they contain names.
+.PP
+.B xfs_metadump
+is a shell wrapper around the
+.BR xfs_db (8)
+.B metadump
+command.
+.SH SEE ALSO
+.BR xfs_repair (8),
+.BR xfs_mdrestore (8),
+.BR xfs_freeze (8),
+.BR xfs_db (8),
+.BR xfs_copy (8),
+.BR xfs (5)
+.SH BUGS
+Email bug reports to
+.BR linux-xfs@vger.kernel.org .
diff --git a/upstream/fedora-40/man8/xfs_mkfile.8 b/upstream/fedora-40/man8/xfs_mkfile.8
new file mode 100644
index 00000000..abaa4e60
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_mkfile.8
@@ -0,0 +1,43 @@
+.TH xfs_mkfile 8
+.SH NAME
+xfs_mkfile \- create an XFS file
+.SH SYNOPSIS
+.B xfs_mkfile
+[
+.B \-v
+] [
+.B \-n
+] [
+.B \-p
+]
+.I size\c
+.RB [ k | b | m | g ]
+.IR filename " ..."
+.br
+.B xfs_mkfile \-V
+.SH DESCRIPTION
+.B xfs_mkfile
+creates one or more files. The file is padded with zeroes by default.
+The default size is in bytes, but it can be
+flagged as kilobytes, blocks, megabytes, or gigabytes with the
+.BR k ,
+.BR b ,
+.BR m ,
+or
+.B g
+suffixes, respectively.
+.SH OPTIONS
+.TP
+.B \-v
+Verbose. Report the names and sizes of created files.
+.TP
+.B \-n
+No bytes. Create a holey file - that is, do not write out any data, just
+seek to end of file and write a block.
+.TP
+.B \-p
+Preallocate. The file is preallocated, then overwritten with zeroes,
+then truncated to the desired size.
+.TP
+.B \-V
+Prints the version number and exits.
diff --git a/upstream/fedora-40/man8/xfs_ncheck.8 b/upstream/fedora-40/man8/xfs_ncheck.8
new file mode 100644
index 00000000..5ae72b25
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_ncheck.8
@@ -0,0 +1,74 @@
+.TH xfs_ncheck 8
+.SH NAME
+xfs_ncheck \- generate pathnames from i-numbers for XFS
+.SH SYNOPSIS
+.B xfs_ncheck
+[
+.B \-i
+.I ino
+] ... [
+.B \-f
+] [
+.B \-s
+] [
+.B \-l
+.I logdev
+]
+.I device
+.br
+.B xfs_ncheck \-V
+.SH DESCRIPTION
+.B xfs_ncheck
+with no
+.B \-i
+arguments generates an inode number and pathname list of all
+files on the given filesystem. Names of directory files are followed by
+.BR /. .
+The output is not sorted in any particular order.
+The filesystem to be examined is specified by the
+.I device
+argument, which should be the disk or volume device for the filesystem.
+Filesystems stored in files can also be checked, using the
+.B \-f
+flag.
+.SH OPTIONS
+.TP 0.9i
+.B \-f
+Specifies that the filesystem image to be processed is stored in a
+regular file at
+.I device
+(see the
+.B mkfs.xfs \-d
+.I \f2file\f1
+option). This might happen if an image copy
+of a filesystem has been made into an ordinary file.
+.TP
+.BI \-l " logdev"
+Specifies the device where the filesystem's external log resides.
+Only for those filesystems which use an external log. See the
+.B mkfs.xfs \-l
+option, and refer to
+.BR xfs (5)
+for a detailed description of the XFS log.
+.TP
+.B \-s
+Limits the report to special files and files with setuserid mode.
+This option may be used to detect violations of security policy.
+.TP
+.BI \-i " ino"
+Limits the report to only those files whose inode numbers follow.
+May be given multiple times to select multiple inode numbers.
+.TP
+.B \-V
+Prints the version number and exits.
+.PP
+If the filesystem is seriously corrupted, or very busy and looks
+like it is corrupt, a message of the form that would be generated by the
+.BR xfs_db (8)
+"check" command may appear.
+.PP
+.B xfs_ncheck
+is only useful with XFS filesystems.
+.SH SEE ALSO
+.BR mkfs.xfs (8),
+.BR xfs (5).
diff --git a/upstream/fedora-40/man8/xfs_quota.8 b/upstream/fedora-40/man8/xfs_quota.8
new file mode 100644
index 00000000..840bc598
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_quota.8
@@ -0,0 +1,779 @@
+.TH xfs_quota 8
+.SH NAME
+xfs_quota \- manage use of quota on XFS filesystems
+.SH SYNOPSIS
+.B xfs_quota
+[
+.B \-x
+] [
+.B \-f
+] [
+.B \-p
+.I prog
+] [
+.B \-c
+.I cmd
+] ... [
+.B \-d
+.I project
+] ... [
+.B \-D
+.I projects_file
+] [
+.B \-P
+.I projid_file
+] [
+.IR path " ... ]"
+.br
+.B xfs_quota \-V
+.SH DESCRIPTION
+.B xfs_quota
+is a utility for reporting and editing various aspects of filesystem quota.
+.PP
+The options to
+.B xfs_quota
+are:
+.TP 1.0i
+.BI \-c " cmd"
+.B xfs_quota
+commands may be run interactively (the default) or as arguments on
+the command line. Multiple
+.B \-c
+arguments may be given.
+The commands are run in the sequence given, then the program exits.
+.TP
+.BI \-p " prog"
+Set the program name for prompts and some error messages,
+the default value is
+.BR xfs_quota .
+.TP
+.B \-x
+Enable expert mode.
+All of the administrative commands (see the ADMINISTRATOR COMMANDS
+section below) which allow modifications to the quota system are
+available only in expert mode.
+.TP
+.B \-f
+Enable foreign filesystem mode.
+A limited number of user and administrative commands are available for
+use on some foreign (non-XFS) filesystems.
+.TP
+.BI \-d " project"
+Project names or numeric identifiers may be specified with this option,
+which restricts the output of the individual
+.B xfs_quota
+commands to the set of projects specified. Multiple
+.B \-d
+arguments may be given.
+.TP
+.BI \-D " projects_file"
+Specify a file containing the mapping of numeric project identifiers
+to directory trees.
+.I /etc/projects
+as default, if this option is none.
+.TP
+.BI \-P " projid_file"
+Specify a file containing the mapping of numeric project identifiers
+to project names.
+.I /etc/projid
+as default, if this option is none.
+.TP
+.B \-V
+Prints the version number and exits.
+.PP
+The optional
+.I path
+argument(s) can be used to specify mount points or device files
+which identify XFS filesystems. The output of the individual
+.B xfs_quota
+commands will then be restricted to the set of filesystems specified.
+.PP
+This manual page is divided into two sections \- firstly,
+information for users of filesystems with quota enabled, and the
+.B xfs_quota
+commands of interest to such users; and then information which is
+useful only to administrators of XFS filesystems using quota and the
+quota commands which allow modifications to the quota system.
+.PP
+Note that common to almost all of the individual commands described
+below are the options for specifying which quota types are of interest
+\- user quota
+.RB ( \-u ),
+group quota
+.RB ( \-g ),
+and/or project quota
+.RB ( \-p ).
+Also, several commands provide options to operate on "blocks used"
+.RB ( \-b ),
+"inodes used"
+.RB ( \-i ),
+and/or "realtime blocks used"
+.RB ( \-r ).
+.PP
+Many commands also have extensive online help. Use the
+.B help
+command for more details on any command.
+.SH QUOTA OVERVIEW
+.PP
+In most computing environments, disk space is not infinite.
+The quota subsystem provides a mechanism to control usage of disk space.
+Quotas can be set for each individual user on any/all of the local
+filesystems.
+The quota subsystem warns users when they exceed their allotted limit,
+but allows some extra space for current work (hard limit/soft limit).
+In addition, XFS filesystems with limit enforcement turned off can be
+used as an effective disk usage accounting system.
+.SS Users' View of Disk Quotas
+To most users, disk quotas are either of no concern or a fact of life
+that cannot be avoided.
+There are two possible quotas that can be imposed \- a limit can be set
+on the amount of space a user can occupy, and there may be a limit on
+the number of files (inodes) they can own.
+.PP
+The
+.B quota
+command provides information on the quotas that have been
+set by the system administrators and current usage.
+.PP
+There are four numbers for each limit: current usage, soft limit
+(quota), hard limit, and time limit.
+The soft limit is the number of 1K-blocks (or files) that the user is
+expected to remain below.
+The hard limit cannot be exceeded.
+If a user's usage reaches the hard limit, further requests for space
+(or attempts to create a file) fail with the "Quota exceeded" (EDQUOT)
+error.
+.PP
+When a user exceeds the soft limit, the timer is enabled.
+Any time the quota drops below the soft limits, the timer is disabled.
+If the timer pops, the particular limit that has been exceeded is treated
+as if the hard limit has been reached, and no more resources are allocated
+to the user.
+The only way to reset this condition, short of turning off limit
+enforcement or increasing the limit, is to reduce usage below quota.
+Only the superuser (i.e. a sufficiently capable process) can set the
+time limits and this is done on a per filesystem basis.
+.SS Surviving When the Quota Limit Is Reached
+In most cases, the only way for a user to recover from over-quota
+conditions is to abort whatever activity is in progress on the filesystem
+that has reached its limit, remove sufficient files to bring the limit
+back below quota, and retry the failed program.
+.br
+However, if a user is in the editor and a write fails because of an over
+quota situation, that is not a suitable course of action.
+It is most likely that initially attempting to write the file has truncated
+its previous contents, so if the editor is aborted without correctly writing
+the file, not only are the recent changes lost, but possibly much, or even
+all, of the contents that previously existed.
+.br
+There are several possible safe exits for a user caught in this situation.
+They can use the editor shell escape command to examine their file space
+and remove surplus files. Alternatively, using
+.BR sh (1),
+they can suspend
+the editor, remove some files, then resume it.
+A third possibility is to write the file to some other filesystem (perhaps
+to a file on
+.IR /tmp )
+where the user's quota has not been exceeded.
+Then after rectifying the quota situation, the file can be moved back to the
+filesystem it belongs on.
+.SS Default Quotas
+The XFS quota subsystem allows a default quota to be enforced
+for any user, group or project which does not have a quota limit
+explicitly set.
+These limits are stored in and displayed as ID 0's limits, although they
+do not actually limit ID 0.
+.SH USER COMMANDS
+.TP
+.B print
+Lists all paths with devices/project identifiers.
+The path list can come from several places \- the command line,
+the mount table, and the
+.I /etc/projects
+file.
+.TP
+.B df
+See the
+.B free
+command.
+.HP
+.B quota
+[
+.BR \-g " | " \-p " | " \-u
+] [
+.B \-bir
+] [
+.B \-hnNv
+] [
+.B \-f
+.I file
+] [
+.I ID
+|
+.I name
+] ...
+.br
+Show individual usage and limits, for a single user
+.I name
+or numeric user
+.IR ID .
+The
+.B \-h
+option reports in a "human-readable" format similar to the
+.BR df (1)
+command. The
+.B \-n
+option reports the numeric IDs rather than the name. The
+.B \-N
+option omits the header. The
+.B \-v
+option outputs verbose information. The
+.B \-f
+option sends the output to
+.I file
+instead of stdout.
+.HP
+.B free
+[
+.B \-bir
+] [
+.B \-hN
+] [
+.B \-f
+.I file
+]
+.br
+Reports filesystem usage, much like the
+.BR df (1)
+utility.
+It can show usage for
+.BR b locks,
+.BR i node,
+and/or
+.BR r ealtime
+block space, and shows used, free, and total available.
+If project quota are in use (see the DIRECTORY TREE QUOTA section below),
+it will also report utilisation for those projects (directory trees). The
+.B \-h
+option reports in a "human-readable" format. The
+.B \-N
+option omits the header. The
+.B \-f
+option outputs the report to
+.I file
+instead of stdout.
+.HP
+.B help
+[
+.I command
+]
+.br
+Online help for all commands, or one specific
+.IR command .
+.TP
+.B quit
+Exit
+.BR xfs_quota .
+.TP
+.B q
+See the
+.B quit
+command.
+.SH QUOTA ADMINISTRATION
+The XFS quota system differs to that of other filesystems
+in a number of ways.
+Most importantly, XFS considers quota information as
+filesystem metadata and uses journaling to provide a higher level
+guarantee of consistency.
+As such, it is administered differently, in particular:
+.IP 1.
+The
+.B quotacheck
+command has no effect on XFS filesystems.
+The first time quota accounting is turned on (at mount time), XFS does
+an automatic quotacheck internally; afterwards, the quota system will
+always be completely consistent until quotas are manually turned off.
+.IP 2.
+There is no need for quota file(s) in the root of the XFS filesystem.
+.IP 3.
+XFS distinguishes between quota accounting and limit enforcement.
+Quota accounting must be turned on at the time of mounting the XFS
+filesystem.
+However, it is possible to turn on/off limit enforcement any time
+quota accounting is turned on.
+The "quota" option to the
+.B mount
+command turns on both (user) quota accounting and enforcement.
+The "uqnoenforce" option must be used to turn on user accounting with
+limit enforcement disabled.
+.IP 4.
+Turning on quotas on the root filesystem is slightly different from
+the above.
+For Linux XFS, the quota mount flags must be passed in with the
+"rootflags=" boot parameter.
+.IP 5.
+It is useful to use the
+.B state
+to monitor the XFS quota subsystem
+at various stages \- it can be used to see if quotas are turned on,
+and also to monitor the space occupied by the quota system itself..
+.IP 6.
+There is a mechanism built into
+.B xfsdump
+that allows quota limit information to be backed up for later
+restoration, should the need arise.
+.IP 7.
+Quota limits cannot be set before turning on quotas on.
+.IP 8.
+XFS filesystems keep quota accounting on the superuser (user ID zero),
+and the tool will display the superuser's usage information.
+However, limits are never enforced on the superuser (nor are they
+enforced for group and project ID zero).
+.IP 9.
+XFS filesystems perform quota accounting whether the user has quota
+limits or not.
+.IP 10.
+XFS supports the notion of project quota, which can be used to
+implement a form of directory tree quota (i.e. to restrict a
+directory tree to only being able to use up a component of the
+filesystems available space; or simply to keep track of the
+amount of space used, or number of inodes, within the tree).
+.SH ADMINISTRATOR COMMANDS
+.HP
+.B path
+[
+.I N
+]
+.br
+Lists all paths with devices/project identifiers or set the current
+path to the
+.IR N th
+list entry (the current path is used by many
+of the commands described here, it identifies the filesystem toward
+which a command is directed).
+The path list can come from several places \- the command line,
+the mount table, and the
+.I /etc/projects
+file.
+.HP
+.B report
+[
+.B \-gpu
+] [
+.B \-bir
+] [
+.B \-ahntlLNU
+] [
+.B \-f
+.I file
+]
+.br
+Report filesystem quota information.
+This reports all quota usage for a filesystem, for the specified
+quota type
+.RB ( u / g / p
+and/or
+.BR b locks/ i nodes/ r ealtime).
+It reports blocks in 1KB units by default. The
+.B \-h
+option reports in a "human-readable" format similar to the
+.BR df (1)
+command. The
+.B \-f
+option outputs the report to
+.I file
+instead of stdout. The
+.B \-a
+option reports on all filesystems. By default, outputs the name of
+the user/group/project. If no name is defined for a given ID, outputs
+the numeric ID instead. The
+.B \-n
+option outputs the numeric ID instead of the name. The
+.B \-L
+and
+.B \-U
+options specify lower and/or upper ID bounds to report on. If upper/lower
+bounds are specified, then by default only the IDs will be displayed
+in output; with the
+.B \-l
+option, a lookup will be performed to translate these IDs to names. The
+.B \-N
+option reports information without the header line. The
+.B \-t
+option performs a terse report.
+.HP
+.B state
+[
+.B \-gpu
+] [
+.B \-av
+] [
+.B \-f
+.I file
+]
+.br
+Report overall quota state information.
+This reports on the state of quota accounting, quota enforcement,
+and the number of extents being used by quota metadata within the
+filesystem. The
+.B \-f
+option outputs state information to
+.I file
+instead of stdout. The
+.B \-a
+option reports state on all filesystems and not just the current path.
+.HP
+.B limit
+[
+.BR \-g " | " \-p " | " \-u
+]
+.BI bsoft= N
+|
+.BI bhard= N
+|
+.BI isoft= N
+|
+.BI ihard= N
+|
+.BI rtbsoft= N
+|
+.BI rtbhard= N
+.B \-d
+|
+.I id
+|
+.I name
+.br
+Set quota block limits (bhard/bsoft), inode count limits (ihard/isoft)
+and/or realtime block limits (rtbhard/rtbsoft) to N, where N is a
+number representing bytes or inodes.
+For block limits, a number with a s/b/k/m/g/t/p/e multiplication suffix
+as described in
+.BR mkfs.xfs (8)
+is also accepted.
+For inode limits, no suffixes are allowed.
+The
+.B \-d
+option (defaults) can be used to set the default value
+that will be used, otherwise a specific
+.BR u ser/ g roup/ p roject
+.I name
+or numeric
+.IR id entifier
+must be specified.
+.HP
+.B timer
+[
+.BR \-g " | " \-p " | " \-u
+] [
+.B \-bir
+]
+.I value
+[
+.B -d
+|
+.I id
+|
+.I name
+]
+.br
+Allows the quota enforcement timeout (i.e. the amount of time allowed
+to pass before the soft limits are enforced as the hard limits) to
+be modified. The current timeout setting can be displayed using the
+.B state
+command.
+.br
+When setting the default timer via the
+.B \-d
+option, or for
+.B id
+0, or if no argument is given after
+.I value
+the
+.I value
+argument is a number of seconds indicating the relative amount of time after
+soft limits are exceeded, before hard limits are enforced.
+.br
+When setting any other individual timer by
+.I id
+or
+.I name,
+the
+.I value
+is the number of seconds from now, at which time the hard limits will be enforced.
+This allows extending the grace time of an individual user who has exceeded soft
+limits.
+.br
+For
+.I value,
+units of \&'minutes', 'hours', 'days', and 'weeks' are also understood
+(as are their abbreviations 'm', 'h', 'd', and 'w').
+.br
+.HP
+.B warn
+[
+.BR \-g " | " \-p " | " \-u
+] [
+.B \-bir
+]
+.I value
+.B -d
+|
+.I id
+|
+.I name
+.br
+Allows the quota warnings limit (i.e. the number of times a warning
+will be send to someone over quota) to be viewed and modified. The
+.B \-d
+option (defaults) can be used to set the default time
+that will be used, otherwise a specific
+.BR u ser/ g roup/ p roject
+.I name
+or numeric
+.IR id entifier
+must be specified.
+.B NOTE: this feature is not currently implemented.
+.TP
+.BR enable " [ " \-gpu " ] [ " \-v " ]"
+Switches on quota enforcement for the filesystem identified by the
+current path.
+This requires the filesystem to have been mounted with quota enabled,
+and for accounting to be currently active. The
+.B \-v
+option (verbose) displays the state after the operation has completed.
+.TP
+.BR disable " [ " \-gpu " ] [ " \-v " ]"
+Disables quota enforcement, while leaving quota accounting active. The
+.B \-v
+option (verbose) displays the state after the operation has completed.
+.TP
+.BR off " [ " \-gpu " ] [ " \-v " ]"
+Permanently switches quota off for the filesystem identified by the
+current path.
+Quota can only be switched back on subsequently by unmounting and
+then mounting again.
+.TP
+.BR remove " [ " \-gpu " ] [ " \-v " ]"
+Remove any space allocated to quota metadata from the filesystem
+identified by the current path.
+Quota must not be enabled on the filesystem, else this operation will
+report an error.
+.HP
+.B dump
+[
+.BR \-g " | " \-p " | " \-u
+] [
+.BR \-L " | " \-U
+] [
+.B \-f
+.I file
+]
+.br
+Dump out quota limit information for backup utilities, either to
+standard output (default) or to a
+.IR file .
+The
+.B \-L
+and
+.B \-U
+options specify lower and/or upper ID bounds to dump.
+This is only the limits, not the usage information, of course.
+.HP
+.B restore
+[
+.BR \-g " | " \-p " | " \-u
+] [
+.B \-f
+.I file
+]
+.br
+Restore quota limits from a backup
+.IR file .
+The file must be in the format produced by the
+.B dump
+command.
+.HP
+.B quot
+[
+.BR \-g " | " \-p " | " \-u
+] [
+.B \-bir
+] [
+.B \-acnv
+] [
+.B \-f
+.I file
+]
+.br
+Summarize filesystem ownership, by user, group or project.
+This command uses a special XFS "bulkstat" interface to quickly scan
+an entire filesystem and report usage information.
+This command can be used even when filesystem quota are not enabled,
+as it is a full-filesystem scan (it may also take a long time...). The
+.B \-a
+option displays information on all filesystems. The
+.B \-c
+option displays a histogram instead of a report. The
+.B \-n
+option displays numeric IDs rather than names. The
+.B \-v
+option displays verbose information. The
+.B \-f
+option send the output to
+.I file
+instead of stdout.
+.HP
+.B project
+[
+.B \-cCs
+[
+.B \-d
+.I depth
+]
+[
+.B \-p
+.I path
+]
+.I id
+|
+.I name
+]
+.br
+The
+.BR \-c ,
+.BR \-C ,
+and
+.B \-s
+options allow the directory tree quota mechanism to be maintained.
+.BR \-d
+allows one to limit recursion level when processing project directories
+and
+.BR \-p
+allows one to specify project paths at command line ( instead of
+.I /etc/projects
+). All options are discussed in detail below.
+.SH DIRECTORY TREE QUOTA
+The project quota mechanism in XFS can be used to implement a form of
+directory tree quota, where a specified directory and all of the files
+and subdirectories below it (i.e. a tree) can be restricted to using
+a subset of the available space in the filesystem.
+.PP
+A managed tree must be setup initially using the
+.B \-s
+option to the
+.B project
+command. The specified project name or identifier is matched to one
+or more trees defined in
+.IR /etc/projects ,
+and these trees are then recursively descended
+to mark the affected inodes as being part of that tree.
+This process sets an inode flag and the project identifier on every file
+in the affected tree.
+Once this has been done, new files created in the tree will automatically
+be accounted to the tree based on their project identifier.
+An attempt to create a hard link to a file in the tree will only succeed
+if the project identifier matches the project identifier for the tree.
+The
+.B xfs_io
+utility can be used to set the project ID for an arbitrary file, but this
+can only be done by a privileged user.
+.PP
+A previously setup tree can be cleared from project quota control through
+use of the
+.B project \-C
+option, which will recursively descend
+the tree, clearing the affected inodes from project quota control.
+.PP
+Finally, the
+.B project \-c
+option can be used to check whether a
+tree is setup, it reports nothing if the tree is correct, otherwise it
+reports the paths of inodes which do not have the project ID of the rest
+of the tree, or if the inode flag is not set.
+.PP
+Option
+.B \-d
+can be used to limit recursion level (\-1 is infinite, 0 is top level only,
+1 is first level ... ).
+Option
+.B \-p
+adds possibility to specify project paths in command line without a need
+for
+.I /etc/projects
+to exist. Note that if projects file exists then it is also used.
+
+.SH EXAMPLES
+Enabling quota enforcement on an XFS filesystem (restrict a user
+to a set amount of space).
+.nf
+.sp
+.in +5
+# mount \-o uquota /dev/xvm/home /home
+# xfs_quota \-x \-c 'limit bsoft=500m bhard=550m tanya' /home
+# xfs_quota \-x \-c report /home
+.in -5
+.fi
+.PP
+Enabling project quota on an XFS filesystem (restrict files in
+log file directories to only using 1 gigabyte of space).
+.nf
+.sp
+.in +5
+# mount \-o prjquota /dev/xvm/var /var
+# echo 42:/var/log >> /etc/projects
+# echo logfiles:42 >> /etc/projid
+# xfs_quota \-x \-c 'project \-s logfiles' /var
+# xfs_quota \-x \-c 'limit \-p bhard=1g logfiles' /var
+.in -5
+.fi
+.PP
+Same as above without a need for configuration files.
+.nf
+.sp
+.in +5
+# rm \-f /etc/projects /etc/projid
+# mount \-o prjquota /dev/xvm/var /var
+# xfs_quota \-x \-c 'project \-s \-p /var/log 42' /var
+# xfs_quota \-x \-c 'limit \-p bhard=1g 42' /var
+.in -5
+.fi
+.SH CAVEATS
+.PP
+The XFS allocation mechanism will always reserve the
+maximum amount of space required before proceeding with an allocation.
+If insufficient space for this reservation is available, due to the
+block quota limit being reached for example, this may result in the
+allocation failing even though there is sufficient space.
+Quota enforcement can thus sometimes happen in situations where the
+user is under quota and the end result of some operation would still
+have left the user under quota had the operation been allowed to run
+its course.
+This additional overhead is typically in the range of tens of blocks.
+.PP
+Both of these properties are unavoidable side effects of the way XFS
+operates, so should be kept in mind when assigning block limits.
+.SH BUGS
+Quota support for filesystems with realtime subvolumes is not yet
+implemented, nor is the quota warning mechanism (the Linux
+.BR warnquota (8)
+tool can be used to provide similar functionality on that platform).
+.SH FILES
+.PD 0
+.TP 20
+.I /etc/projects
+Mapping of numeric project identifiers to directories trees.
+.TP
+.I /etc/projid
+Mapping of numeric project identifiers to project names.
+.PD
+
+.SH SEE ALSO
+.BR df (1),
+.BR mount (1),
+.BR sync (2),
+.BR projid (5),
+.BR projects (5).
+.BR xfs (5).
+.BR warnquota (8),
diff --git a/upstream/fedora-40/man8/xfs_repair.8 b/upstream/fedora-40/man8/xfs_repair.8
new file mode 100644
index 00000000..6625b47a
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_repair.8
@@ -0,0 +1,601 @@
+.TH xfs_repair 8
+.SH NAME
+xfs_repair \- repair an XFS filesystem
+.SH SYNOPSIS
+.B xfs_repair
+[
+.B \-dfLPv
+] [
+.BR \-n " | " -e
+] [
+.B \-m
+.I maxmem
+] [
+.BI \-c " subopt" = value
+] [
+.B \-o
+.I subopt\c
+[\c
+.B =\c
+.IR value ]
+] [
+.B \-t
+.I interval
+] [
+.B \-l
+.I logdev
+] [
+.B \-r
+.I rtdev
+]
+.I device
+.br
+.B xfs_repair \-V
+.SH DESCRIPTION
+.B xfs_repair
+repairs corrupt or damaged XFS filesystems
+(see
+.BR xfs (5)).
+The filesystem is specified using the
+.I device
+argument which should be the device name of the disk partition or
+volume containing the filesystem. If given the name of a block device,
+.B xfs_repair
+will attempt to find the raw device associated
+with the specified block device and will use the raw device instead.
+.PP
+Regardless, the filesystem to be repaired
+must be unmounted,
+otherwise, the resulting filesystem may be inconsistent or corrupt.
+.SH OPTIONS
+.TP
+.B \-f
+Specifies that the filesystem image to be processed is stored in a
+regular file at
+.I device
+(see the
+.B mkfs.xfs \-d
+.I file
+option). This might happen if an image copy
+of a filesystem has been copied or written into an ordinary file.
+This option implies that any external log or realtime section
+is also in an ordinary file.
+.TP
+.B \-L
+Force Log Zeroing.
+Forces
+.B xfs_repair
+to zero the log even if it is dirty (contains metadata changes).
+When using this option the filesystem will likely appear to be corrupt,
+and can cause the loss of user files and/or data. See the
+.B "DIRTY LOGS"
+section for more information.
+.TP
+.BI \-l " logdev"
+Specifies the device special file where the filesystem's external
+log resides. Only for those filesystems which use an external log.
+See the
+.B mkfs.xfs \-l
+option, and refer to
+.BR xfs (5)
+for a detailed description of the XFS log.
+.TP
+.BI \-r " rtdev"
+Specifies the device special file where the filesystem's realtime
+section resides. Only for those filesystems which use a realtime section.
+See the
+.B mkfs.xfs \-r
+option, and refer to
+.BR xfs (5)
+for a detailed description of the XFS realtime section.
+.TP
+.B \-n
+No modify mode. Specifies that
+.B xfs_repair
+should not modify the filesystem but should only scan the
+filesystem and indicate what repairs would have been made. This option cannot
+be used together with
+.BR \-e .
+.TP
+.B \-P
+Disable prefetching of inode and directory blocks. Use this option if
+you find
+.B xfs_repair
+gets stuck and stops proceeding. Interrupting a stuck
+.B xfs_repair
+is safe.
+.TP
+.BI \-m " maxmem"
+Specifies the approximate maximum amount of memory, in megabytes, to use for
+.BR xfs_repair .
+.B xfs_repair
+has its own internal block cache which will scale out up to the lesser of the
+process's virtual address limit or about 75% of the system's physical RAM.
+This option overrides these limits.
+.IP
+.B NOTE:
+These memory limits are only approximate and may use more than the specified
+limit.
+.TP
+.BI \-c " subopt" = value
+Change filesystem parameters. Refer to
+.BR xfs_admin (8)
+for information on changing filesystem parameters.
+.HP
+.B \-o
+.I subopt\c
+[\c
+.B =\c
+.IR value ]
+.br
+Override what the program might conclude about the filesystem
+if left to its own devices.
+.IP
+The
+.IR subopt ions
+supported are:
+.RS 1.0i
+.TP
+.BI bhash= bhashsize
+overrides the default buffer cache hash size. The total number of
+buffer cache entries are limited to 8 times this amount. The default
+size is set to use up the remainder of 75% of the system's physical
+RAM size.
+.TP
+.BI ag_stride= ags_per_concat_unit
+This creates additional processing threads to parallel process
+AGs that span multiple concat units. This can significantly
+reduce repair times on concat based filesystems.
+.TP
+.BI force_geometry
+Check the filesystem even if geometry information could not be validated.
+Geometry information can not be validated if only a single allocation
+group exists and thus we do not have a backup superblock available, or
+if there are two allocation groups and the two superblocks do not
+agree on the filesystem geometry. Only use this option if you validated
+the geometry yourself and know what you are doing. If In doubt run
+in no modify mode first.
+.TP
+.BI noquota
+Don't validate quota counters at all.
+Quotacheck will be run during the next mount to recalculate all values.
+.RE
+.TP
+.B \-t " interval"
+Modify reporting interval, specified in seconds. During long runs
+.B xfs_repair
+outputs its progress every 15 minutes. Reporting is only activated when
+ag_stride is enabled.
+.TP
+.B \-v
+Verbose output. May be specified multiple times to increase verbosity.
+.TP
+.B \-d
+Repair dangerously. Allow
+.B xfs_repair
+to repair an XFS filesystem mounted read only. This is typically done
+on a root filesystem from single user mode, immediately followed by a reboot.
+.TP
+.B \-e
+If any metadata corruption was repaired, the status returned is 4 instead of the
+usual 0. This option cannot be used together with
+.BR \-n .
+.TP
+.B \-V
+Prints the version number and exits.
+.SS Checks Performed
+The correctness of the crc32c checksum implementation will be tested
+before examining the filesystem.
+If the test fails, the program will abort.
+
+Inconsistencies corrected include the following:
+.IP 1.
+Inode and inode blockmap (addressing) checks:
+bad magic number in inode,
+bad magic numbers in inode blockmap blocks,
+extents out of order,
+incorrect number of records in inode blockmap blocks,
+blocks claimed that are not in a legal data area of the filesystem,
+blocks that are claimed by more than one inode.
+.IP 2.
+Inode allocation map checks:
+bad magic number in inode map blocks,
+inode state as indicated by map (free or in-use) inconsistent
+with state indicated by the inode,
+inodes referenced by the filesystem that do not appear in
+the inode allocation map,
+inode allocation map referencing blocks that do not appear
+to contain inodes.
+.IP 3.
+Size checks:
+number of blocks claimed by inode inconsistent with inode size,
+directory size not block aligned,
+inode size not consistent with inode format.
+.IP 4.
+Directory checks:
+bad magic numbers in directory blocks,
+incorrect number of entries in a directory block,
+bad freespace information in a directory leaf block,
+entry pointing to an unallocated (free) or out
+of range inode,
+overlapping entries,
+missing or incorrect dot and dotdot entries,
+entries out of hashvalue order,
+incorrect internal directory pointers,
+directory type not consistent with inode format and size.
+.IP 5.
+Pathname checks:
+files or directories not referenced by a pathname starting from
+the filesystem root,
+illegal pathname components.
+.IP 6.
+Link count checks:
+link counts that do not agree with the number of
+directory references to the inode.
+.IP 7.
+Freemap checks:
+blocks claimed free by the freemap but also claimed by an inode,
+blocks unclaimed by any inode but not appearing in the freemap.
+.IP 8.
+Super Block checks:
+total free block and/or free i-node count incorrect,
+filesystem geometry inconsistent,
+secondary and primary superblocks contradictory.
+.PP
+Orphaned files and directories (allocated, in-use but unreferenced) are
+reconnected by placing them in the
+.I lost+found
+directory.
+The name assigned is the inode number.
+.SS Disk Errors
+.B xfs_repair
+aborts on most disk I/O errors. Therefore, if you are trying
+to repair a filesystem that was damaged due to a disk drive failure,
+steps should be taken to ensure that all blocks in the filesystem are
+readable and writable before attempting to use
+.B xfs_repair
+to repair the filesystem. A possible method is using
+.BR dd (8)
+to copy the data onto a good disk.
+.SS lost+found
+The directory
+.I lost+found
+does not have to already exist in the filesystem being repaired.
+If the directory does not exist, it is automatically created if required.
+If it already exists, it will be checked for consistency and if valid
+will be used for additional orphaned files. Invalid
+.I lost+found
+directories are removed and recreated. Existing files in a valid
+.I lost+found
+are not removed or renamed.
+.SS Corrupted Superblocks
+XFS has both primary and secondary superblocks.
+.B xfs_repair
+uses information in the primary superblock
+to automatically find and validate the primary superblock
+against the secondary superblocks before proceeding.
+Should the primary be too corrupted to be useful in locating
+the secondary superblocks, the program scans the filesystem
+until it finds and validates some secondary superblocks.
+At that point, it generates a primary superblock.
+.SS Quotas
+If quotas are in use, it is possible that
+.B xfs_repair
+will clear some or all of the filesystem quota information.
+If so, the program issues a warning just before it terminates.
+If all quota information is lost, quotas are disabled and the
+program issues a warning to that effect.
+.PP
+Note that
+.B xfs_repair
+does not check the validity of quota limits. It is recommended
+that you check the quota limit information manually after
+.BR xfs_repair .
+Also, space usage information is automatically regenerated the
+next time the filesystem is mounted with quotas turned on, so the
+next quota mount of the filesystem may take some time.
+.SH DIAGNOSTICS
+.B xfs_repair
+issues informative messages as it proceeds
+indicating what it has found that is abnormal or any corrective
+action that it has taken.
+Most of the messages are completely understandable only to those
+who are knowledgeable about the structure of the filesystem.
+Some of the more common messages are explained here.
+Note that the language of the messages is slightly different if
+.B xfs_repair
+is run in no-modify mode because the program is not changing anything on disk.
+No-modify mode indicates what it would do to repair the filesystem
+if run without the no-modify flag.
+.PP
+.B disconnected inode
+.IB ino ,
+.B moving to lost+found
+.IP
+An inode numbered
+.I ino
+was not connected to the filesystem
+directory tree and was reconnected to the
+.I lost+found
+directory. The inode is assigned the name of its inode number
+.RI ( ino ).
+If a
+.I lost+found
+directory does not exist, it is automatically created.
+.PP
+.B disconnected dir inode
+.IB ino ,
+.B moving to lost+found
+.IP
+As above only the inode is a directory inode.
+If a directory inode is attached to
+.IR lost+found ,
+all of its children (if any) stay attached to the directory and therefore
+get automatically reconnected when the directory is reconnected.
+.PP
+.B imap claims in-use inode
+.I ino
+.B is free, correcting imap
+.IP
+The inode allocation map thinks that inode
+.I ino
+is free whereas examination of the inode indicates that the
+inode may be in use (although it may be disconnected).
+The program updates the inode allocation map.
+.PP
+.B imap claims free inode
+.I ino
+.B is in use, correcting imap
+.IP
+The inode allocation map thinks that inode
+.I ino
+is in use whereas examination of the inode indicates that the
+inode is not in use and therefore is free.
+The program updates the inode allocation map.
+.PP
+.B resetting inode
+.I ino
+.B nlinks from
+.I x
+.B to
+.I y
+.IP
+The program detected a mismatch between the
+number of valid directory entries referencing inode
+.I ino
+and the number of references recorded in the inode and corrected the
+the number in the inode.
+.PP
+.I fork-type
+.B fork in ino
+.I ino
+.B claims used block
+.I bno
+.IP
+Inode
+.I ino
+claims a block
+.I bno
+that is used (claimed) by either another inode or the filesystem
+itself for metadata storage. The
+.I fork-type
+is either
+.B data
+or
+.B attr
+indicating whether the problem lies in the portion of the
+inode that tracks regular data or the portion of the inode
+that stores XFS attributes.
+If the inode is a real-time (rt) inode, the message says so.
+Any inode that claims blocks used by the filesystem is deleted.
+If two or more inodes claim the same block, they are both deleted.
+.PP
+.I fork-type
+.B fork in ino
+.I ino
+.B claims dup extent ...
+.IP
+Inode
+.I ino
+claims a block in an extent known to be claimed more than once.
+The offset in the inode, start and length of the extent is given.
+The message is slightly different
+if the inode is a real-time (rt) inode and the extent is therefore
+a real-time (rt) extent.
+.PP
+.B inode
+.I ino
+.B \- bad extent ...
+.IP
+An extent record in the blockmap of inode
+.I ino
+claims blocks that are out of the legal range of the filesystem.
+The message supplies the start, end, and file offset of the extent.
+The message is slightly different if the extent is a real-time (rt) extent.
+.PP
+.B bad
+.I fork-type
+.B fork in inode
+.I ino
+.IP
+There was something structurally wrong or inconsistent with the
+data structures that map offsets to filesystem blocks.
+.PP
+.B cleared inode
+.I ino
+.IP
+There was something wrong with the inode that
+was uncorrectable so the program freed the inode.
+This usually happens because the inode claims
+blocks that are used by something else or the inode itself
+is badly corrupted. Typically, this message
+is preceded by one or more messages indicating why the
+inode needed to be cleared.
+.PP
+.B bad attribute fork in inode
+.IR ino ,
+.B clearing attr fork
+.IP
+There was something wrong with the portion of the inode that
+stores XFS attributes (the attribute fork) so the program reset
+the attribute fork.
+As a result of this, all attributes on that inode are lost.
+.PP
+.B correcting nextents for inode
+.IR ino ,
+.B was
+.I x
+.B \- counted
+.I y
+.IP
+The program found that the number of extents used to store
+the data in the inode is wrong and corrected the number.
+The message refers to nextents if the count is wrong
+on the number of extents used to store attribute information.
+.PP
+.B entry
+.I name
+.B in dir
+.I dir_ino
+.B not consistent with .. value
+.BI ( xxxx )
+.B in dir ino
+.IB ino ,
+.B junking entry
+.I name
+.B in directory inode
+.I dir_ino
+.IP
+The entry
+.I name
+in directory inode
+.I dir_ino
+references a directory inode
+.IR ino .
+However, the ..\& entry in directory
+.I ino
+does not point back to directory
+.IR dir_ino ,
+so the program deletes the entry
+.I name
+in directory inode
+.IR dir_ino .
+If the directory inode
+.I ino
+winds up becoming a disconnected inode as a result of this, it is moved to
+.I lost+found
+later.
+.PP
+.B entry
+.I name
+.B in dir
+.I dir_ino
+.B references already connected dir ino
+.IB ino ,
+.B junking entry
+.I name
+.B in directory inode
+.I dir_ino
+.IP
+The entry
+.I name
+in directory inode
+.I dir_ino
+points to a directory inode
+.I ino
+that is known to be a child of another directory.
+Therefore, the entry is invalid and is deleted.
+This message refers to an entry in a small directory.
+If this were a large directory, the last phrase would read
+"will clear entry".
+.PP
+.B entry references free inode
+.I ino
+.B in directory
+.IB dir_ino ,
+.B will clear entry
+.IP
+An entry in directory inode
+.I dir_ino
+references an inode
+.I ino
+that is known to be free. The entry is therefore invalid and is deleted.
+This message refers to a large directory.
+If the directory were small, the message would read "junking entry ...".
+.SH EXIT STATUS
+.B xfs_repair \-n
+(no modify mode)
+will return a status of 1 if filesystem corruption was detected and
+0 if no filesystem corruption was detected.
+.B xfs_repair
+run without the \-n option will always return a status code of 0 if
+it completes without problems, unless the flag
+.B -e
+is used. If it is used, then status 4 is reported when any issue with the
+filesystem was found, but could be fixed. If a runtime error is encountered during
+operation, it will return a status of 1. In this case,
+.B xfs_repair
+should be restarted. If
+.B xfs_repair is unable
+to proceed due to a dirty log, it will return a status of 2. See below.
+.SH DIRTY LOGS
+Due to the design of the XFS log, a dirty log can only be replayed
+by the kernel, on a machine having the same CPU architecture as the
+machine which was writing to the log.
+.B xfs_repair
+cannot replay a dirty log and will exit with a status code of 2
+when it detects a dirty log.
+.PP
+In this situation, the log can be replayed by mounting and immediately
+unmounting the filesystem on the same class of machine that crashed.
+Please make sure that the machine's hardware is reliable before
+replaying to avoid compounding the problems.
+.PP
+If mounting fails, the log can be erased by running
+.B xfs_repair
+with the -L option.
+All metadata updates in progress at the time of the crash will be lost,
+which may cause significant filesystem damage.
+This should
+.B only
+be used as a last resort.
+.SH BUGS
+The filesystem to be checked and repaired must have been
+unmounted cleanly using normal system administration procedures
+(the
+.BR umount (8)
+command or system shutdown), not as a result of a crash or system reset.
+If the filesystem has not been unmounted cleanly, mount it and unmount
+it cleanly before running
+.BR xfs_repair .
+.PP
+.B xfs_repair
+does not do a thorough job on XFS extended attributes.
+The structure of the attribute fork will be consistent,
+but only the contents of attribute forks that will fit into
+an inode are checked.
+This limitation will be fixed in the future.
+.PP
+The no-modify mode
+.RB ( \-n
+option) is not completely accurate.
+It does not catch inconsistencies in the freespace and inode
+maps, particularly lost blocks or subtly corrupted maps (trees).
+.PP
+The no-modify mode can generate repeated warnings about
+the same problems because it cannot fix the problems as they
+are encountered.
+.PP
+If a filesystem fails to be repaired, a metadump image can be generated
+with
+.BR xfs_metadump (8)
+and be sent to an XFS maintainer to be analysed and
+.B xfs_repair
+fixed and/or improved.
+.SH SEE ALSO
+.BR dd (1),
+.BR mkfs.xfs (8),
+.BR umount (8),
+.BR xfs_admin (8),
+.BR xfs_metadump (8),
+.BR xfs (5).
diff --git a/upstream/fedora-40/man8/xfs_rtcp.8 b/upstream/fedora-40/man8/xfs_rtcp.8
new file mode 100644
index 00000000..40e9097e
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_rtcp.8
@@ -0,0 +1,53 @@
+.TH xfs_rtcp 8
+.SH NAME
+xfs_rtcp \- XFS realtime copy command
+.SH SYNOPSIS
+.B xfs_rtcp
+[
+.B \-e
+.I extsize
+] [
+.B -p
+]
+.IR source " ... " target
+.br
+.B xfs_rtcp \-V
+.SH DESCRIPTION
+.B xfs_rtcp
+copies a file to the realtime partition on an XFS filesystem.
+If there is more than one
+.I source
+and
+.IR target ,
+the final argument (the
+.IR target )
+must be a directory which already exists.
+.SH OPTIONS
+.TP
+.BI \-e " extsize"
+Sets the extent size of the destination realtime file.
+.TP
+.B \-p
+Use if the size of the source file is not an even multiple of
+the block size of the destination filesystem. When
+.B \-p
+is specified
+.B xfs_rtcp
+will pad the destination file to a size which is an even multiple
+of the filesystem block size.
+This is necessary since the realtime file is created using
+direct I/O and the minimum I/O is the filesystem block size.
+.TP
+.B \-V
+Prints the version number and exits.
+.SH SEE ALSO
+.BR xfs (5),
+.BR mkfs.xfs (8),
+.BR mount (8).
+.SH CAVEATS
+Currently, realtime partitions are not supported under the Linux
+version of XFS, and use of a realtime partition
+.B WILL CAUSE CORRUPTION
+on the data partition. As such, this command is made available for curious
+.B DEVELOPERS ONLY
+at this point in time.
diff --git a/upstream/fedora-40/man8/xfs_spaceman.8 b/upstream/fedora-40/man8/xfs_spaceman.8
new file mode 100644
index 00000000..ece840d7
--- /dev/null
+++ b/upstream/fedora-40/man8/xfs_spaceman.8
@@ -0,0 +1,214 @@
+.TH xfs_spaceman 8
+.SH NAME
+xfs_spaceman \- show free space information about an XFS filesystem
+.SH SYNOPSIS
+.B xfs_spaceman
+[
+.B \-c
+.I cmd
+]
+.I file
+.br
+.B xfs_spaceman \-V
+.SH DESCRIPTION
+.B xfs_spaceman
+reports and controls free space usage in an XFS filesystem.
+.SH OPTIONS
+.TP 1.0i
+.BI \-c " cmd"
+.B xfs_spaceman
+commands may be run interactively (the default) or as arguments on
+the command line. Multiple
+.B \-c
+arguments may be given. The commands are run in the sequence given,
+then the program exits.
+
+.SH COMMANDS
+.TP
+.BI "freesp [ \-dgrs ] [-a agno]... [ \-b | \-e bsize | \-h bsize | \-m factor ]"
+With no arguments,
+.B freesp
+shows a histogram of all free space extents in the filesystem.
+The command takes the following options:
+
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-a agno
+Collect free space information from this allocation group.
+This option can be specified multiple times to collect from multiple groups.
+
+.TP
+.B \-b
+This argument establishes that the histogram bin sizes are successive powers of two.
+This is the default, and is mutually exclusive with the
+.BR "-e" ", " "-h" ", and " "-m" " options."
+
+.TP
+.B \-d
+Print debugging information such as the raw free space extent information.
+
+.TP
+.B \-g
+Print the free space block and extent counts for each AG.
+
+.TP
+.B \-e bsize
+Set all histogram bin sizes to a specific value.
+This option is mutually exclusive with the
+.BR "-b" ", " "-h" ", and " "-m" " options."
+
+.TP
+.B \-h bsize
+Create a histogram bin with a lower bound of this value.
+The upper bound of this bin will be one less than the lower bound of the
+next highest histogram bin.
+This option can be given multiple times to control the exact bin sizes.
+This option is mutually exclusive with the
+.BR "-b" ", " "-e" ", and " "-m" " options."
+
+.TP
+.B \-m factor
+Create each histogram bin with a size that is this many times the size
+of the prvious bin created.
+This option is mutually exclusive with the
+.BR "-b" ", " "-e" ", and " "-h" " options."
+
+.TP
+.B \-r
+Query the realtime device for free space information.
+
+.TP
+.B \-s
+Display a summary of the free space information found.
+.PD
+.RE
+.TP
+.B info
+Displays selected geometry information about the filesystem.
+The opened file must be a mount point of a XFS filesystem.
+The output will have the same format that
+.BR "xfs_info" "(8)"
+prints when querying a filesystem.
+.TP
+.BI "health [ \-a agno] [ \-c ] [ \-f ] [ \-i inum ] [ \-q ] [ paths ]"
+Reports the health of the given group of filesystem metadata.
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-a agno
+Report on the health of the given allocation group.
+.TP
+.B \-c
+Scan all inodes in the filesystem and report each file's health status.
+If the
+.B \-a
+option is given, scan only the inodes in that AG.
+.TP
+.B \-f
+Report on the health of metadata that affect the entire filesystem.
+.TP
+.B \-i inum
+Report on the health of a specific inode.
+.TP
+.B \-q
+Report only unhealthy metadata.
+.TP
+.B paths
+Report on the health of the files at the given path.
+.PD
+.RE
+.TP
+.BR "help [ " command " ]"
+Display a brief description of one or all commands.
+.TP
+.BI "prealloc [ \-u id ] [ \-g id ] [ -p id ] [ \-m minlen ] [ \-s ]"
+Removes speculative preallocation.
+If no
+.BR "-u" ", " "-g" ", or " "-p"
+options are given, this command acts on all files.
+The command takes the following options:
+
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-u uid
+Clear all speculative preallocations for files with this user id.
+This option can be given in combination with the
+.B "-g" " and " "-p"
+options.
+
+.TP
+.B \-g gid
+Clear all speculative preallocations for files with this group id.
+This option can be given in combination with the
+.B "-u" " and " "-p"
+options.
+
+.TP
+.B \-p pid
+Clear all speculative preallocations for files with this project id.
+This option can be given in combination with the
+.B "-u" " and " "-g"
+options.
+
+.TP
+.B \-m minlen
+Ignore all files smaller than this size.
+Units can be supplied for this argument.
+
+.TP
+.B \-s
+Wait for removal to complete.
+.PD
+.RE
+.TP
+.B print
+Display a list of all open files.
+.TP
+.B quit
+Exit
+.BR xfs_spaceman .
+.TP
+.BI "trim ( \-a agno | \-f | " "offset" " " "length" " ) [ -m minlen ]"
+Instructs the underlying storage device to release all storage that may
+be backing free space in the filesystem.
+The command takes the following options:
+(One of
+.BR -a ", " -f ", or the "
+.IR offset / length
+pair are required.)
+
+.RS 1.0i
+.PD 0
+.TP 0.4i
+.B \-a agno
+Trim free space extents in the given allocation group.
+This option is mutually exclusive with the
+.BR "-f" " option and the "
+.IR "offset" "/" "length" " options."
+
+.TP
+.B \-f
+Trim all free space in the filesystem.
+This option is mutually exclusive with the
+.BR "-a" " option and the "
+.IR "offset" "/" "length" " options."
+
+.TP
+.IR "option" ", " "length"
+Trim all free space within the physical range defined by the
+.I offset
+and
+.I length
+from this filesystem.
+Units can be appended to these arguments.
+This option is mutually exclusive with the
+.BR "-a" " and " "-f" " options."
+
+.TP
+.B \-m minlen
+Do not trim free space extents shorter than this length.
+Units can be appended to this argument.
+.PD
+.RE
diff --git a/upstream/fedora-40/man8/xqmstats.8 b/upstream/fedora-40/man8/xqmstats.8
new file mode 100644
index 00000000..a36a138a
--- /dev/null
+++ b/upstream/fedora-40/man8/xqmstats.8
@@ -0,0 +1,38 @@
+.\" 2004, Max Vozeler <max@hinterhof.net>
+.\" Released under the Gnu GPL
+.TH XQMSTATS 8 "April 2, 2004" "" "quota"
+.SH NAME
+.B xqmstats
+\- Display XFS quota manager statistics from /proc
+.SH SYNOPSIS
+.I /usr/sbin/xqmstats
+.SH DESCRIPTION
+.B xqmstat
+queries the kernel for the XFS Quota Manager dquot statistics.
+It displays:
+.P
+.PD 0
+.RS 4
+.IP \[bu]
+Reclaims
+.IP \[bu]
+Missed reclaims
+.IP \[bu]
+Dquot dups
+.IP \[bu]
+Cache misses
+.IP \[bu]
+Cache hits
+.IP \[bu]
+Dquot wants
+.IP \[bu]
+Shake reclaims
+.IP \[bu]
+Inact reclaims
+.RE
+.PD
+.SH OPTIONS
+None.
+.SH SEE ALSO
+.BR quotastats (1),
+.BR quota (1).
diff --git a/upstream/fedora-40/man8/yum-copr.8 b/upstream/fedora-40/man8/yum-copr.8
new file mode 100644
index 00000000..6f7a9310
--- /dev/null
+++ b/upstream/fedora-40/man8/yum-copr.8
@@ -0,0 +1,160 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "YUM-COPR" "8" "Feb 08, 2024" "4.5.0" "dnf-plugins-core"
+.SH NAME
+yum-copr \- redirecting to DNF copr Plugin
+.sp
+Work with Copr & Playground repositories on the local system.
+.INDENT 0.0
+.IP \(bu 2
+The \fBcopr\fP command is used to add or remove Copr repositories to the local system
+.IP \(bu 2
+The \fBplayground\fP is used to enable or disable the Playground repository
+.UNINDENT
+.SH SYNOPSIS
+.sp
+\fBdnf copr [enable|disable|remove|list|search] <parameters>\fP
+.sp
+\fBdnf playground [enable|disable|upgrade]\fP
+.SH ARGUMENTS (COPR)
+.INDENT 0.0
+.TP
+.B \fBenable name/project [chroot]\fP
+Enable the \fBname/project\fP Copr repository with the optional \fBchroot\fP\&.
+.TP
+.B \fBdisable name/project\fP
+Disable the \fBname/project\fP Copr repository.
+.TP
+.B \fBremove name/project\fP
+Remove the \fBname/project\fP Copr repository.
+.TP
+.B \fBlist \-\-installed\fP
+List installed Copr repositories (default).
+.TP
+.B \fBlist \-\-enabled\fP
+List enabled Copr repositories.
+.TP
+.B \fBlist \-\-disabled\fP
+List disabled Copr repositories.
+.TP
+.B \fBlist \-\-available\-by\-user=name\fP
+List available Copr repositories for a given \fBname\fP\&.
+.TP
+.B \fBsearch project\fP
+Search for a given \fBproject\fP\&.
+.TP
+.B \fBenable hub/name/project\fP
+Enable the \fBname/project\fP Copr repository from the specified Copr \fBhub\fP,
+Hub is be specified either by its hostname (eg. \fIcopr.fedorainfracloud.org\fP)
+or by an ID that\(aqs defined in a configuration file.
+.UNINDENT
+.SH OPTIONS (COPR)
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.INDENT 0.0
+.TP
+.B \fB\-\-hub Copr\fP
+Specify a Copr hub to use. Default is the Fedora Copr: \fBhttps://copr.fedorainfracloud.org\fP\&.
+.UNINDENT
+.SH CONFIGURATION (COPR)
+.sp
+\fB/etc/dnf/plugins/copr.conf\fP
+\fB/etc/dnf/plugins/copr.d/\fP
+\fB/usr/share/dnf/plugins/copr.vendor.conf\fP
+.INDENT 0.0
+.TP
+.B Configuration file should contain a section for each hub, each section having \fBhostname\fP
+(mandatory), \fBprotocol\fP (default \fBhttps\fP) and \fBport\fP (default \fB443\fP) parameters.:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+[fedora]
+hostname = copr.fedorainfracloud.org
+protocol = https
+port = 443
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+There is also a vendor configuration that allows a vendor to specify the distro ID that copr should use by default.
+This is useful for vendors that want to use Copr for their own distro. The vendor configuration is in
+\fB/usr/share/dnf/plugins/copr.vendor.conf\fP (optional) or \fB/etc/dnf/plugins/copr.conf\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+[main]
+distribution = fedora
+releasever = 37
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH ARGUMENTS (PLAYGROUND)
+.INDENT 0.0
+.TP
+.B \fBenable\fP
+Enable the Playground repository.
+.TP
+.B \fBdisable\fP
+Disable the Playground repository.
+.TP
+.B \fBupgrade\fP
+Upgrade the Playground repository settings (same as \fBdisable\fP and then \fBenable\fP).
+.UNINDENT
+.SH OPTIONS (PLAYGROUND)
+.sp
+All general DNF options are accepted, see \fIOptions\fP in \fBdnf(8)\fP for details.
+.SH EXAMPLES
+.INDENT 0.0
+.TP
+.B \fBcopr enable rhscl/perl516 epel\-6\-x86_64\fP
+Enable the \fBrhscl/perl516\fP Copr repository, using the \fBepel\-6\-x86_64\fP chroot.
+.TP
+.B \fBcopr disable rhscl/perl516\fP
+Disable the \fBrhscl/perl516\fP Copr repository
+.TP
+.B \fBcopr list \-\-available\-by\-user=rita\fP
+List available Copr projects for user \fBrita\fP\&.
+.TP
+.B \fBcopr search tests\fP
+Search for Copr projects named \fBtests\fP\&.
+.UNINDENT
+.SH AUTHOR
+See AUTHORS in your Core DNF Plugins distribution
+.SH COPYRIGHT
+2024, Red Hat, Licensed under GPLv2+
+.\" Generated by docutils manpage writer.
+.
diff --git a/upstream/fedora-40/man8/zdump.8 b/upstream/fedora-40/man8/zdump.8
new file mode 100644
index 00000000..a248d297
--- /dev/null
+++ b/upstream/fedora-40/man8/zdump.8
@@ -0,0 +1,231 @@
+.\" This file is in the public domain, so clarified as of
+.\" 2009-05-17 by Arthur David Olson.
+.TH zdump 8 "" "Time Zone Database"
+.SH NAME
+zdump \- timezone dumper
+.SH SYNOPSIS
+.B zdump
+[
+.I option
+\&... ] [
+.I timezone
+\&... ]
+.SH DESCRIPTION
+.ie '\(lq'' .ds lq \&"\"
+.el .ds lq \(lq\"
+.ie '\(rq'' .ds rq \&"\"
+.el .ds rq \(rq\"
+.de q
+\\$3\*(lq\\$1\*(rq\\$2
+..
+.ie \n(.g .ds - \f(CR-\fP
+.el .ds - \-
+The
+.B zdump
+program prints the current time in each
+.I timezone
+named on the command line.
+.SH OPTIONS
+.TP
+.B \*-\*-version
+Output version information and exit.
+.TP
+.B \*-\*-help
+Output short usage message and exit.
+.TP
+.B \*-i
+Output a description of time intervals. For each
+.I timezone
+on the command line, output an interval-format description of the
+timezone. See
+.q "INTERVAL FORMAT"
+below.
+.TP
+.B \*-v
+Output a verbose description of time intervals.
+For each
+.I timezone
+on the command line,
+print the times at the two extreme time values,
+the times (if present) at and just beyond the boundaries of years that
+.BR localtime (3)
+and
+.BR gmtime (3)
+can represent, and
+the times both one second before and exactly at
+each detected time discontinuity.
+Each line is followed by
+.BI isdst= D
+where
+.I D
+is positive, zero, or negative depending on whether
+the given time is daylight saving time, standard time,
+or an unknown time type, respectively.
+Each line is also followed by
+.BI gmtoff= N
+if the given local time is known to be
+.I N
+seconds east of Greenwich.
+.TP
+.B \*-V
+Like
+.BR \*-v ,
+except omit output concerning extreme time and year values.
+This generates output that is easier to compare to that of
+implementations with different time representations.
+.TP
+.BI "\*-c " \fR[\fIloyear , \fR]\fIhiyear
+Cut off interval output at the given year(s).
+Cutoff times are computed using the proleptic Gregorian calendar with year 0
+and with Universal Time (UT) ignoring leap seconds.
+Cutoffs are at the start of each year, where the lower-bound
+timestamp is inclusive and the upper is exclusive; for example,
+.B "\*-c 1970,2070"
+selects transitions on or after 1970-01-01 00:00:00 UTC
+and before 2070-01-01 00:00:00 UTC.
+The default cutoff is
+.BR \*-500,2500 .
+.TP
+.BI "\*-t " \fR[\fIlotime , \fR]\fIhitime
+Cut off interval output at the given time(s),
+given in decimal seconds since 1970-01-01 00:00:00
+Coordinated Universal Time (UTC).
+The
+.I timezone
+determines whether the count includes leap seconds.
+As with
+.BR \*-c ,
+the cutoff's lower bound is inclusive and its upper bound is exclusive.
+.SH "INTERVAL FORMAT"
+The interval format is a compact text representation that is intended
+to be both human- and machine-readable. It consists of an empty line,
+then a line
+.q "TZ=\fIstring\fP"
+where
+.I string
+is a double-quoted string giving the timezone, a second line
+.q "\*- \*- \fIinterval\fP"
+describing the time interval before the first transition if any, and
+zero or more following lines
+.q "\fIdate time interval\fP",
+one line for each transition time and following interval. Fields are
+separated by single tabs.
+.P
+Dates are in
+.IR yyyy - mm - dd
+format and times are in 24-hour
+.IR hh : mm : ss
+format where
+.IR hh <24.
+Times are in local time immediately after the transition. A
+time interval description consists of a UT offset in signed
+.RI \(+- hhmmss
+format, a time zone abbreviation, and an isdst flag. An abbreviation
+that equals the UT offset is omitted; other abbreviations are
+double-quoted strings unless they consist of one or more alphabetic
+characters. An isdst flag is omitted for standard time, and otherwise
+is a decimal integer that is unsigned and positive (typically 1) for
+daylight saving time and negative for unknown.
+.P
+In times and in UT offsets with absolute value less than 100 hours,
+the seconds are omitted if they are zero, and
+the minutes are also omitted if they are also zero. Positive UT
+offsets are east of Greenwich. The UT offset \*-00 denotes a UT
+placeholder in areas where the actual offset is unspecified; by
+convention, this occurs when the UT offset is zero and the time zone
+abbreviation begins with
+.q "\*-"
+or is
+.q "zzz".
+.P
+In double-quoted strings, escape sequences represent unusual
+characters. The escape sequences are \es for space, and \e", \e\e,
+\ef, \en, \er, \et, and \ev with their usual meaning in the C
+programming language. E.g., the double-quoted string
+\*(lq"CET\es\e"\e\e"\*(rq represents the character sequence \*(lqCET
+"\e\*(rq.\""
+.P
+.ne 9
+Here is an example of the output, with the leading empty line omitted.
+(This example is shown with tab stops set far enough apart so that the
+tabbed columns line up.)
+.nf
+.sp
+.if \n(.g .ft CR
+.if t .in +.5i
+.if n .in +2
+.nr w \w'1896-01-13 'u+\n(.i
+.ta \w'1896-01-13 'u +\w'12:01:26 'u +\w'-103126 'u +\w'HWT 'u
+TZ="Pacific/Honolulu"
+- - -103126 LMT
+1896-01-13 12:01:26 -1030 HST
+1933-04-30 03 -0930 HDT 1
+1933-05-21 11 -1030 HST
+1942-02-09 03 -0930 HWT 1
+1945-08-14 13:30 -0930 HPT 1
+1945-09-30 01 -1030 HST
+1947-06-08 02:30 -10 HST
+.in
+.if \n(.g .ft
+.sp
+.fi
+Here, local time begins 10 hours, 31 minutes and 26 seconds west of
+UT, and is a standard time abbreviated LMT. Immediately after the
+first transition, the date is 1896-01-13 and the time is 12:01:26, and
+the following time interval is 10.5 hours west of UT, a standard time
+abbreviated HST. Immediately after the second transition, the date is
+1933-04-30 and the time is 03:00:00 and the following time interval is
+9.5 hours west of UT, is abbreviated HDT, and is daylight saving time.
+Immediately after the last transition the date is 1947-06-08 and the
+time is 02:30:00, and the following time interval is 10 hours west of
+UT, a standard time abbreviated HST.
+.P
+.ne 10
+Here are excerpts from another example:
+.nf
+.sp
+.if \n(.g .ft CR
+.if t .in +.5i
+.if n .in +2
+TZ="Europe/Astrakhan"
+- - +031212 LMT
+1924-04-30 23:47:48 +03
+1930-06-21 01 +04
+1981-04-01 01 +05 1
+1981-09-30 23 +04
+\&...
+2014-10-26 01 +03
+2016-03-27 03 +04
+.in
+.if \n(.g .ft
+.sp
+.fi
+This time zone is east of UT, so its UT offsets are positive. Also,
+many of its time zone abbreviations are omitted since they duplicate
+the text of the UT offset.
+.SH LIMITATIONS
+Time discontinuities are found by sampling the results returned by
+.BR localtime (3)
+at twelve-hour intervals.
+This works in all real-world cases;
+one can construct artificial time zones for which this fails.
+.P
+In the
+.B \*-v
+and
+.B \*-V
+output,
+.q "UT"
+denotes the value returned by
+.BR gmtime (3),
+which uses UTC for modern timestamps and some other UT flavor for
+timestamps that predate the introduction of UTC.
+No attempt is currently made to have the output use
+.q "UTC"
+for newer and
+.q "UT"
+for older timestamps, partly because the exact date of the
+introduction of UTC is problematic.
+.SH SEE ALSO
+.BR tzfile (5),
+.BR zic (8)
diff --git a/upstream/fedora-40/man8/zic.8 b/upstream/fedora-40/man8/zic.8
new file mode 100644
index 00000000..557ccd28
--- /dev/null
+++ b/upstream/fedora-40/man8/zic.8
@@ -0,0 +1,903 @@
+.\" This file is in the public domain, so clarified as of
+.\" 2009-05-17 by Arthur David Olson.
+.TH zic 8 "" "Time Zone Database"
+.SH NAME
+zic \- timezone compiler
+.SH SYNOPSIS
+.B zic
+[
+.I option
+\&... ] [
+.I filename
+\&... ]
+.SH DESCRIPTION
+.ie '\(lq'' .ds lq \&"\"
+.el .ds lq \(lq\"
+.ie '\(rq'' .ds rq \&"\"
+.el .ds rq \(rq\"
+.de q
+\\$3\*(lq\\$1\*(rq\\$2
+..
+.ie '\(la'' .ds < <
+.el .ds < \(la
+.ie '\(ra'' .ds > >
+.el .ds > \(ra
+.ie \n(.g \{\
+. ds : \:
+. ds - \f(CR-\fP
+.\}
+.el \{\
+. ds :
+. ds - \-
+.\}
+.ds d " degrees
+.ds m " minutes
+.ds s " seconds
+.ds _ " \&
+.if t \{\
+. if \n(.g .if c \(de .if c \(fm .if c \(sd \{\
+. ds d \(de
+. ds m \(fm
+. ds s \(sd
+. ds _ \|
+. \}
+.\}
+The
+.B zic
+program reads text from the file(s) named on the command line
+and creates the timezone information format (TZif) files
+specified in this input.
+If a
+.I filename
+is
+.q "\*-" ,
+standard input is read.
+.SH OPTIONS
+.TP
+.B "\*-\*-version"
+Output version information and exit.
+.TP
+.B \*-\*-help
+Output short usage message and exit.
+.TP
+.BI "\*-b " bloat
+Output backward-compatibility data as specified by
+.IR bloat .
+If
+.I bloat
+is
+.BR fat ,
+generate additional data entries that work around potential bugs or
+incompatibilities in older software, such as software that mishandles
+the 64-bit generated data.
+If
+.I bloat
+is
+.BR slim ,
+keep the output files small; this can help check for the bugs
+and incompatibilities.
+The default is
+.BR slim ,
+as software that mishandles 64-bit data typically
+mishandles timestamps after the year 2038 anyway.
+Also see the
+.B \*-r
+option for another way to alter output size.
+.TP
+.BI "\*-d " directory
+Create time conversion information files in the named directory rather than
+in the standard directory named below.
+.TP
+.BI "\*-l " timezone
+Use
+.I timezone
+as local time.
+.B zic
+will act as if the input contained a link line of the form
+.sp
+.ti +.5i
+.ta \w'Link\0\0'u +\w'\fItimezone\fP\0\0'u
+Link \fItimezone\fP localtime
+.sp
+If
+.I timezone
+is
+.BR \*- ,
+any already-existing link is removed.
+.TP
+.BI "\*-L " leapsecondfilename
+Read leap second information from the file with the given name.
+If this option is not used,
+no leap second information appears in output files.
+.TP
+.BI "\*-p " timezone
+Use
+.IR timezone 's
+rules when handling nonstandard
+TZ strings like "EET\*-2EEST" that lack transition rules.
+.B zic
+will act as if the input contained a link line of the form
+.sp
+.ti +.5i
+Link \fItimezone\fP posixrules
+.sp
+Unless
+.I timezone is
+.q "\*-" ,
+this option is obsolete and poorly supported.
+Among other things it should not be used for timestamps after the year 2037,
+and it should not be combined with
+.B "\*-b slim"
+if
+.IR timezone 's
+transitions are at standard time or Universal Time (UT) instead of local time.
+.sp
+If
+.I timezone
+is
+.BR \*- ,
+any already-existing link is removed.
+.TP
+.BR "\*-r " "[\fB@\fP\fIlo\fP][\fB/@\fP\fIhi\fP]"
+Limit the applicability of output files
+to timestamps in the range from
+.I lo
+(inclusive) to
+.I hi
+(exclusive), where
+.I lo
+and
+.I hi
+are possibly signed decimal counts of seconds since the Epoch
+(1970-01-01 00:00:00 UTC).
+Omitted counts default to extreme values.
+The output files use UT offset 0 and abbreviation
+.q "\*-00"
+in place of the omitted timestamp data.
+For example,
+.q "zic \*-r @0"
+omits data intended for negative timestamps (i.e., before the Epoch), and
+.q "zic \*-r @0/@2147483648"
+outputs data intended only for nonnegative timestamps that fit into
+31-bit signed integers.
+On platforms with GNU
+.BR date ,
+.q "zic \*-r @$(date +%s)"
+omits data intended for past timestamps.
+Although this option typically reduces the output file's size,
+the size can increase due to the need to represent the timestamp range
+boundaries, particularly if
+.I hi
+causes a TZif file to contain explicit entries for
+.RI pre- hi
+transitions rather than concisely representing them
+with an extended POSIX TZ string.
+Also see the
+.B "\*-b slim"
+option for another way to shrink output size.
+.TP
+.BI "\*-R @" hi
+Generate redundant trailing explicit transitions for timestamps
+that occur less than
+.I hi
+seconds since the Epoch, even though the transitions could be
+more concisely represented via the extended POSIX TZ string.
+This option does not affect the represented timestamps.
+Although it accommodates nonstandard TZif readers
+that ignore the extended POSIX TZ string,
+it increases the size of the altered output files.
+.TP
+.BI "\*-t " file
+When creating local time information, put the configuration link in
+the named file rather than in the standard location.
+.TP
+.B \*-v
+Be more verbose, and complain about the following situations:
+.RS
+.P
+The input specifies a link to a link,
+something not supported by some older parsers, including
+.B zic
+itself through release 2022e.
+.P
+A year that appears in a data file is outside the range
+of representable years.
+.P
+A time of 24:00 or more appears in the input.
+Pre-1998 versions of
+.B zic
+prohibit 24:00, and pre-2007 versions prohibit times greater than 24:00.
+.P
+A rule goes past the start or end of the month.
+Pre-2004 versions of
+.B zic
+prohibit this.
+.P
+A time zone abbreviation uses a
+.B %z
+format.
+Pre-2015 versions of
+.B zic
+do not support this.
+.P
+A timestamp contains fractional seconds.
+Pre-2018 versions of
+.B zic
+do not support this.
+.P
+The input contains abbreviations that are mishandled by pre-2018 versions of
+.B zic
+due to a longstanding coding bug.
+These abbreviations include
+.q L
+for
+.q Link ,
+.q mi
+for
+.q min ,
+.q Sa
+for
+.q Sat ,
+and
+.q Su
+for
+.q Sun .
+.P
+The output file does not contain all the information about the
+long-term future of a timezone, because the future cannot be summarized as
+an extended POSIX TZ string. For example, as of 2023 this problem
+occurs for Morocco's daylight-saving rules, as these rules are based
+on predictions for when Ramadan will be observed, something that
+an extended POSIX TZ string cannot represent.
+.P
+The output contains data that may not be handled properly by client
+code designed for older
+.B zic
+output formats. These compatibility issues affect only timestamps
+before 1970 or after the start of 2038.
+.P
+The output contains a truncated leap second table,
+which can cause some older TZif readers to misbehave.
+This can occur if the
+.B "\*-L"
+option is used, and either an Expires line is present or
+the
+.B "\*-r"
+option is also used.
+.P
+The output file contains more than 1200 transitions,
+which may be mishandled by some clients.
+The current reference client supports at most 2000 transitions;
+pre-2014 versions of the reference client support at most 1200
+transitions.
+.P
+A time zone abbreviation has fewer than 3 or more than 6 characters.
+POSIX requires at least 3, and requires implementations to support
+at least 6.
+.P
+An output file name contains a byte that is not an ASCII letter,
+.q "\*-" ,
+.q "/" ,
+or
+.q "_" ;
+or it contains a file name component that contains more than 14 bytes
+or that starts with
+.q "\*-" .
+.RE
+.SH FILES
+Input files use the format described in this section; output files use
+.BR tzfile (5)
+format.
+.P
+Input files should be text files, that is, they should be a series of
+zero or more lines, each ending in a newline byte and containing at
+most 2048 bytes counting the newline, and without any NUL bytes.
+The input text's encoding
+is typically UTF-8 or ASCII; it should have a unibyte representation
+for the POSIX Portable Character Set (PPCS)
+\*<https://pubs\*:.opengroup\*:.org/\*:onlinepubs/\*:9699919799/\*:basedefs/\*:V1_chap06\*:.html\*>
+and the encoding's non-unibyte characters should consist entirely of
+non-PPCS bytes. Non-PPCS characters typically occur only in comments:
+although output file names and time zone abbreviations can contain
+nearly any character, other software will work better if these are
+limited to the restricted syntax described under the
+.B \*-v
+option.
+.P
+Input lines are made up of fields.
+Fields are separated from one another by one or more white space characters.
+The white space characters are space, form feed, carriage return, newline,
+tab, and vertical tab.
+Leading and trailing white space on input lines is ignored.
+An unquoted sharp character (#) in the input introduces a comment which extends
+to the end of the line the sharp character appears on.
+White space characters and sharp characters may be enclosed in double quotes
+(") if they're to be used as part of a field.
+Any line that is blank (after comment stripping) is ignored.
+Nonblank lines are expected to be of one of three types:
+rule lines, zone lines, and link lines.
+.P
+Names must be in English and are case insensitive.
+They appear in several contexts, and include month and weekday names
+and keywords such as
+.BR "maximum" ,
+.BR "only" ,
+.BR "Rolling" ,
+and
+.BR "Zone" .
+A name can be abbreviated by omitting all but an initial prefix; any
+abbreviation must be unambiguous in context.
+.P
+A rule line has the form
+.nf
+.ti +.5i
+.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'\*-\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00w\0\0'u +\w'1:00d\0\0'u
+.sp
+Rule NAME FROM TO \*- IN ON AT SAVE LETTER/S
+.sp
+For example:
+.ti +.5i
+.sp
+Rule US 1967 1973 \*- Apr lastSun 2:00w 1:00d D
+.sp
+.fi
+The fields that make up a rule line are:
+.TP "\w'LETTER/S'u"
+.B NAME
+Gives the name of the rule set that contains this line.
+The name must start with a character that is neither
+an ASCII digit nor
+.q \*-
+nor
+.q + .
+To allow for future extensions,
+an unquoted name should not contain characters from the set
+.ie \n(.g .q \f(CR!$%&\(aq()*,/:;<=>?@[\e]\(ha\(ga{|}\(ti\fP .
+.el .ie t .q \f(CW!$%&'()*,/:;<=>?@[\e]^\(ga{|}~\fP .
+.el .q !$%&'()*,/:;<=>?@[\e]^`{|}~ .
+.TP
+.B FROM
+Gives the first year in which the rule applies.
+Any signed integer year can be supplied; the proleptic Gregorian calendar
+is assumed, with year 0 preceding year 1.
+The word
+.B minimum
+(or an abbreviation) means the indefinite past.
+The word
+.B maximum
+(or an abbreviation) means the indefinite future.
+Rules can describe times that are not representable as time values,
+with the unrepresentable times ignored; this allows rules to be portable
+among hosts with differing time value types.
+.TP
+.B TO
+Gives the final year in which the rule applies.
+In addition to
+.B minimum
+and
+.B maximum
+(as above),
+the word
+.B only
+(or an abbreviation)
+may be used to repeat the value of the
+.B FROM
+field.
+.TP
+.B \*-
+Is a reserved field and should always contain
+.q \*-
+for compatibility with older versions of
+.BR zic .
+It was previously known as the
+.B TYPE
+field, which could contain values to allow a
+separate script to further restrict in which
+.q types
+of years the rule would apply.
+.TP
+.B IN
+Names the month in which the rule takes effect.
+Month names may be abbreviated.
+.TP
+.B ON
+Gives the day on which the rule takes effect.
+Recognized forms include:
+.nf
+.in +.5i
+.sp
+.ta \w'Sun<=25\0\0'u
+5 the fifth of the month
+lastSun the last Sunday in the month
+lastMon the last Monday in the month
+Sun>=8 first Sunday on or after the eighth
+Sun<=25 last Sunday on or before the 25th
+.fi
+.in -.5i
+.sp
+A weekday name (e.g.,
+.BR "Sunday" )
+or a weekday name preceded by
+.q "last"
+(e.g.,
+.BR "lastSunday" )
+may be abbreviated or spelled out in full.
+There must be no white space characters within the
+.B ON
+field.
+The
+.q <=
+and
+.q >=
+constructs can result in a day in the neighboring month;
+for example, the IN-ON combination
+.q "Oct Sun>=31"
+stands for the first Sunday on or after October 31,
+even if that Sunday occurs in November.
+.TP
+.B AT
+Gives the time of day at which the rule takes effect,
+relative to 00:00, the start of a calendar day.
+Recognized forms include:
+.nf
+.in +.5i
+.sp
+.ta \w'00:19:32.13\0\0'u
+2 time in hours
+2:00 time in hours and minutes
+01:28:14 time in hours, minutes, and seconds
+00:19:32.13 time with fractional seconds
+12:00 midday, 12 hours after 00:00
+15:00 3 PM, 15 hours after 00:00
+24:00 end of day, 24 hours after 00:00
+260:00 260 hours after 00:00
+\*-2:30 2.5 hours before 00:00
+\*- equivalent to 0
+.fi
+.in -.5i
+.sp
+Although
+.B zic
+rounds times to the nearest integer second
+(breaking ties to the even integer), the fractions may be useful
+to other applications requiring greater precision.
+The source format does not specify any maximum precision.
+Any of these forms may be followed by the letter
+.B w
+if the given time is local or
+.q "wall clock"
+time,
+.B s
+if the given time is standard time without any adjustment for daylight saving,
+or
+.B u
+(or
+.B g
+or
+.BR z )
+if the given time is universal time;
+in the absence of an indicator,
+local (wall clock) time is assumed.
+These forms ignore leap seconds; for example,
+if a leap second occurs at 00:59:60 local time,
+.q "1:00"
+stands for 3601 seconds after local midnight instead of the usual 3600 seconds.
+The intent is that a rule line describes the instants when a
+clock/calendar set to the type of time specified in the
+.B AT
+field would show the specified date and time of day.
+.TP
+.B SAVE
+Gives the amount of time to be added to local standard time when the rule is in
+effect, and whether the resulting time is standard or daylight saving.
+This field has the same format as the
+.B AT
+field
+except with a different set of suffix letters:
+.B s
+for standard time and
+.B d
+for daylight saving time.
+The suffix letter is typically omitted, and defaults to
+.B s
+if the offset is zero and to
+.B d
+otherwise.
+Negative offsets are allowed; in Ireland, for example, daylight saving
+time is observed in winter and has a negative offset relative to
+Irish Standard Time.
+The offset is merely added to standard time; for example,
+.B zic
+does not distinguish a 10:30 standard time plus an 0:30
+.B SAVE
+from a 10:00 standard time plus a 1:00
+.BR SAVE .
+.TP
+.B LETTER/S
+Gives the
+.q "variable part"
+(for example, the
+.q "S"
+or
+.q "D"
+in
+.q "EST"
+or
+.q "EDT" )
+of time zone abbreviations to be used when this rule is in effect.
+If this field is
+.q \*- ,
+the variable part is null.
+.P
+A zone line has the form
+.sp
+.nf
+.ti +.5i
+.ta \w'Zone\0\0'u +\w'Asia/Amman\0\0'u +\w'STDOFF\0\0'u +\w'Jordan\0\0'u +\w'FORMAT\0\0'u
+Zone NAME STDOFF RULES FORMAT [UNTIL]
+.sp
+For example:
+.sp
+.ti +.5i
+Zone Asia/Amman 2:00 Jordan EE%sT 2017 Oct 27 01:00
+.sp
+.fi
+The fields that make up a zone line are:
+.TP "\w'STDOFF'u"
+.B NAME
+The name of the timezone.
+This is the name used in creating the time conversion information file for the
+timezone.
+It should not contain a file name component
+.q ".\&"
+or
+.q ".." ;
+a file name component is a maximal substring that does not contain
+.q "/" .
+.TP
+.B STDOFF
+The amount of time to add to UT to get standard time,
+without any adjustment for daylight saving.
+This field has the same format as the
+.B AT
+and
+.B SAVE
+fields of rule lines, except without suffix letters;
+begin the field with a minus sign if time must be subtracted from UT.
+.TP
+.B RULES
+The name of the rules that apply in the timezone or,
+alternatively, a field in the same format as a rule-line SAVE column,
+giving the amount of time to be added to local standard time
+and whether the resulting time is standard or daylight saving.
+If this field is
+.B \*-
+then standard time always applies.
+When an amount of time is given, only the sum of standard time and
+this amount matters.
+.TP
+.B FORMAT
+The format for time zone abbreviations.
+The pair of characters
+.B %s
+is used to show where the
+.q "variable part"
+of the time zone abbreviation goes.
+Alternatively, a format can use the pair of characters
+.B %z
+to stand for the UT offset in the form
+.RI \(+- hh ,
+.RI \(+- hhmm ,
+or
+.RI \(+- hhmmss ,
+using the shortest form that does not lose information, where
+.IR hh ,
+.IR mm ,
+and
+.I ss
+are the hours, minutes, and seconds east (+) or west (\-) of UT.
+Alternatively,
+a slash (/)
+separates standard and daylight abbreviations.
+To conform to POSIX, a time zone abbreviation should contain only
+alphanumeric ASCII characters,
+.q "+"
+and
+.q "\*-".
+By convention, the time zone abbreviation
+.q "\*-00"
+is a placeholder that means local time is unspecified.
+.TP
+.B UNTIL
+The time at which the UT offset or the rule(s) change for a location.
+It takes the form of one to four fields YEAR [MONTH [DAY [TIME]]].
+If this is specified,
+the time zone information is generated from the given UT offset
+and rule change until the time specified, which is interpreted using
+the rules in effect just before the transition.
+The month, day, and time of day have the same format as the IN, ON, and AT
+fields of a rule; trailing fields can be omitted, and default to the
+earliest possible value for the missing fields.
+.IP
+The next line must be a
+.q "continuation"
+line; this has the same form as a zone line except that the
+string
+.q "Zone"
+and the name are omitted, as the continuation line will
+place information starting at the time specified as the
+.q "until"
+information in the previous line in the file used by the previous line.
+Continuation lines may contain
+.q "until"
+information, just as zone lines do, indicating that the next line is a further
+continuation.
+.P
+If a zone changes at the same instant that a rule would otherwise take
+effect in the earlier zone or continuation line, the rule is ignored.
+A zone or continuation line
+.I L
+with a named rule set starts with standard time by default:
+that is, any of
+.IR L 's
+timestamps preceding
+.IR L 's
+earliest rule use the rule in effect after
+.IR L 's
+first transition into standard time.
+In a single zone it is an error if two rules take effect at the same
+instant, or if two zone changes take effect at the same instant.
+.P
+If a continuation line subtracts
+.I N
+seconds from the UT offset after a transition that would be
+interpreted to be later if using the continuation line's UT offset and
+rules, the
+.q "until"
+time of the previous zone or continuation line is interpreted
+according to the continuation line's UT offset and rules, and any rule
+that would otherwise take effect in the next
+.I N
+seconds is instead assumed to take effect simultaneously.
+For example:
+.br
+.ne 7
+.nf
+.in +2m
+.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'2006\0\0'u +\w'\*-\0\0'u +\w'Oct\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
+.sp
+# Rule NAME FROM TO \*- IN ON AT SAVE LETTER/S
+Rule US 1967 2006 - Oct lastSun 2:00 0 S
+Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
+.ta \w'Zone\0\0America/Menominee\0\0'u +\w'STDOFF\0\0'u +\w'RULES\0\0'u +\w'FORMAT\0\0'u
+# Zone\0\0NAME STDOFF RULES FORMAT [UNTIL]
+Zone\0\0America/Menominee \*-5:00 \*- EST 1973 Apr 29 2:00
+ \*-6:00 US C%sT
+.sp
+.in
+.fi
+Here, an incorrect reading would be there were two clock changes on 1973-04-29,
+the first from 02:00 EST (\*-05) to 01:00 CST (\*-06),
+and the second an hour later from 02:00 CST (\*-06) to 03:00 CDT (\*-05).
+However,
+.B zic
+interprets this more sensibly as a single transition from 02:00 CST (\*-05) to
+02:00 CDT (\*-05).
+.P
+A link line has the form
+.sp
+.nf
+.ti +.5i
+.ta \w'Link\0\0'u +\w'Europe/Istanbul\0\0'u
+Link TARGET LINK-NAME
+.sp
+For example:
+.sp
+.ti +.5i
+Link Europe/Istanbul Asia/Istanbul
+.sp
+.fi
+The
+.B TARGET
+field should appear as the
+.B NAME
+field in some zone line or as the
+.B LINK-NAME
+field in some link line.
+The
+.B LINK-NAME
+field is used as an alternative name for that zone;
+it has the same syntax as a zone line's
+.B NAME
+field.
+Links can chain together, although the behavior is unspecified if a
+chain of one or more links does not terminate in a Zone name.
+A link line can appear before the line that defines the link target.
+For example:
+.sp
+.ne 3
+.nf
+.in +2m
+.ta \w'Zone\0\0'u +\w'Greenwich\0\0'u
+Link Greenwich G_M_T
+Link Etc/GMT Greenwich
+Zone Etc/GMT\0\00\0\0\*-\0\0GMT
+.sp
+.in
+.fi
+The two links are chained together, and G_M_T, Greenwich, and Etc/GMT
+all name the same zone.
+.P
+Except for continuation lines,
+lines may appear in any order in the input.
+However, the behavior is unspecified if multiple zone or link lines
+define the same name.
+.P
+The file that describes leap seconds can have leap lines and an
+expiration line.
+Leap lines have the following form:
+.nf
+.ti +.5i
+.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u
+.sp
+Leap YEAR MONTH DAY HH:MM:SS CORR R/S
+.sp
+For example:
+.ti +.5i
+.sp
+Leap 2016 Dec 31 23:59:60 + S
+.sp
+.fi
+The
+.BR YEAR ,
+.BR MONTH ,
+.BR DAY ,
+and
+.B HH:MM:SS
+fields tell when the leap second happened.
+The
+.B CORR
+field
+should be
+.q "+"
+if a second was added
+or
+.q "\*-"
+if a second was skipped.
+The
+.B R/S
+field
+should be (an abbreviation of)
+.q "Stationary"
+if the leap second time given by the other fields should be interpreted as UTC
+or
+(an abbreviation of)
+.q "Rolling"
+if the leap second time given by the other fields should be interpreted as
+local (wall clock) time.
+.P
+Rolling leap seconds were implemented back when it was not
+clear whether common practice was rolling or stationary,
+with concerns that one would see
+Times Square ball drops where there'd be a
+.q "3... 2... 1... leap... Happy New Year"
+countdown, placing the leap second at
+midnight New York time rather than midnight UTC.
+However, this countdown style does not seem to have caught on,
+which means rolling leap seconds are not used in practice;
+also, they are not supported if the
+.B \*-r
+option is used.
+.P
+The expiration line, if present, has the form:
+.nf
+.ti +.5i
+.ta \w'Expires\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u
+.sp
+Expires YEAR MONTH DAY HH:MM:SS
+.sp
+For example:
+.ti +.5i
+.sp
+Expires 2020 Dec 28 00:00:00
+.sp
+.fi
+The
+.BR YEAR ,
+.BR MONTH ,
+.BR DAY ,
+and
+.B HH:MM:SS
+fields give the expiration timestamp in UTC for the leap second table.
+.br
+.ne 22
+.SH "EXTENDED EXAMPLE"
+Here is an extended example of
+.B zic
+input, intended to illustrate many of its features.
+.nf
+.in +2m
+.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'\*-\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
+.sp
+# Rule NAME FROM TO \*- IN ON AT SAVE LETTER/S
+Rule Swiss 1941 1942 \*- May Mon>=1 1:00 1:00 S
+Rule Swiss 1941 1942 \*- Oct Mon>=1 2:00 0 \*-
+.sp .5
+Rule EU 1977 1980 \*- Apr Sun>=1 1:00u 1:00 S
+Rule EU 1977 only \*- Sep lastSun 1:00u 0 \*-
+Rule EU 1978 only \*- Oct 1 1:00u 0 \*-
+Rule EU 1979 1995 \*- Sep lastSun 1:00u 0 \*-
+Rule EU 1981 max \*- Mar lastSun 1:00u 1:00 S
+Rule EU 1996 max \*- Oct lastSun 1:00u 0 \*-
+.sp
+.ta \w'# Zone\0\0'u +\w'Europe/Zurich\0\0'u +\w'0:29:45.50\0\0'u +\w'RULES\0\0'u +\w'FORMAT\0\0'u
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
+Zone Europe/Zurich 0:34:08 \*- LMT 1853 Jul 16
+ 0:29:45.50 \*- BMT 1894 Jun
+ 1:00 Swiss CE%sT 1981
+ 1:00 EU CE%sT
+.sp
+Link Europe/Zurich Europe/Vaduz
+.sp
+.in
+.fi
+In this example, the EU rules are for the European Union
+and for its predecessor organization, the European Communities.
+The timezone is named Europe/Zurich and it has the alias Europe/Vaduz.
+This example says that Zurich was 34 minutes and 8
+seconds east of UT until 1853-07-16 at 00:00, when the legal offset
+was changed to
+7\*d\*_26\*m\*_22.50\*s,
+which works out to 0:29:45.50;
+.B zic
+treats this by rounding it to 0:29:46.
+After 1894-06-01 at 00:00 the UT offset became one hour
+and Swiss daylight saving rules (defined with lines beginning with
+.q "Rule Swiss")
+apply. From 1981 to the present, EU daylight saving rules have
+applied, and the UTC offset has remained at one hour.
+.P
+In 1941 and 1942, daylight saving time applied from the first Monday
+in May at 01:00 to the first Monday in October at 02:00.
+The pre-1981 EU daylight-saving rules have no effect
+here, but are included for completeness. Since 1981, daylight
+saving has begun on the last Sunday in March at 01:00 UTC.
+Until 1995 it ended the last Sunday in September at 01:00 UTC,
+but this changed to the last Sunday in October starting in 1996.
+.P
+For purposes of display,
+.q "LMT"
+and
+.q "BMT"
+were initially used, respectively. Since
+Swiss rules and later EU rules were applied, the time zone abbreviation
+has been CET for standard time and CEST for daylight saving
+time.
+.SH FILES
+.TP
+.I /etc/localtime
+Default local timezone file.
+.TP
+.I /usr/share/zoneinfo
+Default timezone information directory.
+.SH NOTES
+For areas with more than two types of local time,
+you may need to use local standard time in the
+.B AT
+field of the earliest transition time's rule to ensure that
+the earliest transition time recorded in the compiled file is correct.
+.P
+If,
+for a particular timezone,
+a clock advance caused by the start of daylight saving
+coincides with and is equal to
+a clock retreat caused by a change in UT offset,
+.B zic
+produces a single transition to daylight saving at the new UT offset
+without any change in local (wall clock) time.
+To get separate transitions
+use multiple zone continuation lines
+specifying transition instants using universal time.
+.SH SEE ALSO
+.BR tzfile (5),
+.BR zdump (8)