[Gluster-devel] Gluster 3.8 : File level WORM/Retention

Joseph Fernandes josferna at redhat.com
Mon May 2 02:27:00 UTC 2016


Hi All,

I would like to Congratulate Karthik for introducing the "File level WORM/Retention" feature(Experimental in 3.8)
in Gluster v3.8rc0 (http://review.gluster.org/#/c/13429/ patch merged)

Would also like to thank Atin, Anoop CS, Vijay M, Niels, Raghavendra Talur and Prasanth Pai
for helping Karthik in doing so (reviews and guidance) :)

There are few of the action items that still remaining for 3.8 and should be done before 3.8 is released.

Action Items before 3.8 release:
================================
Address review comments from Atin, Vijay and Raghavendra Talur,
1. Testing of effects of WORM Xlator positioning in the brick stack on other components
   like barrier(snapshots), Quotas. If there are any immediate bugs.
   Though in the later versions there will be a client side WORM-Cache Xlator,
   which will cache worm/retention states of file inodes and return back the appropriate errors.

2.  Correction on the error path as Vijay has suggested.
In file worm.c, you are doing unwind in all FOPs with errno as -1, which is wrong.

Change the code something like below
 if (label == 0)
    goto wind;
 if (label == 1)
    op_errno = EROFS
 else if (label == 2)
    op_errno = ENOMEM

  Unwind here...
  goto out;

wind:
  ret = 0;
  Wind here...

out: return ret;

3. Talur's comment : Most of the functions in worm-helper need to have gf_worm prefix.

4. Caching the retention state in the xlator inode context (stretch goal for 3.8)

Please feel free to add/update the list if I have missed something.

Regards,
Joe


More information about the Gluster-devel mailing list