diff options
author | Jeff Darcy <jdarcy@redhat.com> | 2011-09-20 09:49:57 -0400 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2011-11-20 07:34:31 -0800 |
commit | 76d5e5d5b51eb2ffe5a0608bf8869650bb76585f (patch) | |
tree | d349474b5f4eebe00973c05df29b9ebf5715d889 /xlators/cluster/afr/src/afr-dir-write.c | |
parent | e6a3902410aaa8756e9c07302d88399fb99641c7 (diff) |
Add quorum checks to avoid split-brain.
Change-Id: I2f123ef93989862aa796903a45682981d5d7fc3c
BUG: 3533
Reviewed-on: http://review.gluster.com/473
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-dir-write.c')
-rw-r--r-- | xlators/cluster/afr/src/afr-dir-write.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-dir-write.c b/xlators/cluster/afr/src/afr-dir-write.c index ca669b684f4..11df550d53e 100644 --- a/xlators/cluster/afr/src/afr-dir-write.c +++ b/xlators/cluster/afr/src/afr-dir-write.c @@ -47,7 +47,6 @@ #include "afr.h" #include "afr-transaction.h" - void afr_build_parent_loc (loc_t *parent, loc_t *child) { @@ -280,6 +279,8 @@ afr_create (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(create,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -503,6 +504,8 @@ afr_mknod (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(mknod,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -727,6 +730,8 @@ afr_mkdir (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(mkdir,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -950,6 +955,8 @@ afr_link (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(link,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -1172,6 +1179,8 @@ afr_symlink (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(symlink,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -1388,6 +1397,8 @@ afr_rename (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(rename,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -1585,6 +1596,8 @@ afr_unlink (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(unlink,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; @@ -1779,6 +1792,8 @@ afr_rmdir (call_frame_t *frame, xlator_t *this, priv = this->private; + QUORUM_CHECK(rmdir,out); + transaction_frame = copy_frame (frame); if (!transaction_frame) { goto out; |