features/shard: Introducing sharding translator
authorKrutika Dhananjay <kdhananj@redhat.com>
Fri, 21 Nov 2014 06:17:23 +0000 (11:47 +0530)
committerVijay Bellur <vbellur@redhat.com>
Thu, 19 Mar 2015 17:59:31 +0000 (10:59 -0700)
commit6f389fbb812b384bdd9bf4a20e86930505531996
tree7304eeab269d1a0226274cf439fb4f6c49bfcec9
parent32ed7aa5ad7049a9d85c795f997336c0366151a8
features/shard: Introducing sharding translator

Based on the high-level design by Anand V. Avati which can be found @
https://gist.github.com/avati/af04f1030dcf52e16535#sharding-xlator-stripe-20

Still to-do:
        * complete implementation of inode write fops - [f]truncate,
          zerofill, fallocate, discard
        * introduce transaction mechanism in inode write fops
        * complete readv
        * Handle open with O_TRUNC
        * Handle unlinking of all shards during unlink/rename
        * Compute total ia_size and ia_blocks in lookup, readdirp, etc
        * wind fsync/flush on all shards

        Note: Most of the items above are related. Once we come up
        with a clean way to determine the last shard/shard count for
        a file/file size and the mgmt of sparse regions of the file,
        implementing them becomes trivial.

Change-Id: Id871379b53a4a916e4baa2e06f197dd8c0043b0f
BUG: 1200082
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/9841
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
configure.ac
xlators/features/Makefile.am
xlators/features/shard/Makefile.am [new file with mode: 0644]
xlators/features/shard/src/Makefile.am [new file with mode: 0644]
xlators/features/shard/src/shard-mem-types.h [new file with mode: 0644]
xlators/features/shard/src/shard.c [new file with mode: 0644]
xlators/features/shard/src/shard.h [new file with mode: 0644]
xlators/mgmt/glusterd/src/glusterd-volgen.c
xlators/mgmt/glusterd/src/glusterd-volume-set.c