---
name: "gconcat"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/gconcat"
---

# gconcat(8)

disk concatenation control utility

## NAME

**gconcat** – disk concatenation control utility

## SYNOPSIS

**gconcat** **create** \[**-v**\] *name* *prov* *...*

**gconcat** **destroy** \[**-fv**\] *name* *...*

**gconcat** **label** \[**-hv**\] *name* *prov* *...*

**gconcat** **append** \[**-hv**\] *name* *prov*

**gconcat** **stop** \[**-fv**\] *name* *...*

**gconcat** **clear** \[**-v**\] *prov* *...*

**gconcat** **dump** *prov* *...*

**gconcat** \[**--libxo**\] **list**

**gconcat** \[**--libxo**\] **status**

**gconcat** **load**

**gconcat** **unload**

## DESCRIPTION

The **gconcat** utility is used for device concatenation configuration. The concatenation can be configured using two different methods: “manual” or “automatic”. When using the “manual” method, no metadata are stored on the devices, so the concatenated device has to be configured by hand every time it is needed. The “automatic” method uses on-disk metadata to detect devices. Once devices are labeled, they will be automatically detected and configured.

The first argument to **gconcat** indicates an action to be performed:

- **create**

  Concatenate the given devices with specified *name*. This is the “manual” method. The kernel module *geom\_concat.ko* will be loaded if it is not loaded already.

- **label**

  Concatenate the given devices with the specified *name*. This is the “automatic” method, where metadata are stored in every device's last sector. The kernel module *geom\_concat.ko* will be loaded if it is not loaded already.

  Additional options include:

  - **-h**

    Hardcode providers' names in metadata.

- **append**

  Append a new device to the end of an existing concatenate device with the specified *name*.

  If the existing device is using the “manual” method, the new device is simply appended as-is.

  If the existing device is using the “automatic” method, the device is appended persistently. New **gconcat** metadata is written to all existing components, as well as to the newly added one.

  Additional options include:

  - **-h**

    Hardcode providers' names in metadata.

- **stop**

  Turn off existing concatenate device by its *name*. This command does not touch on-disk metadata!

  Additional options include:

  - **-f**

    Stop the given device even if it is opened.

- **destroy**

  Same as **stop**.

- **clear**

  Clear metadata on the given devices.

- **dump**

  Dump metadata stored on the given devices.

- **list**

  See [geom(8)](/geom/8.md).

- **status**

  See [geom(8)](/geom/8.md).

- **load**

  See [geom(8)](/geom/8.md).

- **unload**

  See [geom(8)](/geom/8.md).

- **--libxo**

  Generate output via [libxo(3)](/libxo/3.md) in a selection of different human and machine readable formats. See [xo\_options(7)](/xo_options/7.md) for details on command line arguments.

Additional options:

- **-v**

  Be more verbose.

## SYSCTL VARIABLES

The following [sysctl(8)](/sysctl/8.md) variables can be used to control the behavior of the **CONCAT** GEOM class. The default value is shown next to each variable.

- *kern.geom.concat.debug*: 0

  Debug level of the **CONCAT** GEOM class. This can be set to a number between 0 and 3 inclusive. If set to 0 minimal debug information is printed, and if set to 3 the maximum amount of debug information is printed.

## EXIT STATUS

Exit status is 0 on success, and 1 if the command fails.

## EXAMPLES

The following example shows how to configure four disks for automatic concatenation, create a file system on it, and mount it:

```
gconcat label -v data /dev/da0 /dev/da1 /dev/da2 /dev/da3
newfs /dev/concat/data
mount /dev/concat/data /mnt
[...]
umount /mnt
gconcat stop data
gconcat unload
```

Configure concatenated provider on one disk only. Create file system. Add two more disks and extend existing file system.

```
gconcat label data /dev/da0
newfs /dev/concat/data
gconcat label data /dev/da0 /dev/da1 /dev/da2
growfs /dev/concat/data
```

## SEE ALSO

[geom(4)](/geom/4.md), [loader.conf(5)](/loader.conf/5.md), [xo\_options(7)](/xo_options/7.md), [geom(8)](/geom/8.md), [growfs(8)](/growfs/8.md), [mount(8)](/mount/8.md), [newfs(8)](/newfs/8.md), [sysctl(8)](/sysctl/8.md), [umount(8)](/umount/8.md)

## HISTORY

The **gconcat** utility appeared in FreeBSD 5.3.

## AUTHORS

Pawel Jakub Dawidek ⟨*pjd@FreeBSD.org*⟩
