diff options
| author | Anand Avati <avati@redhat.com> | 2013-04-28 12:22:54 -0700 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2013-05-25 11:36:21 -0700 | 
| commit | 9b645be90f76e71f3d1587db66c0c1f9599e5b2d (patch) | |
| tree | 534ec7dd25f0972029d872c1abaedd8b1d884527 /xlators/cluster/dht/src | |
| parent | 79387af286421c0668f21a2c34adc9f18f6da464 (diff) | |
gfapi: link inodes in relevant entry FOPs
Do not let inode linking to happen only in lookup(). While
that works, it is inefficient.
Change-Id: I51bbfb6255ec4324ab17ff00566375f49d120c06
BUG: 953694
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4931
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/cluster/dht/src')
| -rw-r--r-- | xlators/cluster/dht/src/dht-rebalance.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c index 370118f98..a9f913c2d 100644 --- a/xlators/cluster/dht/src/dht-rebalance.c +++ b/xlators/cluster/dht/src/dht-rebalance.c @@ -299,7 +299,7 @@ __dht_rebalance_create_dst_file (xlator_t *to, xlator_t *from, loc_t *loc, struc          /* Create the destination with LINKFILE mode, and linkto xattr,             if the linkfile already exists, it will just open the file */          ret = syncop_create (to, loc, O_RDWR, DHT_LINKFILE_MODE, fd, -                             dict); +                             dict, &new_stbuf);          if (ret < 0) {                  gf_log (this->name, GF_LOG_ERROR,                          "failed to create %s on %s (%s)", @@ -598,7 +598,7 @@ migrate_special_files (xlator_t *this, xlator_t *from, xlator_t *to, loc_t *loc,                          goto out;                  } -                ret = syncop_symlink (to, loc, link, dict); +                ret = syncop_symlink (to, loc, link, dict, 0);                  if (ret) {                          gf_log (this->name, GF_LOG_WARNING,                                  "%s: creating symlink failed (%s)", @@ -612,7 +612,7 @@ migrate_special_files (xlator_t *this, xlator_t *from, xlator_t *to, loc_t *loc,          ret = syncop_mknod (to, loc, st_mode_from_ia (buf->ia_prot,                                                        buf->ia_type),                              makedev (ia_major (buf->ia_rdev), -                                     ia_minor (buf->ia_rdev)), dict); +                                     ia_minor (buf->ia_rdev)), dict, 0);          if (ret) {                  gf_log (this->name, GF_LOG_WARNING, "%s: mknod failed (%s)",                          loc->path, strerror (errno));  | 
