Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 1.99 KB

README.md

File metadata and controls

31 lines (20 loc) · 1.99 KB

CopyOnWrite (CoW) in Rust

Status

OS File System Status
Linux btrfs E2E Linux (btrfs)
Linux xfs E2E Linux (xfs)
Windows ReFS E2E Windows (ReFS)
MacOS APFS E2E MacOS (APFS)

Note: Linux and Windows tests run in Google Cloud VMs to ensure the correct file system is used. MacOS tests run only GitHub Actions.

Description

This project is an implementation of Copy-On-Write (CoW) or reflinks in Rust. It provides file copy functionalities that are optimized for different file systems and operating systems.

Features

  • Unix/MacOS: Uses the reflink-copy crate for CoW support.
  • Windows: Native implementation supporting ReFS drives (Windows Server 2016+ and Windows 11 Dev Drives).

Usage Demo

Here's a simple demo showing how to use this library.

use copy_on_write::reflink_file_sync;

reflink_file_sync(src, dst);