diff options
author | Amar Tumballi <amar@gluster.com> | 2011-07-19 20:39:44 +0530 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-07-19 08:18:05 -0700 |
commit | 193e45b6fe425f0545a0da756f3a2a77091c2a6c (patch) | |
tree | 534595d87704d83182222f6bfb3c3fcda050a310 | |
parent | 9f77bc92810b070d0e692a827d94ccd571f39eee (diff) |
glusterd rebalance: use lstat() instead of stat()
so the symlinks pointing to directories are not considered
as directories themself and the control flows outside
gluster's scope
Change-Id: Iae910ce6c68886d34ae6e5efe46062481b40cd25
BUG: 3191
Reviewed-on: http://review.gluster.com/28
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index f535f6a3a..f8194a50c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -175,7 +175,7 @@ gf_glusterd_rebalance_move_data (glusterd_volinfo_t *volinfo, const char *dir) snprintf (full_path, 1024, "%s/%s", dir, entry->d_name); - ret = stat (full_path, &stbuf); + ret = lstat (full_path, &stbuf); if (ret == -1) continue; @@ -219,7 +219,7 @@ gf_glusterd_rebalance_move_data (glusterd_volinfo_t *volinfo, const char *dir) } } - ret = stat (full_path, &new_stbuf); + ret = lstat (full_path, &new_stbuf); if (ret < 0) { close (dst_fd); close (src_fd); @@ -287,7 +287,7 @@ gf_glusterd_rebalance_move_data (glusterd_volinfo_t *volinfo, const char *dir) snprintf (full_path, 1024, "%s/%s", dir, entry->d_name); - ret = stat (full_path, &stbuf); + ret = lstat (full_path, &stbuf); if (ret == -1) continue; @@ -332,7 +332,7 @@ gf_glusterd_rebalance_fix_layout (glusterd_volinfo_t *volinfo, const char *dir) snprintf (full_path, 1024, "%s/%s", dir, entry->d_name); - ret = stat (full_path, &stbuf); + ret = lstat (full_path, &stbuf); if (ret == -1) continue; @@ -380,11 +380,11 @@ glusterd_defrag_start (void *data) goto out; sleep (1); - ret = stat (defrag->mount, &stbuf); + ret = lstat (defrag->mount, &stbuf); if ((ret == -1) && (errno == ENOTCONN)) { /* Wait for some more time before starting rebalance */ sleep (2); - ret = stat (defrag->mount, &stbuf); + ret = lstat (defrag->mount, &stbuf); if (ret == -1) { volinfo->defrag_status = GF_DEFRAG_STATUS_FAILED; volinfo->rebalance_files = 0; |