Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
nachoaldamav authored Oct 24, 2023
1 parent 0d59842 commit 972ab8f
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# CopyOnWrite (CoW) in Rust

## Status

| OS | File System | Status |
|-------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Linux | btrfs | [![E2E Linux (btrfs)](https://github.com/nachoaldamav/CopyOnWrite/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/nachoaldamav/CopyOnWrite/actions/workflows/linux.yml) |
| Linux | xfs | [![E2E Linux (xfs)](https://github.com/nachoaldamav/CopyOnWrite/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/nachoaldamav/CopyOnWrite/actions/workflows/linux.yml) |
| Windows | ReFS | [![E2E Windows (ReFS)](https://github.com/nachoaldamav/CopyOnWrite/actions/workflows/windows.yml/badge.svg?branch=main)](https://github.com/nachoaldamav/CopyOnWrite/actions/workflows/windows.yml) |
| MacOS | APFS | |

> Note: All the tests run in Google Cloud VMs with the correct filesystem, this way we ensure the tests run correctly.
## 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.

```rust
use copy_on_write::reflink_file_sync;

reflink_file_sync(src, dst);
```

0 comments on commit 972ab8f

Please sign in to comment.