diff options
| author | Amar Tumballi <amar@gluster.com> | 2011-04-20 23:46:05 +0000 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2011-05-11 19:18:20 -0700 | 
| commit | afad4e2d64c6bb01ff5dceb29b20ebcc02c1747b (patch) | |
| tree | c1d67af56dea50813e902f1be4c1086293b487ea /xlators/cluster/stripe/src/stripe.c | |
| parent | ef3d2a48f480d29c2087a5562c73681530f2c727 (diff) | |
cluster/stripe: make sure gfid is checked with valid data
earlier logic of determining if different subvolumes have different
gfid for same file had a flaw. It could have checked with a empty
gfid field in case a reply comes from other subvolumes before first
subvolume
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2773 ([glusterfs-3.2.0qa12]: stripe lookup says gfid different)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2773
Diffstat (limited to 'xlators/cluster/stripe/src/stripe.c')
| -rw-r--r-- | xlators/cluster/stripe/src/stripe.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/xlators/cluster/stripe/src/stripe.c b/xlators/cluster/stripe/src/stripe.c index 8f6790777dd..39b0e88fd76 100644 --- a/xlators/cluster/stripe/src/stripe.c +++ b/xlators/cluster/stripe/src/stripe.c @@ -333,11 +333,14 @@ stripe_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                          if (local->postparent_size < postparent->ia_size)                                  local->postparent_size = postparent->ia_size; +                        if (uuid_is_null (local->ia_gfid)) +                                uuid_copy (local->ia_gfid, buf->ia_gfid); +                          /* Make sure the gfid on all the nodes are same */ -                        if (uuid_compare (local->stbuf.ia_gfid, buf->ia_gfid)) { +                        if (uuid_compare (local->ia_gfid, buf->ia_gfid)) {                                  gf_log (this->name, GF_LOG_WARNING, -                                        "%s: gfid different on subvolume", -                                        local->loc.path); +                                        "%s: gfid different on subvolume %s", +                                        local->loc.path, prev->this->name);                          }                  }          }  | 
