From 18e235c49daaabeb3c72a03a29e7ae977b6a47cc Mon Sep 17 00:00:00 2001 From: Tamar Shacked Date: Sun, 25 Apr 2021 13:57:13 +0300 Subject: [PATCH 1/1] rhel-9.0-beta build: fixing gcc-10 and LTO errors libgfapi symbol versions break LTO in Fedora rawhide/f33 Upstream: > Reviewed-on: https://review.gluster.org/#/c/glusterfs/+/24666/ > fixes: #1352 > Change-Id: I05fda580afacfff1bfc07be810dd1afc08a92fb8 > Signed-off-by: Kaleb S. KEITHLEY Duplicate defns of cli_default_conn_timeout and cli_ten_minutes_timeout Upstream: > Reviewed-on: https://review.gluster.org/#/c/glusterfs/+/23956/ > Change-Id: I54ea485736a4910254eeb21222ad263721cdef3c > Fixes: bz#1193929 > Signed-off-by: Kaleb S. KEITHLEY BUG: 1939340 Signed-off-by: Tamar Shacked --- api/src/glfs-fops.c | 322 ++++++++++++------------------------ api/src/glfs-handleops.c | 97 ++++------- api/src/glfs-internal.h | 27 ++- api/src/glfs-mgmt.c | 3 +- api/src/glfs-resolve.c | 14 +- api/src/glfs.c | 99 +++++------ cli/src/cli-cmd-global.c | 1 - cli/src/cli-cmd-misc.c | 4 - cli/src/cli-cmd-peer.c | 4 - cli/src/cli-cmd-snapshot.c | 2 - cli/src/cli-cmd-system.c | 4 - cli/src/cli-cmd-volume.c | 4 - cli/src/cli-quotad-client.c | 3 - cli/src/cli-rpc-ops.c | 5 +- cli/src/cli.c | 4 + cli/src/cli.h | 10 +- 16 files changed, 222 insertions(+), 381 deletions(-) diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index e6adea5ea..92f777fac 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -292,6 +292,7 @@ glfs_iatt_to_statx(struct glfs *fs, const struct iatt *iatt, statx->glfs_st_attributes_mask = 0; } +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_iatt_from_statx, 6.0) void priv_glfs_iatt_from_statx(struct iatt *iatt, const struct glfs_stat *statx) { @@ -371,7 +372,6 @@ priv_glfs_iatt_from_statx(struct iatt *iatt, const struct glfs_stat *statx) iatt->ia_attributes = statx->glfs_st_attributes; iatt->ia_attributes_mask = statx->glfs_st_attributes_mask; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_iatt_from_statx, 6.0); void glfsflags_from_gfapiflags(struct glfs_stat *stat, int *glvalid) @@ -415,6 +415,7 @@ glfs_loc_unlink(loc_t *loc) return 0; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_open, 3.4.0) struct glfs_fd * pub_glfs_open(struct glfs *fs, const char *path, int flags) { @@ -509,8 +510,7 @@ invalid_fs: return glfd; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_open, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_close, 3.4.0) int pub_glfs_close(struct glfs_fd *glfd) { @@ -565,8 +565,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_close, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lstat, 3.4.0) int pub_glfs_lstat(struct glfs *fs, const char *path, struct stat *stat) { @@ -607,8 +606,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lstat, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_stat, 3.4.0) int pub_glfs_stat(struct glfs *fs, const char *path, struct stat *stat) { @@ -649,8 +647,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_stat, 3.4.0); - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_statx, 6.0) int priv_glfs_statx(struct glfs *fs, const char *path, const unsigned int mask, struct glfs_stat *statxbuf) @@ -704,8 +701,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_statx, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fstat, 3.4.0) int pub_glfs_fstat(struct glfs_fd *glfd, struct stat *stat) { @@ -754,8 +750,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fstat, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_creat, 3.4.0) struct glfs_fd * pub_glfs_creat(struct glfs *fs, const char *path, int flags, mode_t mode) { @@ -902,8 +897,6 @@ invalid_fs: return glfd; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_creat, 3.4.0); - #ifdef HAVE_SEEK_HOLE static int glfs_seek(struct glfs_fd *glfd, off_t offset, int whence) @@ -957,6 +950,7 @@ out: } #endif +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lseek, 3.4.0) off_t pub_glfs_lseek(struct glfs_fd *glfd, off_t offset, int whence) { @@ -1012,8 +1006,6 @@ invalid_fs: return -1; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lseek, 3.4.0); - static ssize_t glfs_preadv_common(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, off_t offset, int flags, struct glfs_stat *poststat) @@ -1091,6 +1083,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0) ssize_t pub_glfs_preadv(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, off_t offset, int flags) @@ -1098,8 +1091,7 @@ pub_glfs_preadv(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, return glfs_preadv_common(glfd, iovec, iovcnt, offset, flags, NULL); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0) ssize_t pub_glfs_read(struct glfs_fd *glfd, void *buf, size_t count, int flags) { @@ -1116,8 +1108,7 @@ pub_glfs_read(struct glfs_fd *glfd, void *buf, size_t count, int flags) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0); - +GFAPI_SYMVER_PUBLIC(glfs_pread34, glfs_pread, 3.4.0) ssize_t pub_glfs_pread34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, int flags) @@ -1135,8 +1126,7 @@ pub_glfs_pread34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_pread34, glfs_pread, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 6.0) ssize_t pub_glfs_pread(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, int flags, struct glfs_stat *poststat) @@ -1154,8 +1144,7 @@ pub_glfs_pread(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv, 3.4.0) ssize_t pub_glfs_readv(struct glfs_fd *glfd, const struct iovec *iov, int count, int flags) @@ -1167,8 +1156,6 @@ pub_glfs_readv(struct glfs_fd *glfd, const struct iovec *iov, int count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv, 3.4.0); - struct glfs_io { struct glfs_fd *glfd; int op; @@ -1370,6 +1357,7 @@ invalid_fs: return -1; } +GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.0) int pub_glfs_preadv_async34(struct glfs_fd *glfd, const struct iovec *iovec, int count, off_t offset, int flags, glfs_io_cbk34 fn, @@ -1379,8 +1367,7 @@ pub_glfs_preadv_async34(struct glfs_fd *glfd, const struct iovec *iovec, (void *)fn, data); } -GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 6.0) int pub_glfs_preadv_async(struct glfs_fd *glfd, const struct iovec *iovec, int count, off_t offset, int flags, glfs_io_cbk fn, @@ -1390,8 +1377,7 @@ pub_glfs_preadv_async(struct glfs_fd *glfd, const struct iovec *iovec, _gf_false, fn, data); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0) int pub_glfs_read_async34(struct glfs_fd *glfd, void *buf, size_t count, int flags, glfs_io_cbk34 fn, void *data) @@ -1410,8 +1396,7 @@ pub_glfs_read_async34(struct glfs_fd *glfd, void *buf, size_t count, int flags, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 6.0) int pub_glfs_read_async(struct glfs_fd *glfd, void *buf, size_t count, int flags, glfs_io_cbk fn, void *data) @@ -1430,8 +1415,7 @@ pub_glfs_read_async(struct glfs_fd *glfd, void *buf, size_t count, int flags, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.0) int pub_glfs_pread_async34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, int flags, glfs_io_cbk34 fn, void *data) @@ -1450,8 +1434,7 @@ pub_glfs_pread_async34(struct glfs_fd *glfd, void *buf, size_t count, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 6.0) int pub_glfs_pread_async(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, int flags, glfs_io_cbk fn, void *data) @@ -1470,8 +1453,7 @@ pub_glfs_pread_async(struct glfs_fd *glfd, void *buf, size_t count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0) int pub_glfs_readv_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, int flags, glfs_io_cbk34 fn, void *data) @@ -1483,8 +1465,7 @@ pub_glfs_readv_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 6.0) int pub_glfs_readv_async(struct glfs_fd *glfd, const struct iovec *iov, int count, int flags, glfs_io_cbk fn, void *data) @@ -1496,8 +1477,6 @@ pub_glfs_readv_async(struct glfs_fd *glfd, const struct iovec *iov, int count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 6.0); - static ssize_t glfs_pwritev_common(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, off_t offset, int flags, struct glfs_stat *prestat, @@ -1583,6 +1562,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_copy_file_range, 6.0) ssize_t pub_glfs_copy_file_range(struct glfs_fd *glfd_in, off64_t *off_in, struct glfs_fd *glfd_out, off64_t *off_out, size_t len, @@ -1736,8 +1716,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_copy_file_range, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0) ssize_t pub_glfs_pwritev(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, off_t offset, int flags) @@ -1745,8 +1724,7 @@ pub_glfs_pwritev(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, return glfs_pwritev_common(glfd, iovec, iovcnt, offset, flags, NULL, NULL); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write, 3.4.0) ssize_t pub_glfs_write(struct glfs_fd *glfd, const void *buf, size_t count, int flags) { @@ -1763,8 +1741,7 @@ pub_glfs_write(struct glfs_fd *glfd, const void *buf, size_t count, int flags) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0) ssize_t pub_glfs_writev(struct glfs_fd *glfd, const struct iovec *iov, int count, int flags) @@ -1776,8 +1753,7 @@ pub_glfs_writev(struct glfs_fd *glfd, const struct iovec *iov, int count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0); - +GFAPI_SYMVER_PUBLIC(glfs_pwrite34, glfs_pwrite, 3.4.0) ssize_t pub_glfs_pwrite34(struct glfs_fd *glfd, const void *buf, size_t count, off_t offset, int flags) @@ -1795,8 +1771,7 @@ pub_glfs_pwrite34(struct glfs_fd *glfd, const void *buf, size_t count, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_pwrite34, glfs_pwrite, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 6.0) ssize_t pub_glfs_pwrite(struct glfs_fd *glfd, const void *buf, size_t count, off_t offset, int flags, struct glfs_stat *prestat, @@ -1815,8 +1790,6 @@ pub_glfs_pwrite(struct glfs_fd *glfd, const void *buf, size_t count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 6.0); - extern glfs_t * pub_glfs_from_glfd(glfs_fd_t *); @@ -1935,6 +1908,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.0) int pub_glfs_pwritev_async34(struct glfs_fd *glfd, const struct iovec *iovec, int count, off_t offset, int flags, glfs_io_cbk34 fn, @@ -1944,8 +1918,7 @@ pub_glfs_pwritev_async34(struct glfs_fd *glfd, const struct iovec *iovec, _gf_true, (void *)fn, data); } -GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 6.0) int pub_glfs_pwritev_async(struct glfs_fd *glfd, const struct iovec *iovec, int count, off_t offset, int flags, glfs_io_cbk fn, @@ -1955,8 +1928,7 @@ pub_glfs_pwritev_async(struct glfs_fd *glfd, const struct iovec *iovec, _gf_false, fn, data); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0) int pub_glfs_write_async34(struct glfs_fd *glfd, const void *buf, size_t count, int flags, glfs_io_cbk34 fn, void *data) @@ -1975,8 +1947,7 @@ pub_glfs_write_async34(struct glfs_fd *glfd, const void *buf, size_t count, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 6.0) int pub_glfs_write_async(struct glfs_fd *glfd, const void *buf, size_t count, int flags, glfs_io_cbk fn, void *data) @@ -1995,8 +1966,7 @@ pub_glfs_write_async(struct glfs_fd *glfd, const void *buf, size_t count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.0) int pub_glfs_pwrite_async34(struct glfs_fd *glfd, const void *buf, int count, off_t offset, int flags, glfs_io_cbk34 fn, void *data) @@ -2015,8 +1985,7 @@ pub_glfs_pwrite_async34(struct glfs_fd *glfd, const void *buf, int count, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 6.0) int pub_glfs_pwrite_async(struct glfs_fd *glfd, const void *buf, int count, off_t offset, int flags, glfs_io_cbk fn, void *data) @@ -2035,8 +2004,7 @@ pub_glfs_pwrite_async(struct glfs_fd *glfd, const void *buf, int count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0) int pub_glfs_writev_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, int flags, glfs_io_cbk34 fn, void *data) @@ -2048,8 +2016,7 @@ pub_glfs_writev_async34(struct glfs_fd *glfd, const struct iovec *iov, return ret; } -GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 6.0) int pub_glfs_writev_async(struct glfs_fd *glfd, const struct iovec *iov, int count, int flags, glfs_io_cbk fn, void *data) @@ -2061,8 +2028,6 @@ pub_glfs_writev_async(struct glfs_fd *glfd, const struct iovec *iov, int count, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 6.0); - static int glfs_fsync_common(struct glfs_fd *glfd, struct glfs_stat *prestat, struct glfs_stat *poststat) @@ -2127,14 +2092,14 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_fsync34, glfs_fsync, 3.4.0) int pub_glfs_fsync34(struct glfs_fd *glfd) { return glfs_fsync_common(glfd, NULL, NULL); } -GFAPI_SYMVER_PUBLIC(glfs_fsync34, glfs_fsync, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync, 6.0) int pub_glfs_fsync(struct glfs_fd *glfd, struct glfs_stat *prestat, struct glfs_stat *poststat) @@ -2142,8 +2107,6 @@ pub_glfs_fsync(struct glfs_fd *glfd, struct glfs_stat *prestat, return glfs_fsync_common(glfd, prestat, poststat); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync, 6.0); - static int glfs_fsync_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *prebuf, @@ -2224,6 +2187,7 @@ out: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0) int pub_glfs_fsync_async34(struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data) { @@ -2240,8 +2204,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 6.0) int pub_glfs_fsync_async(struct glfs_fd *glfd, glfs_io_cbk fn, void *data) { @@ -2258,8 +2221,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 6.0); - static int glfs_fdatasync_common(struct glfs_fd *glfd, struct glfs_stat *prestat, struct glfs_stat *poststat) @@ -2324,14 +2285,14 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_fdatasync34, glfs_fdatasync, 3.4.0) int pub_glfs_fdatasync34(struct glfs_fd *glfd) { return glfs_fdatasync_common(glfd, NULL, NULL); } -GFAPI_SYMVER_PUBLIC(glfs_fdatasync34, glfs_fdatasync, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 6.0) int pub_glfs_fdatasync(struct glfs_fd *glfd, struct glfs_stat *prestat, struct glfs_stat *poststat) @@ -2339,8 +2300,7 @@ pub_glfs_fdatasync(struct glfs_fd *glfd, struct glfs_stat *prestat, return glfs_fdatasync_common(glfd, prestat, poststat); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 6.0); - +GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0) int pub_glfs_fdatasync_async34(struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data) { @@ -2357,8 +2317,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 6.0) int pub_glfs_fdatasync_async(struct glfs_fd *glfd, glfs_io_cbk fn, void *data) { @@ -2375,8 +2334,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 6.0); - static int glfs_ftruncate_common(struct glfs_fd *glfd, off_t offset, struct glfs_stat *prestat, struct glfs_stat *poststat) @@ -2442,14 +2399,14 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_ftruncate34, glfs_ftruncate, 3.4.0) int pub_glfs_ftruncate34(struct glfs_fd *glfd, off_t offset) { return glfs_ftruncate_common(glfd, offset, NULL, NULL); } -GFAPI_SYMVER_PUBLIC(glfs_ftruncate34, glfs_ftruncate, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate, 6.0) int pub_glfs_ftruncate(struct glfs_fd *glfd, off_t offset, struct glfs_stat *prestat, struct glfs_stat *poststat) @@ -2457,8 +2414,7 @@ pub_glfs_ftruncate(struct glfs_fd *glfd, off_t offset, return glfs_ftruncate_common(glfd, offset, prestat, poststat); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_truncate, 3.7.15) int pub_glfs_truncate(struct glfs *fs, const char *path, off_t length) { @@ -2504,8 +2460,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_truncate, 3.7.15); - static int glfs_ftruncate_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *prebuf, @@ -2598,6 +2552,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0) int pub_glfs_ftruncate_async34(struct glfs_fd *glfd, off_t offset, glfs_io_cbk34 fn, void *data) @@ -2606,8 +2561,7 @@ pub_glfs_ftruncate_async34(struct glfs_fd *glfd, off_t offset, glfs_io_cbk34 fn, data); } -GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 6.0) int pub_glfs_ftruncate_async(struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn, void *data) @@ -2615,8 +2569,7 @@ pub_glfs_ftruncate_async(struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn, return glfs_ftruncate_async_common(glfd, offset, _gf_false, fn, data); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_access, 3.4.0) int pub_glfs_access(struct glfs *fs, const char *path, int mode) { @@ -2662,8 +2615,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_access, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_symlink, 3.4.0) int pub_glfs_symlink(struct glfs *fs, const char *data, const char *path) { @@ -2753,8 +2705,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_symlink, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readlink, 3.4.0) int pub_glfs_readlink(struct glfs *fs, const char *path, char *buf, size_t bufsiz) { @@ -2811,8 +2762,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readlink, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mknod, 3.4.0) int pub_glfs_mknod(struct glfs *fs, const char *path, mode_t mode, dev_t dev) { @@ -2902,8 +2852,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mknod, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mkdir, 3.4.0) int pub_glfs_mkdir(struct glfs *fs, const char *path, mode_t mode) { @@ -2993,8 +2942,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mkdir, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unlink, 3.4.0) int pub_glfs_unlink(struct glfs *fs, const char *path) { @@ -3050,8 +2998,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unlink, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rmdir, 3.4.0) int pub_glfs_rmdir(struct glfs *fs, const char *path) { @@ -3106,8 +3053,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rmdir, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rename, 3.4.0) int pub_glfs_rename(struct glfs *fs, const char *oldpath, const char *newpath) { @@ -3196,8 +3142,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rename, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_link, 3.4.0) int pub_glfs_link(struct glfs *fs, const char *oldpath, const char *newpath) { @@ -3283,8 +3228,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_link, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_opendir, 3.4.0) struct glfs_fd * pub_glfs_opendir(struct glfs *fs, const char *path) { @@ -3365,8 +3309,7 @@ invalid_fs: return glfd; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_opendir, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_closedir, 3.4.0) int pub_glfs_closedir(struct glfs_fd *glfd) { @@ -3387,16 +3330,14 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_closedir, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_telldir, 3.4.0) long pub_glfs_telldir(struct glfs_fd *fd) { return fd->offset; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_telldir, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_seekdir, 3.4.0) void pub_glfs_seekdir(struct glfs_fd *fd, long offset) { @@ -3425,8 +3366,6 @@ pub_glfs_seekdir(struct glfs_fd *fd, long offset) */ } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_seekdir, 3.4.0); - static int glfs_discard_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, @@ -3517,6 +3456,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0) int pub_glfs_discard_async35(struct glfs_fd *glfd, off_t offset, size_t len, glfs_io_cbk34 fn, void *data) @@ -3525,8 +3465,7 @@ pub_glfs_discard_async35(struct glfs_fd *glfd, off_t offset, size_t len, data); } -GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 6.0) int pub_glfs_discard_async(struct glfs_fd *glfd, off_t offset, size_t len, glfs_io_cbk fn, void *data) @@ -3534,8 +3473,6 @@ pub_glfs_discard_async(struct glfs_fd *glfd, off_t offset, size_t len, return glfs_discard_async_common(glfd, offset, len, _gf_false, fn, data); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 6.0); - static int glfs_zerofill_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, @@ -3628,6 +3565,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0) int pub_glfs_zerofill_async35(struct glfs_fd *glfd, off_t offset, off_t len, glfs_io_cbk34 fn, void *data) @@ -3636,8 +3574,7 @@ pub_glfs_zerofill_async35(struct glfs_fd *glfd, off_t offset, off_t len, data); } -GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 6.0) int pub_glfs_zerofill_async(struct glfs_fd *glfd, off_t offset, off_t len, glfs_io_cbk fn, void *data) @@ -3645,8 +3582,6 @@ pub_glfs_zerofill_async(struct glfs_fd *glfd, off_t offset, off_t len, return glfs_zerofill_async_common(glfd, offset, len, _gf_false, fn, data); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 6.0); - void gf_dirent_to_dirent(gf_dirent_t *gf_dirent, struct dirent *dirent) { @@ -3806,6 +3741,7 @@ unlock: return buf; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus_r, 3.4.0) int pub_glfs_readdirplus_r(struct glfs_fd *glfd, struct stat *stat, struct dirent *ext, struct dirent **res) @@ -3861,8 +3797,7 @@ invalid_fs: return -1; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus_r, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir_r, 3.4.0) int pub_glfs_readdir_r(struct glfs_fd *glfd, struct dirent *buf, struct dirent **res) @@ -3870,8 +3805,7 @@ pub_glfs_readdir_r(struct glfs_fd *glfd, struct dirent *buf, return pub_glfs_readdirplus_r(glfd, 0, buf, res); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir_r, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus, 3.5.0) struct dirent * pub_glfs_readdirplus(struct glfs_fd *glfd, struct stat *stat) { @@ -3885,16 +3819,14 @@ pub_glfs_readdirplus(struct glfs_fd *glfd, struct stat *stat) return res; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir, 3.5.0) struct dirent * pub_glfs_readdir(struct glfs_fd *glfd) { return pub_glfs_readdirplus(glfd, NULL); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_statvfs, 3.4.0) int pub_glfs_statvfs(struct glfs *fs, const char *path, struct statvfs *buf) { @@ -3940,8 +3872,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_statvfs, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setattr, 6.0) int pub_glfs_setattr(struct glfs *fs, const char *path, struct glfs_stat *stat, int follow) @@ -4001,8 +3932,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setattr, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetattr, 6.0) int pub_glfs_fsetattr(struct glfs_fd *glfd, struct glfs_stat *stat) { @@ -4055,8 +3985,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetattr, 6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chmod, 3.4.0) int pub_glfs_chmod(struct glfs *fs, const char *path, mode_t mode) { @@ -4073,8 +4002,7 @@ pub_glfs_chmod(struct glfs *fs, const char *path, mode_t mode) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chmod, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchmod, 3.4.0) int pub_glfs_fchmod(struct glfs_fd *glfd, mode_t mode) { @@ -4091,8 +4019,7 @@ pub_glfs_fchmod(struct glfs_fd *glfd, mode_t mode) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchmod, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chown, 3.4.0) int pub_glfs_chown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) { @@ -4117,8 +4044,7 @@ pub_glfs_chown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chown, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lchown, 3.4.0) int pub_glfs_lchown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) { @@ -4143,8 +4069,7 @@ pub_glfs_lchown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lchown, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchown, 3.4.0) int pub_glfs_fchown(struct glfs_fd *glfd, uid_t uid, gid_t gid) { @@ -4169,8 +4094,7 @@ pub_glfs_fchown(struct glfs_fd *glfd, uid_t uid, gid_t gid) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchown, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_utimens, 3.4.0) int pub_glfs_utimens(struct glfs *fs, const char *path, const struct timespec times[2]) @@ -4190,8 +4114,7 @@ pub_glfs_utimens(struct glfs *fs, const char *path, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_utimens, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lutimens, 3.4.0) int pub_glfs_lutimens(struct glfs *fs, const char *path, const struct timespec times[2]) @@ -4211,8 +4134,7 @@ pub_glfs_lutimens(struct glfs *fs, const char *path, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lutimens, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_futimens, 3.4.0) int pub_glfs_futimens(struct glfs_fd *glfd, const struct timespec times[2]) { @@ -4231,8 +4153,6 @@ pub_glfs_futimens(struct glfs_fd *glfd, const struct timespec times[2]) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_futimens, 3.4.0); - int glfs_getxattr_process(void *value, size_t size, dict_t *xattr, const char *name) { @@ -4332,6 +4252,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getxattr, 3.4.0) ssize_t pub_glfs_getxattr(struct glfs *fs, const char *path, const char *name, void *value, size_t size) @@ -4339,8 +4260,7 @@ pub_glfs_getxattr(struct glfs *fs, const char *path, const char *name, return glfs_getxattr_common(fs, path, name, value, size, 1); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getxattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lgetxattr, 3.4.0) ssize_t pub_glfs_lgetxattr(struct glfs *fs, const char *path, const char *name, void *value, size_t size) @@ -4348,8 +4268,7 @@ pub_glfs_lgetxattr(struct glfs *fs, const char *path, const char *name, return glfs_getxattr_common(fs, path, name, value, size, 0); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lgetxattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fgetxattr, 3.4.0) ssize_t pub_glfs_fgetxattr(struct glfs_fd *glfd, const char *name, void *value, size_t size) @@ -4412,8 +4331,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fgetxattr, 3.4.0); - int glfs_listxattr_process(void *value, size_t size, dict_t *xattr) { @@ -4497,22 +4414,21 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_listxattr, 3.4.0) ssize_t pub_glfs_listxattr(struct glfs *fs, const char *path, void *value, size_t size) { return glfs_listxattr_common(fs, path, value, size, 1); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_listxattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_llistxattr, 3.4.0) ssize_t pub_glfs_llistxattr(struct glfs *fs, const char *path, void *value, size_t size) { return glfs_listxattr_common(fs, path, value, size, 0); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_llistxattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_flistxattr, 3.4.0) ssize_t pub_glfs_flistxattr(struct glfs_fd *glfd, void *value, size_t size) { @@ -4562,8 +4478,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_flistxattr, 3.4.0); - int glfs_setxattr_common(struct glfs *fs, const char *path, const char *name, const void *value, size_t size, int flags, int follow) @@ -4643,6 +4557,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setxattr, 3.4.0) int pub_glfs_setxattr(struct glfs *fs, const char *path, const char *name, const void *value, size_t size, int flags) @@ -4650,8 +4565,7 @@ pub_glfs_setxattr(struct glfs *fs, const char *path, const char *name, return glfs_setxattr_common(fs, path, name, value, size, flags, 1); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setxattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lsetxattr, 3.4.0) int pub_glfs_lsetxattr(struct glfs *fs, const char *path, const char *name, const void *value, size_t size, int flags) @@ -4659,8 +4573,7 @@ pub_glfs_lsetxattr(struct glfs *fs, const char *path, const char *name, return glfs_setxattr_common(fs, path, name, value, size, flags, 0); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lsetxattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetxattr, 3.4.0) int pub_glfs_fsetxattr(struct glfs_fd *glfd, const char *name, const void *value, size_t size, int flags) @@ -4735,8 +4648,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetxattr, 3.4.0); - int glfs_removexattr_common(struct glfs *fs, const char *path, const char *name, int follow) @@ -4787,22 +4698,21 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_removexattr, 3.4.0) int pub_glfs_removexattr(struct glfs *fs, const char *path, const char *name) { return glfs_removexattr_common(fs, path, name, 1); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_removexattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lremovexattr, 3.4.0) int pub_glfs_lremovexattr(struct glfs *fs, const char *path, const char *name) { return glfs_removexattr_common(fs, path, name, 0); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lremovexattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fremovexattr, 3.4.0) int pub_glfs_fremovexattr(struct glfs_fd *glfd, const char *name) { @@ -4845,8 +4755,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fremovexattr, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fallocate, 3.5.0) int pub_glfs_fallocate(struct glfs_fd *glfd, int keep_size, off_t offset, size_t len) @@ -4897,8 +4806,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fallocate, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard, 3.5.0) int pub_glfs_discard(struct glfs_fd *glfd, off_t offset, size_t len) { @@ -4948,8 +4856,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill, 3.5.0) int pub_glfs_zerofill(struct glfs_fd *glfd, off_t offset, off_t len) { @@ -4997,8 +4904,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chdir, 3.4.0) int pub_glfs_chdir(struct glfs *fs, const char *path) { @@ -5048,8 +4954,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chdir, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchdir, 3.4.0) int pub_glfs_fchdir(struct glfs_fd *glfd) { @@ -5101,8 +5006,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchdir, 3.4.0); - static gf_boolean_t warn_realpath = _gf_true; /* log once */ static char * @@ -5185,22 +5088,21 @@ invalid_fs: return retpath; } +GFAPI_SYMVER_PUBLIC(glfs_realpath34, glfs_realpath, 3.4.0) char * pub_glfs_realpath34(struct glfs *fs, const char *path, char *resolved_path) { return glfs_realpath_common(fs, path, resolved_path, _gf_true); } -GFAPI_SYMVER_PUBLIC(glfs_realpath34, glfs_realpath, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_realpath, 3.7.17) char * pub_glfs_realpath(struct glfs *fs, const char *path, char *resolved_path) { return glfs_realpath_common(fs, path, resolved_path, _gf_false); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_realpath, 3.7.17); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getcwd, 3.4.0) char * pub_glfs_getcwd(struct glfs *fs, char *buf, size_t n) { @@ -5249,8 +5151,6 @@ invalid_fs: return buf; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getcwd, 3.4.0); - static void gf_flock_to_flock(struct gf_flock *gf_flock, struct flock *flock) { @@ -5359,6 +5259,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_file_lock, 4.0.0) int pub_glfs_file_lock(struct glfs_fd *glfd, int cmd, struct flock *flock, glfs_lock_mode_t lk_mode) @@ -5396,16 +5297,14 @@ out: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_file_lock, 4.0.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_posix_lock, 3.4.0) int pub_glfs_posix_lock(struct glfs_fd *glfd, int cmd, struct flock *flock) { return glfs_lock_common(glfd, cmd, flock, NULL); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_posix_lock, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fd_set_lkowner, 3.10.7) int pub_glfs_fd_set_lkowner(struct glfs_fd *glfd, void *data, int len) { @@ -5441,8 +5340,8 @@ out: invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fd_set_lkowner, 3.10.7); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_dup, 3.4.0) struct glfs_fd * pub_glfs_dup(struct glfs_fd *glfd) { @@ -5493,8 +5392,6 @@ invalid_fs: return dupfd; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_dup, 3.4.0); - static void glfs_enqueue_upcall_data(struct glfs *fs, struct gf_upcall *upcall_data) { @@ -5978,6 +5875,7 @@ out: * Otherwise all the upcall events are queued up in a list * to be read/polled by the applications. */ +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_process_upcall_event, 3.7.0) void priv_glfs_process_upcall_event(struct glfs *fs, void *data) { @@ -6045,7 +5943,6 @@ out: err: return; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_process_upcall_event, 3.7.0); ssize_t glfs_anonymous_pwritev(struct glfs *fs, struct glfs_object *object, @@ -6233,6 +6130,7 @@ glfs_release_xreaddirp_stat(void *ptr) * Given glfd of a directory, this function does readdirp and returns * xstat along with dirents. */ +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_r, 3.11.0) int pub_glfs_xreaddirplus_r(struct glfs_fd *glfd, uint32_t flags, struct glfs_xreaddirp_stat **xstat_p, @@ -6341,8 +6239,8 @@ out: invalid_fs: return -1; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_r, 3.11.0); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_stat, 3.11.0) struct stat * pub_glfs_xreaddirplus_get_stat(struct glfs_xreaddirp_stat *xstat) { @@ -6358,7 +6256,6 @@ pub_glfs_xreaddirplus_get_stat(struct glfs_xreaddirp_stat *xstat) out: return NULL; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_stat, 3.11.0); void gf_lease_to_glfs_lease(struct gf_lease *gf_lease, struct glfs_lease *lease) @@ -6378,6 +6275,7 @@ glfs_lease_to_gf_lease(struct glfs_lease *lease, struct gf_lease *gf_lease) memcpy(gf_lease->lease_id, lease->lease_id, LEASE_ID_SIZE); } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lease, 4.0.0) int pub_glfs_lease(struct glfs_fd *glfd, struct glfs_lease *lease, glfs_recall_cbk fn, void *data) @@ -6479,5 +6377,3 @@ out: invalid_fs: return ret; } - -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lease, 4.0.0); diff --git a/api/src/glfs-handleops.c b/api/src/glfs-handleops.c index d4e154526..28cc1e47e 100644 --- a/api/src/glfs-handleops.c +++ b/api/src/glfs-handleops.c @@ -60,6 +60,7 @@ glfs_iatt_from_stat(struct stat *stat, int valid, struct iatt *iatt, return; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lookupat, 3.7.4) struct glfs_object * pub_glfs_h_lookupat(struct glfs *fs, struct glfs_object *parent, const char *path, struct stat *stat, int follow) @@ -126,8 +127,7 @@ invalid_fs: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lookupat, 3.7.4); - +GFAPI_SYMVER_PUBLIC(glfs_h_lookupat34, glfs_h_lookupat, 3.4.2) struct glfs_object * pub_glfs_h_lookupat34(struct glfs *fs, struct glfs_object *parent, const char *path, struct stat *stat) @@ -135,8 +135,7 @@ pub_glfs_h_lookupat34(struct glfs *fs, struct glfs_object *parent, return pub_glfs_h_lookupat(fs, parent, path, stat, 0); } -GFAPI_SYMVER_PUBLIC(glfs_h_lookupat34, glfs_h_lookupat, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_statfs, 3.7.0) int pub_glfs_h_statfs(struct glfs *fs, struct glfs_object *object, struct statvfs *statvfs) @@ -194,8 +193,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_statfs, 3.7.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_stat, 3.4.2) int pub_glfs_h_stat(struct glfs *fs, struct glfs_object *object, struct stat *stat) { @@ -259,8 +257,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_stat, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getattrs, 3.4.2) int pub_glfs_h_getattrs(struct glfs *fs, struct glfs_object *object, struct stat *stat) @@ -317,8 +314,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getattrs, 3.4.2); - int glfs_h_getxattrs_common(struct glfs *fs, struct glfs_object *object, dict_t **xattr, const char *name, @@ -380,6 +375,7 @@ out: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getxattrs, 3.5.1) int pub_glfs_h_getxattrs(struct glfs *fs, struct glfs_object *object, const char *name, void *value, size_t size) @@ -416,8 +412,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getxattrs, 3.5.1); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setattrs, 3.4.2) int pub_glfs_h_setattrs(struct glfs *fs, struct glfs_object *object, struct stat *stat, int valid) @@ -480,8 +475,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setattrs, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setxattrs, 3.5.0) int pub_glfs_h_setxattrs(struct glfs *fs, struct glfs_object *object, const char *name, const void *value, size_t size, @@ -568,8 +562,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setxattrs, 3.5.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_removexattrs, 3.5.1) int pub_glfs_h_removexattrs(struct glfs *fs, struct glfs_object *object, const char *name) @@ -626,8 +619,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_removexattrs, 3.5.1); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_open, 3.4.2) struct glfs_fd * pub_glfs_h_open(struct glfs *fs, struct glfs_object *object, int flags) { @@ -727,8 +719,7 @@ invalid_fs: return glfd; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_open, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat, 3.4.2) struct glfs_object * pub_glfs_h_creat(struct glfs *fs, struct glfs_object *parent, const char *path, int flags, mode_t mode, struct stat *stat) @@ -840,8 +831,7 @@ invalid_fs: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mkdir, 3.4.2) struct glfs_object * pub_glfs_h_mkdir(struct glfs *fs, struct glfs_object *parent, const char *path, mode_t mode, struct stat *stat) @@ -939,8 +929,7 @@ invalid_fs: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mkdir, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mknod, 3.4.2) struct glfs_object * pub_glfs_h_mknod(struct glfs *fs, struct glfs_object *parent, const char *path, mode_t mode, dev_t dev, struct stat *stat) @@ -1037,8 +1026,7 @@ invalid_fs: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mknod, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_unlink, 3.4.2) int pub_glfs_h_unlink(struct glfs *fs, struct glfs_object *parent, const char *path) { @@ -1109,8 +1097,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_unlink, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_opendir, 3.4.2) struct glfs_fd * pub_glfs_h_opendir(struct glfs *fs, struct glfs_object *object) { @@ -1192,8 +1179,7 @@ invalid_fs: return glfd; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_opendir, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_access, 3.6.0) int pub_glfs_h_access(struct glfs *fs, struct glfs_object *object, int mask) { @@ -1250,8 +1236,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_access, 3.6.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_extract_handle, 3.4.2) ssize_t pub_glfs_h_extract_handle(struct glfs_object *object, unsigned char *handle, int len) @@ -1282,8 +1267,7 @@ out: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_extract_handle, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_create_from_handle, 3.4.2) struct glfs_object * pub_glfs_h_create_from_handle(struct glfs *fs, unsigned char *handle, int len, struct stat *stat) @@ -1406,8 +1390,7 @@ invalid_fs: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_create_from_handle, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_close, 3.4.2) int pub_glfs_h_close(struct glfs_object *object) { @@ -1420,8 +1403,7 @@ pub_glfs_h_close(struct glfs_object *object) return 0; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_close, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_truncate, 3.4.2) int pub_glfs_h_truncate(struct glfs *fs, struct glfs_object *object, off_t offset) { @@ -1481,8 +1463,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_truncate, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_symlink, 3.4.2) struct glfs_object * pub_glfs_h_symlink(struct glfs *fs, struct glfs_object *parent, const char *name, const char *data, struct stat *stat) @@ -1581,8 +1562,7 @@ invalid_fs: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_symlink, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_readlink, 3.4.2) int pub_glfs_h_readlink(struct glfs *fs, struct glfs_object *object, char *buf, size_t bufsiz) @@ -1647,8 +1627,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_readlink, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_link, 3.4.2) int pub_glfs_h_link(struct glfs *fs, struct glfs_object *linksrc, struct glfs_object *parent, const char *name) @@ -1745,8 +1724,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_link, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_rename, 3.4.2) int pub_glfs_h_rename(struct glfs *fs, struct glfs_object *olddir, const char *oldname, struct glfs_object *newdir, @@ -1856,8 +1834,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_rename, 3.4.2); - /* * Given a handle/gfid, find if the corresponding inode is present in * the inode table. If yes create and return the corresponding glfs_object. @@ -2065,6 +2041,7 @@ glfs_release_upcall(void *ptr) * calling glfs_fini(..). Hence making an assumption that 'fs' & ctx structures * cannot be freed while in this routine. */ +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_poll_upcall, 3.7.16) int pub_glfs_h_poll_upcall(struct glfs *fs, struct glfs_upcall **up_arg) { @@ -2182,8 +2159,6 @@ err: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_poll_upcall, 3.7.16); - static gf_boolean_t log_upcall370 = _gf_true; /* log once */ /* The old glfs_h_poll_upcall interface requires intimate knowledge of the @@ -2197,6 +2172,7 @@ static gf_boolean_t log_upcall370 = _gf_true; /* log once */ * * WARNING: this function will be removed in the future. */ +GFAPI_SYMVER_PUBLIC(glfs_h_poll_upcall370, glfs_h_poll_upcall, 3.7.0) int pub_glfs_h_poll_upcall370(struct glfs *fs, struct glfs_callback_arg *up_arg) { @@ -2264,12 +2240,11 @@ out: return ret; } -GFAPI_SYMVER_PUBLIC(glfs_h_poll_upcall370, glfs_h_poll_upcall, 3.7.0); - #ifdef HAVE_ACL_LIBACL_H #include #include +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0) int pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, const acl_type_t type, const acl_t acl) @@ -2318,6 +2293,7 @@ invalid_fs: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0) acl_t pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, const acl_type_t type) @@ -2372,6 +2348,7 @@ invalid_fs: return acl; } #else /* !HAVE_ACL_LIBACL_H */ +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0) acl_t pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, const acl_type_t type) @@ -2380,6 +2357,7 @@ pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, return NULL; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0) int pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, const acl_type_t type, const acl_t acl) @@ -2388,10 +2366,9 @@ pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, return -1; } #endif -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0); -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0); /* The API to perform read using anonymous fd */ +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_read, 3.7.0) ssize_t pub_glfs_h_anonymous_read(struct glfs *fs, struct glfs_object *object, const void *buf, size_t count, off_t offset) @@ -2415,9 +2392,8 @@ pub_glfs_h_anonymous_read(struct glfs *fs, struct glfs_object *object, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_read, 3.7.0); - /* The API to perform write using anonymous fd */ +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_write, 3.7.0) ssize_t pub_glfs_h_anonymous_write(struct glfs *fs, struct glfs_object *object, const void *buf, size_t count, off_t offset) @@ -2441,8 +2417,7 @@ pub_glfs_h_anonymous_write(struct glfs *fs, struct glfs_object *object, return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_write, 3.7.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_object_copy, 3.11.0) struct glfs_object * pub_glfs_object_copy(struct glfs_object *src) { @@ -2465,8 +2440,8 @@ pub_glfs_object_copy(struct glfs_object *src) out: return object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_object_copy, 3.11.0); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_object, 3.11.0) struct glfs_object * pub_glfs_xreaddirplus_get_object(struct glfs_xreaddirp_stat *xstat) { @@ -2483,8 +2458,8 @@ pub_glfs_xreaddirplus_get_object(struct glfs_xreaddirp_stat *xstat) out: return NULL; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_object, 3.11.0); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lease, 4.0.0) int pub_glfs_h_lease(struct glfs *fs, struct glfs_object *object, struct glfs_lease *lease) @@ -2546,5 +2521,3 @@ out: invalid_fs: return ret; } - -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lease, 4.0.0); diff --git a/api/src/glfs-internal.h b/api/src/glfs-internal.h index 55401b291..157bb7d4a 100644 --- a/api/src/glfs-internal.h +++ b/api/src/glfs-internal.h @@ -80,25 +80,40 @@ #ifndef GFAPI_PRIVATE #define GFAPI_PRIVATE(sym, ver) /**/ #endif +#if __GNUC__ >= 10 #define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, ver) \ - asm(".symver pub_" STR(fn) ", " STR(fn) "@@GFAPI_" STR(ver)) + __attribute__((__symver__(STR(fn) "@@GFAPI_" STR(ver)))) #define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, ver) \ - asm(".symver priv_" STR(fn) ", " STR(fn) "@@GFAPI_PRIVATE_" STR(ver)) + __attribute__((__symver__(STR(fn) "@@GFAPI_PRIVATE_" STR(ver)))) #define GFAPI_SYMVER_PUBLIC(fn1, fn2, ver) \ - asm(".symver pub_" STR(fn1) ", " STR(fn2) "@GFAPI_" STR(ver)) + __attribute__((__symver__(STR(fn2) "@GFAPI_" STR(ver)))) #define GFAPI_SYMVER_PRIVATE(fn1, fn2, ver) \ - asm(".symver priv_" STR(fn1) ", " STR(fn2) "@GFAPI_PRIVATE_" STR(ver)) + __attribute__((__symver__(STR(fn2) "@GFAPI_PRIVATE_" STR(ver)))) + +#else +#define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, ver) \ + asm(".symver pub_" STR(fn) ", " STR(fn) "@@GFAPI_" STR(ver)); + +#define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, ver) \ + asm(".symver priv_" STR(fn) ", " STR(fn) "@@GFAPI_PRIVATE_" STR(ver)); + +#define GFAPI_SYMVER_PUBLIC(fn1, fn2, ver) \ + asm(".symver pub_" STR(fn1) ", " STR(fn2) "@GFAPI_" STR(ver)); + +#define GFAPI_SYMVER_PRIVATE(fn1, fn2, ver) \ + asm(".symver priv_" STR(fn1) ", " STR(fn2) "@GFAPI_PRIVATE_" STR(ver)); +#endif #define STR(str) #str #else #ifndef GFAPI_PUBLIC -#define GFAPI_PUBLIC(sym, ver) __asm("_" __STRING(sym) "$GFAPI_" __STRING(ver)) +#define GFAPI_PUBLIC(sym, ver) __asm("_" __STRING(sym) "$GFAPI_" __STRING(ver)); #endif #ifndef GFAPI_PRIVATE #define GFAPI_PRIVATE(sym, ver) \ - __asm("_" __STRING(sym) "$GFAPI_PRIVATE_" __STRING(ver)) + __asm("_" __STRING(sym) "$GFAPI_PRIVATE_" __STRING(ver)); #endif #define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, dotver) /**/ #define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, dotver) /**/ diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c index 7476d5b64..07be8a403 100644 --- a/api/src/glfs-mgmt.c +++ b/api/src/glfs-mgmt.c @@ -383,6 +383,7 @@ out: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volumeid, 3.5.0) int pub_glfs_get_volumeid(struct glfs *fs, char *volid, size_t size) { @@ -439,8 +440,6 @@ invalid_fs: return -1; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volumeid, 3.5.0); - int glfs_get_volume_info(struct glfs *fs) { diff --git a/api/src/glfs-resolve.c b/api/src/glfs-resolve.c index 062b7dc38..4e394e0ff 100644 --- a/api/src/glfs-resolve.c +++ b/api/src/glfs-resolve.c @@ -157,6 +157,7 @@ __glfs_refresh_inode(struct glfs *fs, xlator_t *subvol, inode_t *inode, return newinode; } +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_loc_touchup, 3.4.0) int priv_glfs_loc_touchup(loc_t *loc) { @@ -171,8 +172,6 @@ priv_glfs_loc_touchup(loc_t *loc) return ret; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_loc_touchup, 3.4.0); - int glfs_resolve_symlink(struct glfs *fs, xlator_t *subvol, inode_t *inode, char **lpath) @@ -460,6 +459,7 @@ out: return inode; } +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve_at, 3.4.0) int priv_glfs_resolve_at(struct glfs *fs, xlator_t *subvol, inode_t *at, const char *origpath, loc_t *loc, struct iatt *iatt, @@ -610,8 +610,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve_at, 3.4.0); - int glfs_resolve_path(struct glfs *fs, xlator_t *subvol, const char *origpath, loc_t *loc, struct iatt *iatt, int follow, int reval) @@ -640,6 +638,7 @@ out: return ret; } +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve, 3.7.0) int priv_glfs_resolve(struct glfs *fs, xlator_t *subvol, const char *origpath, loc_t *loc, struct iatt *iatt, int reval) @@ -650,7 +649,6 @@ priv_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, @@ -968,6 +966,7 @@ __glfs_active_subvol(struct glfs *fs) return new_subvol; } +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_subvol_done, 3.4.0) void priv_glfs_subvol_done(struct glfs *fs, xlator_t *subvol) { @@ -995,8 +994,7 @@ priv_glfs_subvol_done(struct glfs *fs, xlator_t *subvol) } } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_subvol_done, 3.4.0); - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_active_subvol, 3.4.0) xlator_t * priv_glfs_active_subvol(struct glfs *fs) { @@ -1024,8 +1022,6 @@ priv_glfs_active_subvol(struct glfs *fs) return subvol; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_active_subvol, 3.4.0); - int __glfs_cwd_set(struct glfs *fs, inode_t *inode) { diff --git a/api/src/glfs.c b/api/src/glfs.c index f36616deb..f823d7899 100644 --- a/api/src/glfs.c +++ b/api/src/glfs.c @@ -277,6 +277,7 @@ out: /////////////////////////////////////////////////////////////////////////////// +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_xlator_option, 3.4.0) int pub_glfs_set_xlator_option(struct glfs *fs, const char *xlator, const char *key, const char *value) @@ -326,8 +327,7 @@ invalid_fs: return -1; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_xlator_option, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unset_volfile_server, 3.5.1) int pub_glfs_unset_volfile_server(struct glfs *fs, const char *transport, const char *host, const int port) @@ -385,8 +385,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unset_volfile_server, 3.5.1); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile_server, 3.4.0) int pub_glfs_set_volfile_server(struct glfs *fs, const char *transport, const char *host, int port) @@ -468,8 +467,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile_server, 3.4.0); - /* * * Used to free the arguments allocated by glfs_set_volfile_server() */ @@ -512,6 +509,7 @@ glfs_free_xlator_options(cmd_args_t *cmd_args) } } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsuid, 3.4.2) int pub_glfs_setfsuid(uid_t fsuid) { @@ -521,8 +519,7 @@ pub_glfs_setfsuid(uid_t fsuid) return syncopctx_setfsuid(&fsuid); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsuid, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgid, 3.4.2) int pub_glfs_setfsgid(gid_t fsgid) { @@ -532,8 +529,7 @@ pub_glfs_setfsgid(gid_t fsgid) return syncopctx_setfsgid(&fsgid); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgid, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgroups, 3.4.2) int pub_glfs_setfsgroups(size_t size, const gid_t *list) { @@ -543,8 +539,7 @@ pub_glfs_setfsgroups(size_t size, const gid_t *list) return syncopctx_setfsgroups(size, list); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgroups, 3.4.2); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsleaseid, 4.0.0) int pub_glfs_setfsleaseid(glfs_leaseid_t leaseid) { @@ -566,8 +561,6 @@ pub_glfs_setfsleaseid(glfs_leaseid_t leaseid) return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsleaseid, 4.0.0); - int get_fop_attr_glfd(dict_t **fop_attr, struct glfs_fd *glfd) { @@ -655,14 +648,14 @@ unset_fop_attr(dict_t **fop_attr) *fop_attr = NULL; } } + +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0) struct glfs * pub_glfs_from_glfd(struct glfs_fd *glfd) { return glfd->fs; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0); - static void glfs_fd_destroy(struct glfs_fd *glfd) { @@ -810,6 +803,7 @@ unlock: return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_new, 3.4.0) struct glfs * pub_glfs_new(const char *volname) { @@ -898,8 +892,7 @@ out: return fs; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_new, 3.4.0); - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_new_from_ctx, 3.7.0) struct glfs * priv_glfs_new_from_ctx(glusterfs_ctx_t *ctx) { @@ -918,8 +911,7 @@ out: return fs; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_new_from_ctx, 3.7.0); - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_free_from_ctx, 3.7.0) void priv_glfs_free_from_ctx(struct glfs *fs) { @@ -955,8 +947,7 @@ priv_glfs_free_from_ctx(struct glfs *fs) FREE(fs); } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_free_from_ctx, 3.7.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile, 3.4.0) int pub_glfs_set_volfile(struct glfs *fs, const char *volfile) { @@ -973,8 +964,7 @@ pub_glfs_set_volfile(struct glfs *fs, const char *volfile) return 0; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_logging, 3.4.0) int pub_glfs_set_logging(struct glfs *fs, const char *logfile, int loglevel) { @@ -1012,8 +1002,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_logging, 3.4.0); - int glfs_init_wait(struct glfs *fs) { @@ -1032,6 +1020,7 @@ glfs_init_wait(struct glfs *fs) return ret; } +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_init_done, 3.4.0) void priv_glfs_init_done(struct glfs *fs, int ret) { @@ -1063,8 +1052,6 @@ out: return; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_init_done, 3.4.0); - int glfs_init_common(struct glfs *fs) { @@ -1105,6 +1092,7 @@ glfs_init_async(struct glfs *fs, glfs_init_cbk cbk) return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_init, 3.4.0) int pub_glfs_init(struct glfs *fs) { @@ -1138,8 +1126,6 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_init, 3.4.0); - static int glusterfs_ctx_destroy(glusterfs_ctx_t *ctx) { @@ -1217,6 +1203,7 @@ glusterfs_ctx_destroy(glusterfs_ctx_t *ctx) return ret; } +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fini, 3.4.0) int pub_glfs_fini(struct glfs *fs) { @@ -1403,8 +1390,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fini, 3.4.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0) ssize_t pub_glfs_get_volfile(struct glfs *fs, void *buf, size_t len) { @@ -1430,8 +1416,7 @@ invalid_fs: return res; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0); - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_ipc, 3.12.0) int priv_glfs_ipc(struct glfs *fs, int opcode, void *xd_in, void **xd_out) { @@ -1459,8 +1444,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_ipc, 3.12.0); - +GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_setfspid, 6.1) int priv_glfs_setfspid(struct glfs *fs, pid_t pid) { @@ -1474,107 +1458,104 @@ priv_glfs_setfspid(struct glfs *fs, pid_t pid) return ret; } -GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_setfspid, 6.1); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_free, 3.7.16) void pub_glfs_free(void *ptr) { GLFS_FREE(ptr); } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_free, 3.7.16); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_fs, 3.7.16) struct glfs * pub_glfs_upcall_get_fs(struct glfs_upcall *arg) { return arg->fs; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_fs, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_reason, 3.7.16) enum glfs_upcall_reason pub_glfs_upcall_get_reason(struct glfs_upcall *arg) { return arg->reason; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_reason, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_event, 3.7.16) void * pub_glfs_upcall_get_event(struct glfs_upcall *arg) { return arg->event; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_event, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_object, 3.7.16) struct glfs_object * pub_glfs_upcall_inode_get_object(struct glfs_upcall_inode *arg) { return arg->object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_object, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_flags, 3.7.16) uint64_t pub_glfs_upcall_inode_get_flags(struct glfs_upcall_inode *arg) { return arg->flags; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_flags, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_stat, 3.7.16) struct stat * pub_glfs_upcall_inode_get_stat(struct glfs_upcall_inode *arg) { return &arg->buf; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_stat, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_expire, 3.7.16) uint64_t pub_glfs_upcall_inode_get_expire(struct glfs_upcall_inode *arg) { return arg->expire_time_attr; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_expire, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pobject, 3.7.16) struct glfs_object * pub_glfs_upcall_inode_get_pobject(struct glfs_upcall_inode *arg) { return arg->p_object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pobject, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pstat, 3.7.16) struct stat * pub_glfs_upcall_inode_get_pstat(struct glfs_upcall_inode *arg) { return &arg->p_buf; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pstat, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpobject, 3.7.16) struct glfs_object * pub_glfs_upcall_inode_get_oldpobject(struct glfs_upcall_inode *arg) { return arg->oldp_object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpobject, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpstat, 3.7.16) struct stat * pub_glfs_upcall_inode_get_oldpstat(struct glfs_upcall_inode *arg) { return &arg->oldp_buf; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpstat, 3.7.16); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_object, 4.1.6) struct glfs_object * pub_glfs_upcall_lease_get_object(struct glfs_upcall_lease *arg) { return arg->object; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_object, 4.1.6); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_lease_type, 4.1.6) uint32_t pub_glfs_upcall_lease_get_lease_type(struct glfs_upcall_lease *arg) { return arg->lease_type; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_lease_type, 4.1.6); /* definitions of the GLFS_SYSRQ_* chars are in glfs.h */ static struct glfs_sysrq_help { @@ -1584,6 +1565,7 @@ static struct glfs_sysrq_help { {GLFS_SYSRQ_STATEDUMP, "(S)tatedump"}, {0, NULL}}; +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0) int pub_glfs_sysrq(struct glfs *fs, char sysrq) { @@ -1632,8 +1614,7 @@ out: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0) int pub_glfs_upcall_register(struct glfs *fs, uint32_t event_list, glfs_upcall_cbk cbk, void *data) @@ -1689,8 +1670,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0) int pub_glfs_upcall_unregister(struct glfs *fs, uint32_t event_list) { @@ -1737,8 +1717,7 @@ invalid_fs: return ret; } -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0); - +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_statedump_path, 6.4) int pub_glfs_set_statedump_path(struct glfs *fs, const char *path) { @@ -1798,5 +1777,3 @@ err: invalid_fs: return -1; } - -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_statedump_path, 6.4); diff --git a/cli/src/cli-cmd-global.c b/cli/src/cli-cmd-global.c index 270b76f44..c44ef1087 100644 --- a/cli/src/cli-cmd-global.c +++ b/cli/src/cli-cmd-global.c @@ -27,7 +27,6 @@ #include #include -extern rpc_clnt_prog_t *cli_rpc_prog; int cli_cmd_global_help_cbk(struct cli_state *state, struct cli_cmd_word *in_word, diff --git a/cli/src/cli-cmd-misc.c b/cli/src/cli-cmd-misc.c index 04dd2efc2..6eaac8b92 100644 --- a/cli/src/cli-cmd-misc.c +++ b/cli/src/cli-cmd-misc.c @@ -18,10 +18,6 @@ #include "cli-mem-types.h" #include "protocol-common.h" -extern struct rpc_clnt *global_rpc; - -extern rpc_clnt_prog_t *cli_rpc_prog; - extern struct cli_cmd volume_cmds[]; extern struct cli_cmd bitrot_cmds[]; extern struct cli_cmd quota_cmds[]; diff --git a/cli/src/cli-cmd-peer.c b/cli/src/cli-cmd-peer.c index e42a1139b..55deb4369 100644 --- a/cli/src/cli-cmd-peer.c +++ b/cli/src/cli-cmd-peer.c @@ -20,10 +20,6 @@ #include "protocol-common.h" #include -extern struct rpc_clnt *global_rpc; - -extern rpc_clnt_prog_t *cli_rpc_prog; - int cli_cmd_peer_help_cbk(struct cli_state *state, struct cli_cmd_word *in_word, const char **words, int wordcount); diff --git a/cli/src/cli-cmd-snapshot.c b/cli/src/cli-cmd-snapshot.c index 814ab82f6..3c523ad17 100644 --- a/cli/src/cli-cmd-snapshot.c +++ b/cli/src/cli-cmd-snapshot.c @@ -17,8 +17,6 @@ #include "cli-cmd.h" #include "cli-mem-types.h" -extern rpc_clnt_prog_t *cli_rpc_prog; - int cli_cmd_snapshot_help_cbk(struct cli_state *state, struct cli_cmd_word *in_word, const char **words, int wordcount); diff --git a/cli/src/cli-cmd-system.c b/cli/src/cli-cmd-system.c index cb3a9ea74..ca802187a 100644 --- a/cli/src/cli-cmd-system.c +++ b/cli/src/cli-cmd-system.c @@ -18,10 +18,6 @@ #include "cli-mem-types.h" #include "protocol-common.h" -extern struct rpc_clnt *global_rpc; - -extern rpc_clnt_prog_t *cli_rpc_prog; - int cli_cmd_system_help_cbk(struct cli_state *state, struct cli_cmd_word *in_word, const char **words, int wordcount); diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 72504cac7..900f7aa56 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -28,10 +28,6 @@ #include #include -extern struct rpc_clnt *global_rpc; -extern struct rpc_clnt *global_quotad_rpc; - -extern rpc_clnt_prog_t *cli_rpc_prog; extern rpc_clnt_prog_t cli_quotad_clnt; int diff --git a/cli/src/cli-quotad-client.c b/cli/src/cli-quotad-client.c index 52ab97ee8..1da7b3f0a 100644 --- a/cli/src/cli-quotad-client.c +++ b/cli/src/cli-quotad-client.c @@ -10,9 +10,6 @@ #include "cli-quotad-client.h" -extern struct rpc_clnt global_quotad_rpc; -extern struct rpc_clnt_program cli_quotad_clnt; - int cli_quotad_submit_request(void *req, call_frame_t *frame, rpc_clnt_prog_t *prog, int procnum, struct iobref *iobref, xlator_t *this, diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 4e9126559..99f227c28 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -48,10 +48,7 @@ enum gf_task_types { GF_TASK_TYPE_REBALANCE, GF_TASK_TYPE_REMOVE_BRICK }; -extern struct rpc_clnt *global_quotad_rpc; -extern rpc_clnt_prog_t cli_quotad_clnt; -extern rpc_clnt_prog_t *cli_rpc_prog; -extern int cli_op_ret; +rpc_clnt_prog_t cli_quotad_clnt; extern int connected; int32_t diff --git a/cli/src/cli.c b/cli/src/cli.c index 99a16a066..53bbb3798 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -75,6 +75,10 @@ rpc_clnt_prog_t *cli_rpc_prog; extern struct rpc_clnt_program cli_prog; +int cli_default_conn_timeout = 120; +int cli_ten_minutes_timeout = 600; + + static int glusterfs_ctx_defaults_init(glusterfs_ctx_t *ctx) { diff --git a/cli/src/cli.h b/cli/src/cli.h index 37e4d9d49..ef68db241 100644 --- a/cli/src/cli.h +++ b/cli/src/cli.h @@ -39,8 +39,8 @@ enum argp_option_keys { ARGP_PORT_KEY = 'p', }; -int cli_default_conn_timeout; -int cli_ten_minutes_timeout; +extern int cli_default_conn_timeout; +extern int cli_ten_minutes_timeout; typedef enum { COLD_BRICK_COUNT, @@ -188,6 +188,12 @@ typedef ssize_t (*cli_serialize_t)(struct iovec outmsg, void *args); extern struct cli_state *global_state; /* use only in readline callback */ +extern struct rpc_clnt *global_quotad_rpc; + +extern struct rpc_clnt *global_rpc; + +extern rpc_clnt_prog_t *cli_rpc_prog; + typedef const char *(*cli_selector_t)(void *wcon); char * -- 2.27.0