{
    "mode": "man",
    "parameter": "btrfs-replace",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/btrfs-replace/8/json",
    "generated": "2026-10-09T12:59:03Z",
    "synopsis": "btrfs replace <subcommand> <args>",
    "sections": {
        "NAME": {
            "content": "btrfs-replace - replace devices managed by btrfs with other device\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "btrfs replace <subcommand> <args>\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "btrfs replace is used to replace btrfs managed devices with other device.\n",
            "subsections": []
        },
        "SUBCOMMAND": {
            "content": "",
            "subsections": [
                {
                    "name": "cancel <mount_point>",
                    "content": "Cancel a running device replace operation.\n"
                },
                {
                    "name": "start [options] <srcdev>|<devid> <targetdev> <path>",
                    "content": "Replace device of a btrfs filesystem.\n\nOn  a  live  filesystem,  duplicate  the  data to the target device which is currently\nstored on the source device.  If the source device is not available anymore, or if the\n-r option is set, the data is built only using the RAID redundancy mechanisms.   After\ncompletion of the operation, the source device is removed from the filesystem.  If the\nsrcdev is a numerical value, it is assumed to be the device id of the filesystem which\nis  mounted  at path, otherwise it is the path to the source device. If the source de‐\nvice is disconnected, from the system, you have to use  the  devid  parameter  format.\nThe targetdev needs to be same size or larger than the srcdev.\n\nNOTE:\nThe filesystem has to be resized to fully take advantage of a larger target device;\nthis can be achieved with btrfs filesystem resize <devid>:max /path\n\nOptions\n\n-r     only  read  from srcdev if no other zero-defect mirror exists.  (enable this if\nyour drive has lots of read errors, the access would be very slow)\n\n-f     force using and overwriting targetdev even if it looks like it contains a valid\nbtrfs filesystem.\n\nA valid filesystem is assumed if a btrfs superblock is found which  contains  a\ncorrect  checksum.  Devices  that are currently mounted are never allowed to be\nused as the targetdev.\n\n-B     no background replace.\n\n--enqueue\nwait if there's another exclusive operation running, otherwise continue\n\n-K|--nodiscard\nDo not perform whole device TRIM operation on devices that are capable of that.\nThis does not affect discard/trim operation when  the  filesystem  is  mounted.\nPlease see the mount option discard for that in btrfs(5).\n"
                },
                {
                    "name": "status [-1] <mount_point>",
                    "content": "Print status and progress information of a running device replace operation.\n\nOptions\n\n-1     print  once  instead of print continuously until the replace operation finishes\n(or is cancelled)\n"
                }
            ]
        },
        "EXAMPLES": {
            "content": "",
            "subsections": [
                {
                    "name": "Replacing an online drive with a bigger one",
                    "content": "Given the following filesystem mounted at /mnt/my-vault\n\nLabel: 'MyVault'  uuid: ae20903e-b72d-49ba-b944-901fc6d888a1\nTotal devices 2 FS bytes used 1TiB\ndevid    1 size 1TiB used 500.00GiB path /dev/sda\ndevid    2 size 1TiB used 500.00GiB path /dev/sdb\n\nIn order to replace /dev/sda (devid 1) with a bigger drive located at /dev/sdc you would  run\nthe following:\n\nbtrfs replace start 1 /dev/sdc /mnt/my-vault/\n\nYou can monitor progress via:\n\nbtrfs replace status /mnt/my-vault/\n\nAfter the replacement is complete, as per the docs at btrfs-filesystem(8) in order to use the\nentire storage space of the new drive you need to run:\n\nbtrfs filesystem resize 1:max /mnt/my-vault/\n"
                }
            ]
        },
        "EXIT STATUS": {
            "content": "btrfs  replace  returns  a  zero  exit status if it succeeds. Non zero is returned in case of\nfailure.\n",
            "subsections": []
        },
        "AVAILABILITY": {
            "content": "btrfs   is   part   of   btrfs-progs.     Please    refer    to    the    documentation    at\nhttps://btrfs.readthedocs.io.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "btrfs-device(8), btrfs-filesystem(8), mkfs.btrfs(8)\n\n\n6.6.3                                       Mar 31, 2024                            BTRFS-REPLACE(8)",
            "subsections": []
        }
    },
    "summary": "btrfs-replace - replace devices managed by btrfs with other device",
    "flags": [],
    "examples": [
        "Given the following filesystem mounted at /mnt/my-vault",
        "Label: 'MyVault'  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",
        "In order to replace /dev/sda (devid 1) with a bigger drive located at /dev/sdc you would  run",
        "the following:",
        "btrfs replace start 1 /dev/sdc /mnt/my-vault/",
        "You can monitor progress via:",
        "btrfs replace status /mnt/my-vault/",
        "After the replacement is complete, as per the docs at btrfs-filesystem(8) in order to use the",
        "entire storage space of the new drive you need to run:",
        "btrfs filesystem resize 1:max /mnt/my-vault/"
    ],
    "see_also": [
        {
            "name": "btrfs-device",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/btrfs-device/8/json"
        },
        {
            "name": "btrfs-filesystem",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/btrfs-filesystem/8/json"
        },
        {
            "name": "mkfs.btrfs",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/mkfs.btrfs/8/json"
        },
        {
            "name": "BTRFS-REPLACE",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/BTRFS-REPLACE/8/json"
        }
    ]
}