| <?xml version="1.0"?> |
| <!--*-nxml-*--> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
| <!-- SPDX-License-Identifier: LGPL-2.1-or-later --> |
| <refentry id="systemd-makefs@.service"> |
| |
| <refentryinfo> |
| <title>systemd-makefs@.service</title> |
| <productname>systemd</productname> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>systemd-makefs@.service</refentrytitle> |
| <manvolnum>8</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>systemd-makefs@.service</refname> |
| <refname>systemd-mkswap@.service</refname> |
| <refname>systemd-growfs@.service</refname> |
| <refname>systemd-makefs</refname> |
| <refname>systemd-growfs</refname> |
| <refpurpose>Creating and growing file systems on demand</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <para><filename>systemd-makefs@<replaceable>device</replaceable>.service</filename></para> |
| <para><filename>systemd-mkswap@<replaceable>device</replaceable>.service</filename></para> |
| <para><filename>systemd-growfs@<replaceable>mountpoint</replaceable>.service</filename></para> |
| <para><filename>/usr/lib/systemd/systemd-makefs</filename></para> |
| <para><filename>/usr/lib/systemd/systemd-growfs</filename></para> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para><filename>systemd-makefs@.service</filename>, |
| <filename>systemd-mkswap@.service</filename>, and |
| <filename>systemd-growfs@.service</filename> are used to implement the |
| <option>x-systemd.makefs</option> and <option>x-systemd.growfs</option> options |
| in <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| see <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>. |
| 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.</para> |
| |
| <para>These services are started at boot, either right before or right after the |
| mount point or swap device are used.</para> |
| |
| <para><filename>systemd-makefs</filename> 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 (<filename>/sbin/mkfs.<replaceable>type</replaceable></filename> |
| or <filename>/sbin/mkswap</filename>).</para> |
| |
| <para><filename>systemd-growfs</filename> 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 |
| <citerefentry project='man-pages'><refentrytitle>ioctl</refentrytitle><manvolnum>2</manvolnum></citerefentry> |
| number specific to each file system, so only certain types are supported. |
| Currently: |
| <citerefentry project='man-pages'><refentrytitle>ext4</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry project='url'><refentrytitle url='https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs(5)'>btrfs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>xfs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
| <!-- yes, that's what the man page is called. --> |
| and dm-crypt partitions (see |
| <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>). |
| </para> |
| |
| <para>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. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| <para> |
| <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd-repart</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.cramfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.ext4</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.fat</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.hfsplus</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.minix</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.ntfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry project='man-pages'><refentrytitle>mkfs.xfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> |
| </para> |
| </refsect1> |
| |
| </refentry> |