[go: up one dir, main page]

|
|
Log in / Subscribe / Register

Introducing overlayfs snapshots project

From:  Amir Goldstein <amir73il-AT-gmail.com>
To:  Miklos Szeredi <miklos-AT-szeredi.hu>
Subject:  Introducing overlayfs snapshots project
Date:  Wed, 7 Dec 2016 16:34:25 +0200
Message-ID:  <CAOQ4uxgQ=-2x0VHXzGwEcbfqi2Xz62a9JUHkDjUfWC0gJdkU5Q@mail.gmail.com>
Cc:  Al Viro <viro-AT-zeniv.linux.org.uk>, linux-unionfs-AT-vger.kernel.org, linux-fsdevel <linux-fsdevel-AT-vger.kernel.org>, linux-kernel <linux-kernel-AT-vger.kernel.org>

Hi All,

I am pleased to announce the overlayfs snapshots project.
Overlayfs snapshots bring file level snapshots capability
to any local file system.

Project requirements:
* Incremental read-only snapshots of directory sub-tree
* Independent of underlying local file system
* Snapshots use available file system disk space
* Snapshot deletion automatically frees up disk space
* Minimal performance overhead to file access in the writable mount
* POSIX compliance for file system operation in the writable mount
* File access to read-only snapshots may incur performance overhead
* Reading from snapshots may exhibit overlayfs non-standard behavior
* Take new snapshot in O(1) time and disk space
* No upper limit on number or size of snapshots

The project has a working POC[1] covering a partial list of the
requirements, a tailored test suite[2] to verify snapshots
consistency and a wiki[3] with more information about the project.

The kernel Documentation page is also available in nice formatting at:
https://github.com/amir73il/overlayfs/wiki/Snapshots-over...

Contributions to overlayfs snapshots project are most welcome
in the form of code review, testing, articles and public attention.

Comments and questions are always welcome.

Amir.

[1] https://github.com/amir73il/linux/tree/ovl_snapshot
[2] https://github.com/amir73il/unionmount-testsuite/tree/ovl...
[3] https://github.com/amir73il/overlayfs/wiki/Overlayfs-snap...

Summary of overlayfs snapshots patches in [1]:
----------------------------------------------
Amir Goldstein (10):
  ovl: introduce snapshot mount
  ovl: explicit copy up/whiteout requests from snapshot mount
  ovl: implement snapshot mount lookup
  ovl: cow file to snapshot on open for write
  ovl: cow file/dir to snapshot on ovl_want_write()
  ovl: redirect dir on rename in snapshot mount
  ovl: fix set_acl crash with snapshot mount
  ovl: real dir operations for snapshot mount
  ovl: unhash removed dentries from snapshot
  ovl: overlayfs snapshots documentation

 Documentation/filesystems/overlayfs-snapshots.txt | 196 +++++++++++++++++
 fs/overlayfs/Kconfig                              |   8 +
 fs/overlayfs/Makefile                             |   1 +
 fs/overlayfs/dir.c                                |  64 +++++-
 fs/overlayfs/inode.c                              |   2 +-
 fs/overlayfs/namei.c                              |  27 ++-
 fs/overlayfs/overlayfs.h                          |  14 ++
 fs/overlayfs/ovl_entry.h                          |   7 +-
 fs/overlayfs/readdir.c                            |   4 +-
 fs/overlayfs/snapshot.c                           | 115 ++++++++++
 fs/overlayfs/super.c                              | 253 +++++++++++++++++++---
 fs/overlayfs/util.c                               |  17 ++
 12 files changed, 661 insertions(+), 47 deletions(-)
 create mode 100644 Documentation/filesystems/overlayfs-snapshots.txt
 create mode 100644 fs/overlayfs/snapshot.c

-- 
2.7.4


Copyright © 2016, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds