summaryrefslogtreecommitdiffstats
path: root/api/src/glfs-fops.c
diff options
context:
space:
mode:
Diffstat (limited to 'api/src/glfs-fops.c')
-rw-r--r--api/src/glfs-fops.c386
1 files changed, 55 insertions, 331 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c
index a3e5afaf627..8f24b77b0b5 100644
--- a/api/src/glfs-fops.c
+++ b/api/src/glfs-fops.c
@@ -907,27 +907,20 @@ struct glfs_io {
struct iovec *iov;
int count;
int flags;
- gf_boolean_t oldcb;
- union {
- glfs_io_cbk34 fn34;
- glfs_io_cbk fn;
- };
+ glfs_io_cbk fn;
void *data;
};
static int
glfs_io_async_cbk (int op_ret, int op_errno, call_frame_t *frame,
- void *cookie, struct iovec *iovec, int count,
- struct iatt *prebuf, struct iatt *postbuf)
+ void *cookie, struct iovec *iovec, int count)
{
struct glfs_io *gio = NULL;
xlator_t *subvol = NULL;
struct glfs *fs = NULL;
struct glfs_fd *glfd = NULL;
int ret = -1;
- struct stat prestat = {}, *prestatp = NULL;
- struct stat poststat = {}, *poststatp = NULL;
GF_VALIDATE_OR_GOTO ("gfapi", frame, inval);
GF_VALIDATE_OR_GOTO ("gfapi", cookie, inval);
@@ -958,21 +951,8 @@ glfs_io_async_cbk (int op_ret, int op_errno, call_frame_t *frame,
out:
errno = op_errno;
- if (gio->oldcb) {
- gio->fn34 (gio->glfd, op_ret, gio->data);
- } else {
- if (prebuf) {
- prestatp = &prestat;
- glfs_iatt_to_stat (fs, prebuf, prestatp);
- }
-
- if (postbuf) {
- poststatp = &poststat;
- glfs_iatt_to_stat (fs, postbuf, poststatp);
- }
+ gio->fn (gio->glfd, op_ret, gio->data);
- gio->fn (gio->glfd, op_ret, prestatp, poststatp, gio->data);
- }
err:
fd_unref (glfd->fd);
/* Since the async operation is complete
@@ -997,17 +977,16 @@ glfs_preadv_async_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int count, struct iatt *stbuf, struct iobref *iobref,
dict_t *xdata)
{
- glfs_io_async_cbk (op_ret, op_errno, frame, cookie, iovec, count,
- NULL, stbuf);
+ glfs_io_async_cbk (op_ret, op_errno, frame, cookie, iovec, count);
return 0;
}
-static int
-glfs_preadv_async_common (struct glfs_fd *glfd, const struct iovec *iovec,
- int count, off_t offset, int flags,
- gf_boolean_t oldcb, glfs_io_cbk fn, void *data)
+int
+pub_glfs_preadv_async (struct glfs_fd *glfd, const struct iovec *iovec,
+ int count, off_t offset, int flags, glfs_io_cbk fn,
+ void *data)
{
struct glfs_io *gio = NULL;
int ret = 0;
@@ -1064,7 +1043,6 @@ glfs_preadv_async_common (struct glfs_fd *glfd, const struct iovec *iovec,
gio->count = count;
gio->offset = offset;
gio->flags = flags;
- gio->oldcb = oldcb;
gio->fn = fn;
gio->data = data;
@@ -1104,47 +1082,7 @@ invalid_fs:
return -1;
}
-int
-pub_glfs_preadv_async34 (struct glfs_fd *glfd, const struct iovec *iovec,
- int count, off_t offset, int flags, glfs_io_cbk34 fn,
- void *data)
-{
- return glfs_preadv_async_common (glfd, iovec, count, offset, flags,
- _gf_true, (void *)fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.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,
- void *data)
-{
- return glfs_preadv_async_common (glfd, iovec, count, offset, flags,
- _gf_false, fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 4.0.0);
-
-
-int
-pub_glfs_read_async34 (struct glfs_fd *glfd, void *buf, size_t count, int flags,
- glfs_io_cbk34 fn, void *data)
-{
- struct iovec iov = {0, };
- ssize_t ret = 0;
-
- iov.iov_base = buf;
- iov.iov_len = count;
-
- ret = glfs_preadv_async_common (glfd, &iov, 1, glfd->offset, flags,
- _gf_true, (void *)fn, data);
-
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 3.4.0);
int
@@ -1157,18 +1095,17 @@ pub_glfs_read_async (struct glfs_fd *glfd, void *buf, size_t count, int flags,
iov.iov_base = buf;
iov.iov_len = count;
- ret = glfs_preadv_async_common (glfd, &iov, 1, glfd->offset, flags,
- _gf_false, fn, data);
+ ret = pub_glfs_preadv_async (glfd, &iov, 1, glfd->offset, flags, fn, data);
return ret;
}
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_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)
+pub_glfs_pread_async (struct glfs_fd *glfd, void *buf, size_t count,
+ off_t offset, int flags, glfs_io_cbk fn, void *data)
{
struct iovec iov = {0, };
ssize_t ret = 0;
@@ -1176,46 +1113,12 @@ pub_glfs_pread_async34 (struct glfs_fd *glfd, void *buf, size_t count,
iov.iov_base = buf;
iov.iov_len = count;
- ret = glfs_preadv_async_common (glfd, &iov, 1, offset, flags,
- _gf_true, (void *)fn, data);
+ ret = pub_glfs_preadv_async (glfd, &iov, 1, offset, flags, fn, data);
return ret;
}
-GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.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)
-{
- struct iovec iov = {0, };
- ssize_t ret = 0;
-
- iov.iov_base = buf;
- iov.iov_len = count;
-
- ret = glfs_preadv_async_common (glfd, &iov, 1, offset, flags,
- _gf_false, fn, data);
-
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 4.0.0);
-
-
-int
-pub_glfs_readv_async34 (struct glfs_fd *glfd, const struct iovec *iov,
- int count, int flags, glfs_io_cbk34 fn, void *data)
-{
- ssize_t ret = 0;
-
- ret = glfs_preadv_async_common (glfd, iov, count, glfd->offset, flags,
- _gf_true, (void *)fn, data);
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 3.4.0);
int
@@ -1224,12 +1127,12 @@ pub_glfs_readv_async (struct glfs_fd *glfd, const struct iovec *iov, int count,
{
ssize_t ret = 0;
- ret = glfs_preadv_async_common (glfd, iov, count, glfd->offset, flags,
- _gf_false, fn, data);
+ ret = pub_glfs_preadv_async (glfd, iov, count, glfd->offset, flags,
+ fn, data);
return ret;
}
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 3.4.0);
static int
@@ -1438,16 +1341,15 @@ glfs_pwritev_async_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int op_ret, int op_errno, struct iatt *prebuf,
struct iatt *postbuf, dict_t *xdata)
{
- glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0,
- prebuf, postbuf);
+ glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0);
return 0;
}
-static int
-glfs_pwritev_async_common (struct glfs_fd *glfd, const struct iovec *iovec,
- int count, off_t offset, int flags,
- gf_boolean_t oldcb, glfs_io_cbk fn, void *data)
+int
+pub_glfs_pwritev_async (struct glfs_fd *glfd, const struct iovec *iovec,
+ int count, off_t offset, int flags, glfs_io_cbk fn,
+ void *data)
{
struct glfs_io *gio = NULL;
int ret = -1;
@@ -1488,7 +1390,6 @@ glfs_pwritev_async_common (struct glfs_fd *glfd, const struct iovec *iovec,
gio->glfd = glfd;
gio->offset = offset;
gio->flags = flags;
- gio->oldcb = oldcb;
gio->fn = fn;
gio->data = data;
gio->count = 1;
@@ -1548,47 +1449,7 @@ invalid_fs:
return ret;
}
-int
-pub_glfs_pwritev_async34 (struct glfs_fd *glfd, const struct iovec *iovec,
- int count, off_t offset, int flags, glfs_io_cbk34 fn,
- void *data)
-{
- return glfs_pwritev_async_common (glfd, iovec, count, offset, flags,
- _gf_true, (void *)fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.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,
- void *data)
-{
- return glfs_pwritev_async_common (glfd, iovec, count, offset, flags,
- _gf_false, fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 4.0.0);
-
-
-int
-pub_glfs_write_async34 (struct glfs_fd *glfd, const void *buf, size_t count,
- int flags, glfs_io_cbk34 fn, void *data)
-{
- struct iovec iov = {0, };
- ssize_t ret = 0;
-
- iov.iov_base = (void *) buf;
- iov.iov_len = count;
-
- ret = glfs_pwritev_async_common (glfd, &iov, 1, glfd->offset, flags,
- _gf_true, (void *)fn, data);
-
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 3.4.0);
int
@@ -1601,18 +1462,17 @@ pub_glfs_write_async (struct glfs_fd *glfd, const void *buf, size_t count,
iov.iov_base = (void *) buf;
iov.iov_len = count;
- ret = glfs_pwritev_async_common (glfd, &iov, 1, glfd->offset, flags,
- _gf_false, fn, data);
+ ret = pub_glfs_pwritev_async (glfd, &iov, 1, glfd->offset, flags, fn, data);
return ret;
}
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_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)
+pub_glfs_pwrite_async (struct glfs_fd *glfd, const void *buf, int count,
+ off_t offset, int flags, glfs_io_cbk fn, void *data)
{
struct iovec iov = {0, };
ssize_t ret = 0;
@@ -1620,46 +1480,12 @@ pub_glfs_pwrite_async34 (struct glfs_fd *glfd, const void *buf, int count,
iov.iov_base = (void *) buf;
iov.iov_len = count;
- ret = glfs_pwritev_async_common (glfd, &iov, 1, offset, flags,
- _gf_true, (void *)fn, data);
+ ret = pub_glfs_pwritev_async (glfd, &iov, 1, offset, flags, fn, data);
return ret;
}
-GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.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)
-{
- struct iovec iov = {0, };
- ssize_t ret = 0;
-
- iov.iov_base = (void *) buf;
- iov.iov_len = count;
-
- ret = glfs_pwritev_async_common (glfd, &iov, 1, offset, flags,
- _gf_false, fn, data);
-
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 4.0.0);
-
-
-int
-pub_glfs_writev_async34 (struct glfs_fd *glfd, const struct iovec *iov,
- int count, int flags, glfs_io_cbk34 fn, void *data)
-{
- ssize_t ret = 0;
-
- ret = glfs_pwritev_async_common (glfd, iov, count, glfd->offset, flags,
- _gf_true, (void *)fn, data);
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 3.4.0);
int
@@ -1668,12 +1494,12 @@ pub_glfs_writev_async (struct glfs_fd *glfd, const struct iovec *iov, int count,
{
ssize_t ret = 0;
- ret = glfs_pwritev_async_common (glfd, iov, count, glfd->offset, flags,
- _gf_false, fn, data);
+ ret = pub_glfs_pwritev_async (glfd, iov, count, glfd->offset, flags,
+ fn, data);
return ret;
}
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 3.4.0);
static int
@@ -1759,15 +1585,14 @@ glfs_fsync_async_cbk (call_frame_t *frame, void *cookie,
int32_t op_errno, struct iatt *prebuf,
struct iatt *postbuf, dict_t *xdata)
{
- glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0,
- prebuf, postbuf);
+ glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0);
return 0;
}
static int
-glfs_fsync_async_common (struct glfs_fd *glfd, gf_boolean_t oldcb,
- glfs_io_cbk fn, void *data, int dataonly)
+glfs_fsync_async_common (struct glfs_fd *glfd, glfs_io_cbk fn, void *data,
+ int dataonly)
{
struct glfs_io *gio = NULL;
int ret = 0;
@@ -1811,7 +1636,6 @@ glfs_fsync_async_common (struct glfs_fd *glfd, gf_boolean_t oldcb,
gio->op = GF_FOP_FSYNC;
gio->glfd = glfd;
gio->flags = dataonly;
- gio->oldcb = oldcb;
gio->fn = fn;
gio->data = data;
@@ -1836,25 +1660,6 @@ out:
int
-pub_glfs_fsync_async34 (struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data)
-{
- int ret = -1;
-
- DECLARE_OLD_THIS;
- __GLFS_ENTRY_VALIDATE_FD (glfd, invalid_fs);
-
- ret = glfs_fsync_async_common (glfd, _gf_true, (void *)fn, data, 0);
-
- __GLFS_EXIT_FS;
-
-invalid_fs:
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0);
-
-
-int
pub_glfs_fsync_async (struct glfs_fd *glfd, glfs_io_cbk fn, void *data)
{
int ret = -1;
@@ -1862,7 +1667,7 @@ pub_glfs_fsync_async (struct glfs_fd *glfd, glfs_io_cbk fn, void *data)
DECLARE_OLD_THIS;
__GLFS_ENTRY_VALIDATE_FD (glfd, invalid_fs);
- ret = glfs_fsync_async_common (glfd, _gf_false, fn, data, 0);
+ ret = glfs_fsync_async_common (glfd, fn, data, 0);
__GLFS_EXIT_FS;
@@ -1870,7 +1675,7 @@ invalid_fs:
return ret;
}
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 3.4.0);
static int
@@ -1951,25 +1756,6 @@ GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 4.0.0);
int
-pub_glfs_fdatasync_async34 (struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data)
-{
- int ret = -1;
-
- DECLARE_OLD_THIS;
- __GLFS_ENTRY_VALIDATE_FD (glfd, invalid_fs);
-
- ret = glfs_fsync_async_common (glfd, _gf_true, (void *)fn, data, 1);
-
- __GLFS_EXIT_FS;
-
-invalid_fs:
- return ret;
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0);
-
-
-int
pub_glfs_fdatasync_async (struct glfs_fd *glfd, glfs_io_cbk fn, void *data)
{
int ret = -1;
@@ -1977,7 +1763,7 @@ pub_glfs_fdatasync_async (struct glfs_fd *glfd, glfs_io_cbk fn, void *data)
DECLARE_OLD_THIS;
__GLFS_ENTRY_VALIDATE_FD (glfd, invalid_fs);
- ret = glfs_fsync_async_common (glfd, _gf_false, fn, data, 1);
+ ret = glfs_fsync_async_common (glfd, fn, data, 1);
__GLFS_EXIT_FS;
@@ -1985,7 +1771,7 @@ invalid_fs:
return ret;
}
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 3.4.0);
static int
@@ -2116,15 +1902,14 @@ glfs_ftruncate_async_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
struct iatt *prebuf, struct iatt *postbuf,
dict_t *xdata)
{
- glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0,
- prebuf, postbuf);
+ glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0);
return 0;
}
-static int
-glfs_ftruncate_async_common (struct glfs_fd *glfd, off_t offset,
- gf_boolean_t oldcb, glfs_io_cbk fn, void *data)
+int
+pub_glfs_ftruncate_async (struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn,
+ void *data)
{
struct glfs_io *gio = NULL;
int ret = -1;
@@ -2168,7 +1953,6 @@ glfs_ftruncate_async_common (struct glfs_fd *glfd, off_t offset,
gio->op = GF_FOP_FTRUNCATE;
gio->glfd = glfd;
gio->offset = offset;
- gio->oldcb = oldcb;
gio->fn = fn;
gio->data = data;
@@ -2203,25 +1987,7 @@ invalid_fs:
return ret;
}
-int
-pub_glfs_ftruncate_async34 (struct glfs_fd *glfd, off_t offset,
- glfs_io_cbk34 fn, void *data)
-{
- return glfs_ftruncate_async_common (glfd, offset, _gf_true,
- (void *)fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0);
-
-
-int
-pub_glfs_ftruncate_async (struct glfs_fd *glfd, off_t offset,
- glfs_io_cbk fn, void *data)
-{
- return glfs_ftruncate_async_common (glfd, offset, _gf_false, fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 3.4.0);
int
@@ -3001,15 +2767,14 @@ glfs_discard_async_cbk (call_frame_t *frame, void *cookie,
int32_t op_errno, struct iatt *preop_stbuf,
struct iatt *postop_stbuf, dict_t *xdata)
{
- glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0,
- preop_stbuf, postop_stbuf);
+ glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0);
return 0;
}
-static int
-glfs_discard_async_common (struct glfs_fd *glfd, off_t offset, size_t len,
- gf_boolean_t oldcb, glfs_io_cbk fn, void *data)
+int
+pub_glfs_discard_async (struct glfs_fd *glfd, off_t offset, size_t len,
+ glfs_io_cbk fn, void *data)
{
struct glfs_io *gio = NULL;
int ret = -1;
@@ -3054,7 +2819,6 @@ glfs_discard_async_common (struct glfs_fd *glfd, off_t offset, size_t len,
gio->glfd = glfd;
gio->offset = offset;
gio->count = len;
- gio->oldcb = oldcb;
gio->fn = fn;
gio->data = data;
@@ -3085,26 +2849,7 @@ invalid_fs:
return ret;
}
-int
-pub_glfs_discard_async35 (struct glfs_fd *glfd, off_t offset, size_t len,
- glfs_io_cbk34 fn, void *data)
-{
- return glfs_discard_async_common (glfd, offset, len, _gf_true,
- (void *)fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0);
-
-
-int
-pub_glfs_discard_async (struct glfs_fd *glfd, off_t offset, size_t len,
- glfs_io_cbk fn, void *data)
-{
- return glfs_discard_async_common (glfd, offset, len, _gf_false, fn,
- data);
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 3.5.0);
static int
@@ -3113,16 +2858,15 @@ glfs_zerofill_async_cbk (call_frame_t *frame, void *cookie,
int32_t op_errno, struct iatt *preop_stbuf,
struct iatt *postop_stbuf, dict_t *xdata)
{
- glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0,
- preop_stbuf, postop_stbuf);
+ glfs_io_async_cbk (op_ret, op_errno, frame, cookie, NULL, 0);
return 0;
}
-static int
-glfs_zerofill_async_common (struct glfs_fd *glfd, off_t offset, off_t len,
- gf_boolean_t oldcb, glfs_io_cbk fn, void *data)
+int
+pub_glfs_zerofill_async (struct glfs_fd *glfd, off_t offset, off_t len,
+ glfs_io_cbk fn, void *data)
{
struct glfs_io *gio = NULL;
int ret = -1;
@@ -3167,7 +2911,6 @@ glfs_zerofill_async_common (struct glfs_fd *glfd, off_t offset, off_t len,
gio->glfd = glfd;
gio->offset = offset;
gio->count = len;
- gio->oldcb = oldcb;
gio->fn = fn;
gio->data = data;
@@ -3200,26 +2943,7 @@ invalid_fs:
return ret;
}
-int
-pub_glfs_zerofill_async35 (struct glfs_fd *glfd, off_t offset, off_t len,
- glfs_io_cbk34 fn, void *data)
-{
- return glfs_zerofill_async_common (glfd, offset, len, _gf_true,
- (void *)fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0);
-
-
-int
-pub_glfs_zerofill_async (struct glfs_fd *glfd, off_t offset, off_t len,
- glfs_io_cbk fn, void *data)
-{
- return glfs_zerofill_async_common (glfd, offset, len, _gf_false,
- fn, data);
-}
-
-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 4.0.0);
+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 3.5.0);
void