{
  "slug": "copy-up",
  "term": "Copy-up (OverlayFS)",
  "aliases": [
    "copy up",
    "OverlayFS copy-up"
  ],
  "definition": "Copy-up creates an upper-layer counterpart for a lower-layer object when an OverlayFS operation requires it.",
  "note": "Writable opens, metadata changes and hard-link creation can trigger copy-up. Metadata-only copy-up can defer regular-file data, so an upper entry is not proof that its payload has moved. [linux-overlayfs-612]\n\nLinux v6.12 tries cloning before copying file data. A new upper file therefore need not have independently allocated data blocks. A truncating open can set the transferred length to zero; copy-up is not an archival preservation operation. [linux-overlayfs-copy-up-612]",
  "advantages": [
    "Allows changes through the upper layer without rewriting the lower object."
  ],
  "limitations": [
    "The operation and configured features determine which metadata and data move.",
    "An upper-layer counterpart is not by itself a complete backup."
  ],
  "related": [
    "overlayfs",
    "metacopy"
  ],
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-04",
  "citations": [
    {
      "id": "linux-overlayfs-612",
      "title": "Linux 6.12: Overlay Filesystem, non-directories and metadata-only copy-up",
      "url": "https://docs.kernel.org/6.12/filesystems/overlayfs.html#metadata-only-copy-up",
      "accessed": "2026-11-04"
    },
    {
      "id": "linux-overlayfs-copy-up-612",
      "title": "Linux v6.12: OverlayFS copy-up eligibility, data transfer and truncation",
      "url": "https://github.com/torvalds/linux/blob/v6.12/fs/overlayfs/copy_up.c",
      "accessed": "2026-11-04"
    }
  ],
  "provenance": [
    "Source review of Linux 6.12 documentation and implementation; no mounted-overlay, restore or crash experiment."
  ]
}
