diff options
| author | shishir gowda <sgowda@redhat.com> | 2012-12-04 15:39:45 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2012-12-17 12:31:23 -0500 | 
| commit | e5411f154f5f815a9b9d9aec647ee72cc9662541 (patch) | |
| tree | eae9273a6db7ae2ed52a4eeca78bb55a6ded1050 | |
| parent | 7c5eba17f183cffb459a405659170a5340234395 (diff) | |
storage/posix: if create returns EXIST, donot set gfid/xattrs
Change-Id: I9f2b75b10bde428d36d6516aa09c18e590d17ed9
BUG: 864801
Signed-off-by: shishir gowda <sgowda@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/1896
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
| -rw-r--r-- | xlators/storage/posix/src/posix.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 58e7b45411a..8cc4b64da5f 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -1727,6 +1727,9 @@ posix_create (call_frame_t *frame, xlator_t *this,                  goto out;          } +        if (was_present) +                goto fill_stat; +          op_ret = posix_gfid_set (this, real_path, loc, xdata);          if (op_ret) {                  gf_log (this->name, GF_LOG_ERROR, @@ -1757,6 +1760,7 @@ posix_create (call_frame_t *frame, xlator_t *this,                          strerror (errno));          } +fill_stat:          op_ret = posix_fdstat (this, _fd, &stbuf);          if (op_ret == -1) {                  op_errno = errno;  | 
