[Gluster-devel] Proposal of WORM/Retention Translator

Joseph Fernandes josferna at redhat.com
Sat Feb 27 16:02:49 UTC 2016

Hi All,

The pull request for WORM-Compliance is created for gluster-spec


Please review it and merge.


----- Original Message -----
From: "Karthik Subrahmanya" <ksubrahm at redhat.com>
To: gluster-devel at gluster.org
Cc: "Joseph Fernandes" <josferna at redhat.com>, "Vijaikumar Mallikarjuna" <vmallika at redhat.com>, "Raghavendra Talur" <rtalur at redhat.com>
Sent: Wednesday, February 24, 2016 12:07:05 PM
Subject: Proposal of WORM/Retention Translator

Hi all,

I'm Karthik Subrahmanya, working as an intern in Red Hat, Bangalore.

I, along with Joseph Fernandes (Mentor), will be implementing File-Level WORM-Retention feature for GlusterFS.

What is WORM-Retention FS?
1. WORM/Retention FS is a file system that supports immutable(read-only) and undeletable files.
2. Each file will have its own worm/retention attribute. Like Retention Period, Retention Time/Date, WORM/Retention State etc
3. It stores data in a tamper-proof and secure way and data accessibility policies.

What is already implemented in Gluster?
The existing WORM implementation in GlusterFS works at volume level as a switch.
It makes all the files in the volume read-only if it is switched on, which is might be desirable or applicable for Data Compliance usage.[1]

Our idea is to implement a file level WORM, in which it saves the WORM/Retention attribute for each file in the volume.

Please refer [2] for more on design.

Our approach will be step by step,

1. Implement WORM-Retention Semantics in GlusterFS using the WORM Xlator
2. Integrate WORM-Retention with Bitrot with WORM-Retention Feature for Data Validation
3. Help in implementing Control of atime, mtime, ctime [3], as its a requirement for us
4. Tiering based on Compliance (Stress Goal)

We have done a POC on WORM-Retention Semantics [4]. We are working on making it well baked.

Vijai (vmallika at redhat.com) and Raghavendra Talur (rtalur at redhat.com) have helped us in implementing the POC.

Your valuable suggestions are most welcome and expecting your support in the future work!

Thanks & Regards,
Karthik Subrahmanya

[1] https://en.wikipedia.org/wiki/Regulatory_compliance
[2] http://www.gluster.org/community/documentation/index.php/Features/gluster_compliance_archive
[3] http://nongnu.13855.n7.nabble.com/distributed-files-directories-and-cm-time-updates-td207822.html
[4] http://review.gluster.org/13429

More information about the Gluster-devel mailing list