From 16873e16f3fdfe7f83ca919ad188075eebb5dd7c Mon Sep 17 00:00:00 2001 From: ShyamsundarR Date: Tue, 8 May 2018 11:06:15 -0400 Subject: Revert "gfapi: return pre/post attributes from glfs_pread/pwrite" This reverts commit d01f7244e9d9f7e3ef84e0ba7b48ef1b1b09d809. This is being reverted as the API signatures should adapt to a statx like structure, and also all APIs that need to return pre/post attrs are not complete. As a result, instead of fixing up part of the APIs and then refixing the same in a later release, removing these set of fixes from the branch Additionally fixed up posix-entry-ops.c which was using the new syncop signature Updates: bz#1575386 Change-Id: I35222dadc4a2e97010bc1e6b97b6f83583c311f6 --- api/src/gfapi.aliases | 6 +-- api/src/gfapi.map | 4 +- api/src/glfs-fops.c | 100 ++++++++++---------------------------------------- api/src/glfs.h | 9 ++--- 4 files changed, 27 insertions(+), 92 deletions(-) (limited to 'api') diff --git a/api/src/gfapi.aliases b/api/src/gfapi.aliases index 4b3bcc1fb54..bf675e865db 100644 --- a/api/src/gfapi.aliases +++ b/api/src/gfapi.aliases @@ -24,8 +24,8 @@ _pub_glfs_readv _glfs_readv$GFAPI_3.4.0 _pub_glfs_writev _glfs_writev$GFAPI_3.4.0 _pub_glfs_readv_async _glfs_readv_async$GFAPI_3.4.0 _pub_glfs_writev_async _glfs_writev_async$GFAPI_3.4.0 -_pub_glfs_pread34 _glfs_pread$GFAPI_3.4.0 -_pub_glfs_pwrite34 _glfs_pwrite$GFAPI_3.4.0 +_pub_glfs_pread _glfs_pread$GFAPI_3.4.0 +_pub_glfs_pwrite _glfs_pwrite$GFAPI_3.4.0 _pub_glfs_pread_async _glfs_pread_async$GFAPI_3.4.0 _pub_glfs_pwrite_async _glfs_pwrite_async$GFAPI_3.4.0 _pub_glfs_preadv _glfs_preadv$GFAPI_3.4.0 @@ -173,5 +173,3 @@ _pub_glfs_file_lock _glfs_file_lock$GFAPI_4.0.0 _pub_glfs_lease _glfs_lease$GFAPI_4.0.0 _pub_glfs_h_lease _glfs_h_lease$GFAPI_4.0.0 _pub_glfs_recall_lease _glfs_recall_lease$GFAPI_4.0.0 -_pub_glfs_pread _glfs_pread$GFAPI_4.0.0 -_pub_glfs_pwrite _glfs_pwrite$GFAPI_4.0.0 diff --git a/api/src/gfapi.map b/api/src/gfapi.map index 09de5fada3a..75ca2645988 100644 --- a/api/src/gfapi.map +++ b/api/src/gfapi.map @@ -30,6 +30,8 @@ GFAPI_3.4.0 { glfs_writev; glfs_readv_async; glfs_writev_async; + glfs_pread; + glfs_pwrite; glfs_pread_async; glfs_pwrite_async; glfs_preadv; @@ -224,6 +226,4 @@ GFAPI_4.0.0 { glfs_lease; glfs_h_lease; glfs_recall_lease; - glfs_pread; - glfs_pwrite; } GFAPI_3.13.0; diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index 35a6a6628e8..f243999c0c8 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -748,9 +748,9 @@ invalid_fs: 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 stat *poststat) +ssize_t +pub_glfs_preadv (struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + off_t offset, int flags) { xlator_t *subvol = NULL; ssize_t ret = -1; @@ -759,7 +759,6 @@ glfs_preadv_common (struct glfs_fd *glfd, const struct iovec *iovec, int cnt = 0; struct iobref *iobref = NULL; fd_t *fd = NULL; - struct iatt iatt = {0, }; dict_t *fop_attr = NULL; DECLARE_OLD_THIS; @@ -788,12 +787,9 @@ glfs_preadv_common (struct glfs_fd *glfd, const struct iovec *iovec, gf_msg_debug ("gfapi", 0, "Getting leaseid from thread failed"); ret = syncop_readv (subvol, fd, size, offset, 0, &iov, &cnt, &iobref, - &iatt, fop_attr, NULL); - DECODE_SYNCOP_ERR (ret); - - if (ret >= 0 && poststat) - glfs_iatt_to_stat (glfd->fs, &iatt, poststat); + fop_attr, NULL); + DECODE_SYNCOP_ERR (ret); if (ret <= 0) goto out; @@ -823,13 +819,6 @@ invalid_fs: return ret; } -ssize_t -pub_glfs_preadv (struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - off_t offset, int flags) -{ - return glfs_preadv_common (glfd, iovec, iovcnt, offset, flags, NULL); -} - GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0); @@ -851,8 +840,8 @@ GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0); ssize_t -pub_glfs_pread34 (struct glfs_fd *glfd, void *buf, size_t count, off_t offset, - int flags) +pub_glfs_pread (struct glfs_fd *glfd, void *buf, size_t count, off_t offset, + int flags) { struct iovec iov = {0, }; ssize_t ret = 0; @@ -865,25 +854,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); - - -ssize_t -pub_glfs_pread (struct glfs_fd *glfd, void *buf, size_t count, off_t offset, - int flags, struct stat *poststat) -{ - struct iovec iov = {0, }; - ssize_t ret = 0; - - iov.iov_base = buf; - iov.iov_len = count; - - ret = glfs_preadv_common (glfd, &iov, 1, offset, flags, poststat); - - return ret; -} - -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 4.0.0); +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 3.4.0); ssize_t @@ -1179,10 +1150,9 @@ out: } -static ssize_t -glfs_pwritev_common (struct glfs_fd *glfd, const struct iovec *iovec, - int iovcnt, off_t offset, int flags, - struct stat *prestat, struct stat *poststat) +ssize_t +pub_glfs_pwritev (struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + off_t offset, int flags) { xlator_t *subvol = NULL; int ret = -1; @@ -1190,7 +1160,6 @@ glfs_pwritev_common (struct glfs_fd *glfd, const struct iovec *iovec, struct iobuf *iobuf = NULL; struct iovec iov = {0, }; fd_t *fd = NULL; - struct iatt preiatt = {0, }, postiatt = {0, }; dict_t *fop_attr = NULL; DECLARE_OLD_THIS; @@ -1221,20 +1190,15 @@ glfs_pwritev_common (struct glfs_fd *glfd, const struct iovec *iovec, gf_msg_debug ("gfapi", 0, "Getting leaseid from thread failed"); ret = syncop_writev (subvol, fd, &iov, 1, offset, iobref, flags, - &preiatt, &postiatt, fop_attr, NULL); - DECODE_SYNCOP_ERR (ret); + fop_attr, NULL); - if (ret >= 0) { - if (prestat) - glfs_iatt_to_stat (glfd->fs, &preiatt, prestat); - if (poststat) - glfs_iatt_to_stat (glfd->fs, &postiatt, poststat); - } + DECODE_SYNCOP_ERR (ret); if (ret <= 0) goto out; glfd->offset = (offset + iov.iov_len); + out: if (iobuf) iobuf_unref (iobuf); @@ -1255,14 +1219,6 @@ invalid_fs: return ret; } -ssize_t -pub_glfs_pwritev (struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - off_t offset, int flags) -{ - return glfs_pwritev_common (glfd, iovec, iovcnt, offset, flags, - NULL, NULL); -} - GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0); @@ -1298,8 +1254,8 @@ GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0); ssize_t -pub_glfs_pwrite34 (struct glfs_fd *glfd, const void *buf, size_t count, - off_t offset, int flags) +pub_glfs_pwrite (struct glfs_fd *glfd, const void *buf, size_t count, + off_t offset, int flags) { struct iovec iov = {0, }; ssize_t ret = 0; @@ -1312,26 +1268,8 @@ 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); - -ssize_t -pub_glfs_pwrite (struct glfs_fd *glfd, const void *buf, size_t count, - off_t offset, int flags, struct stat *prestat, - struct stat *poststat) -{ - struct iovec iov = {0, }; - ssize_t ret = 0; - - iov.iov_base = (void *) buf; - iov.iov_len = count; - - ret = glfs_pwritev_common (glfd, &iov, 1, offset, flags, - prestat, poststat); - - return ret; -} +GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 3.4.0); -GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 4.0.0); extern glfs_t *pub_glfs_from_glfd (glfs_fd_t *); @@ -5143,7 +5081,7 @@ glfs_anonymous_pwritev (struct glfs *fs, struct glfs_object *object, /* TODO : set leaseid */ ret = syncop_writev (subvol, fd, &iov, 1, offset, iobref, flags, - NULL, NULL, NULL, NULL); + NULL, NULL); DECODE_SYNCOP_ERR (ret); iobuf_unref (iobuf); @@ -5213,7 +5151,7 @@ glfs_anonymous_preadv (struct glfs *fs, struct glfs_object *object, /* TODO : set leaseid */ ret = syncop_readv (subvol, fd, size, offset, flags, &iov, &cnt, - &iobref, NULL, NULL, NULL); + &iobref, NULL, NULL); DECODE_SYNCOP_ERR (ret); if (ret <= 0) goto out; diff --git a/api/src/glfs.h b/api/src/glfs.h index c174f53dfaa..ceed2b34290 100644 --- a/api/src/glfs.h +++ b/api/src/glfs.h @@ -534,12 +534,11 @@ int glfs_writev_async (glfs_fd_t *fd, const struct iovec *iov, int count, // glfs_p{read,write}[_async] ssize_t glfs_pread (glfs_fd_t *fd, void *buf, size_t count, off_t offset, - int flags, struct stat *poststat) __THROW - GFAPI_PUBLIC(glfs_pread, 4.0.0); + int flags) __THROW + GFAPI_PUBLIC(glfs_pread, 3.4.0); ssize_t glfs_pwrite (glfs_fd_t *fd, const void *buf, size_t count, - off_t offset, int flags, struct stat *prestat, - struct stat *poststat) __THROW - GFAPI_PUBLIC(glfs_pwrite, 4.0.0); + off_t offset, int flags) __THROW + GFAPI_PUBLIC(glfs_pwrite, 3.4.0); int glfs_pread_async (glfs_fd_t *fd, void *buf, size_t count, off_t offset, int flags, glfs_io_cbk fn, void *data) __THROW GFAPI_PUBLIC(glfs_pread_async, 3.4.0); -- cgit