linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* autoversioning?
@ 2016-12-09 11:02 Ulli Horlacher
  2016-12-09 12:36 ` autoversioning? Austin S. Hemmelgarn
  0 siblings, 1 reply; 2+ messages in thread
From: Ulli Horlacher @ 2016-12-09 11:02 UTC (permalink / raw)
  To: linux-btrfs

Is file autoversioning possible with btrfs?

I have a VMS background, where the standard filesystem automatically
creates a new version for every file that is written.

The number of versions can be controlled globally, on directory or on file
base.

With btrfs I can create manually a file version (clone) with
"cp -a --reflink"
but I want this to be done automatically.

I could set up an incron-job (inotify), but perhaps there is a better,
easier solution?


-- 
Ullrich Horlacher              Server und Virtualisierung
Rechenzentrum TIK         
Universitaet Stuttgart         E-Mail: horlacher@tik.uni-stuttgart.de
Allmandring 30a                Tel:    ++49-711-68565868
70569 Stuttgart (Germany)      WWW:    http://www.tik.uni-stuttgart.de/
REF:<20161209110213.GA21685@rus.uni-stuttgart.de>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: autoversioning?
  2016-12-09 11:02 autoversioning? Ulli Horlacher
@ 2016-12-09 12:36 ` Austin S. Hemmelgarn
  0 siblings, 0 replies; 2+ messages in thread
From: Austin S. Hemmelgarn @ 2016-12-09 12:36 UTC (permalink / raw)
  To: linux-btrfs, Ulli Horlacher

On 2016-12-09 06:02, Ulli Horlacher wrote:
> Is file autoversioning possible with btrfs?
>
> I have a VMS background, where the standard filesystem automatically
> creates a new version for every file that is written.
>
> The number of versions can be controlled globally, on directory or on file
> base.
>
> With btrfs I can create manually a file version (clone) with
> "cp -a --reflink"
> but I want this to be done automatically.
>
> I could set up an incron-job (inotify), but perhaps there is a better,
> easier solution?
>
The first thing that comes to mind is a FUSE module I saw a while back 
that does this.  AFAIK, it doesn't do any reflinking, but it handles the 
COW needed for the versioning itself, so it works on any filesystem, not 
just BTRFS (and you could easily run batch deduplication from time to 
time on the backing storage so that you have things nicely reflinked). 
I sadly don't remember what the FUSE module was called though (I 
remember it because I thought the idea was neat, not because I need 
something like that), but I do distinctly remember that it exists.

Alternatively, something using fanotify would probably work better than 
both options, but it would have to be pretty smart to be reliable.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-12-09 12:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-09 11:02 autoversioning? Ulli Horlacher
2016-12-09 12:36 ` autoversioning? Austin S. Hemmelgarn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).