Skip to content

nachoaldamav/CopyOnWrite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);