diff options
author | Ravishankar N <ravishankar@redhat.com> | 2015-01-01 15:55:22 +0000 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2015-01-06 09:14:16 -0800 |
commit | cd338784d39b9a4a55cc3c6a1613b90a2a63a8e3 (patch) | |
tree | 4868e6dd77b375bf6d0fdcb830decefb02de31b0 | |
parent | 6e2318f0821d7c58eddc837b2d218247243a5c8d (diff) |
api: export glfs_resolve()
glfs_resolve() is an internal function in libgfapi. Export it so that it can be
used by glfs-heal.c. The change is done in line with the approach followed in
commit 7e497871d11a3a527e2ce192e4274322631f27d0 (http://review.gluster.org/9036)
This patch [2/3] is required as a part of afr automated split-brain resolution
implementation.
Change-Id: If9057f2a037fd25a0dfa231683bfbaa72d3cb1b2
BUG: 1136769
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/9376
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Shyamsundar Ranganathan <srangana@redhat.com>
-rw-r--r-- | api/src/gfapi.map.in | 1 | ||||
-rw-r--r-- | api/src/glfs-fops.c | 26 | ||||
-rw-r--r-- | api/src/glfs-internal.h | 4 | ||||
-rw-r--r-- | api/src/glfs-resolve.c | 4 |
4 files changed, 18 insertions, 17 deletions
diff --git a/api/src/gfapi.map.in b/api/src/gfapi.map.in index 7fc95971f1b..a29f392dc53 100644 --- a/api/src/gfapi.map.in +++ b/api/src/gfapi.map.in @@ -149,5 +149,6 @@ GFAPI_PRIVATE_3.7.0 { global: glfs_free_from_ctx; glfs_new_from_ctx; + glfs_resolve; } GFAPI_3.6.0; diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index a0315e305b1..d35508e6f38 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -91,7 +91,7 @@ pub_glfs_open (struct glfs *fs, const char *path, int flags) goto out; retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -243,7 +243,7 @@ pub_glfs_stat (struct glfs *fs, const char *path, struct stat *stat) goto out; } retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -347,7 +347,7 @@ pub_glfs_creat (struct glfs *fs, const char *path, int flags, mode_t mode) destinataion. */ retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -1267,7 +1267,7 @@ pub_glfs_access (struct glfs *fs, const char *path, int mode) goto out; } retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -1867,7 +1867,7 @@ pub_glfs_opendir (struct glfs *fs, const char *path) INIT_LIST_HEAD (&glfd->entries); retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -2280,7 +2280,7 @@ pub_glfs_statvfs (struct glfs *fs, const char *path, struct statvfs *buf) goto out; } retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -2322,7 +2322,7 @@ glfs_setattr (struct glfs *fs, const char *path, struct iatt *iatt, } retry: if (follow) - ret = glfs_resolve (fs, subvol, path, &loc, &riatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &riatt, reval); else ret = glfs_lresolve (fs, subvol, path, &loc, &riatt, reval); @@ -2612,7 +2612,7 @@ glfs_getxattr_common (struct glfs *fs, const char *path, const char *name, } retry: if (follow) - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); else ret = glfs_lresolve (fs, subvol, path, &loc, &iatt, reval); @@ -2752,7 +2752,7 @@ glfs_listxattr_common (struct glfs *fs, const char *path, void *value, retry: if (follow) - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); else ret = glfs_lresolve (fs, subvol, path, &loc, &iatt, reval); @@ -2880,7 +2880,7 @@ glfs_setxattr_common (struct glfs *fs, const char *path, const char *name, } retry: if (follow) - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); else ret = glfs_lresolve (fs, subvol, path, &loc, &iatt, reval); @@ -3001,7 +3001,7 @@ glfs_removexattr_common (struct glfs *fs, const char *path, const char *name, } retry: if (follow) - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); else ret = glfs_lresolve (fs, subvol, path, &loc, &iatt, reval); @@ -3206,7 +3206,7 @@ pub_glfs_chdir (struct glfs *fs, const char *path) goto out; } retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); @@ -3309,7 +3309,7 @@ pub_glfs_realpath (struct glfs *fs, const char *path, char *resolved_path) goto out; } retry: - ret = glfs_resolve (fs, subvol, path, &loc, &iatt, reval); + ret = priv_glfs_resolve (fs, subvol, path, &loc, &iatt, reval); ESTALE_RETRY (ret, errno, reval, &loc, retry); diff --git a/api/src/glfs-internal.h b/api/src/glfs-internal.h index cb17669fd82..25571f7f11c 100644 --- a/api/src/glfs-internal.h +++ b/api/src/glfs-internal.h @@ -138,8 +138,8 @@ struct glfs_object { int glfs_mgmt_init (struct glfs *fs); void priv_glfs_init_done (struct glfs *fs, int ret); int glfs_process_volfp (struct glfs *fs, FILE *fp); -int glfs_resolve (struct glfs *fs, xlator_t *subvol, const char *path, loc_t *loc, - struct iatt *iatt, int reval); +int priv_glfs_resolve (struct glfs *fs, xlator_t *subvol, const char *path, + loc_t *loc, struct iatt *iatt, int reval); int glfs_lresolve (struct glfs *fs, xlator_t *subvol, const char *path, loc_t *loc, struct iatt *iatt, int reval); fd_t *glfs_resolve_fd (struct glfs *fs, xlator_t *subvol, struct glfs_fd *glfd); diff --git a/api/src/glfs-resolve.c b/api/src/glfs-resolve.c index 3b76487cd25..efc08cde741 100644 --- a/api/src/glfs-resolve.c +++ b/api/src/glfs-resolve.c @@ -520,7 +520,7 @@ glfs_resolve_path (struct glfs *fs, xlator_t *subvol, const char *origpath, int -glfs_resolve (struct glfs *fs, xlator_t *subvol, const char *origpath, +priv_glfs_resolve (struct glfs *fs, xlator_t *subvol, const char *origpath, loc_t *loc, struct iatt *iatt, int reval) { int ret = -1; @@ -529,7 +529,7 @@ glfs_resolve (struct glfs *fs, xlator_t *subvol, const char *origpath, return ret; } - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve, 3.7.0); int glfs_lresolve (struct glfs *fs, xlator_t *subvol, const char *origpath, |