summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhou Zhengping <johnzzpcrystal@gmail.com>2016-07-16 18:02:55 -0400
committerJeff Darcy <jdarcy@redhat.com>2016-07-17 06:35:35 -0700
commiteb4ea14dcdf6dc2f741a2ed14150ee6ea83b92ce (patch)
tree291daf94217c5cc18e3f0b51fb7edc8835f55f3d
parent3c485cb896837c8e362fd0b094325002ce806ac4 (diff)
io-threads.c: add serveral fops support in io-threads
1.add lease, seek, getactivelk, setactivelk support in io-threads 2.add several missing function declations in defaults.h, the declation of function default_getactivelk_failure_cbk needed by io-threads.c Signed-off-by: Zhou Zhengping <johnzzpcrystal@gmail.com> Change-Id: Ie7a56569b4c29cdc6984d31738b484d2d6d83557 BUG: 1357210 Reviewed-on: http://review.gluster.org/14935 Tested-by: Zhou Zhengping <johnzzpcrystal@gmail.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Niels de Vos <ndevos@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
-rw-r--r--libglusterfs/src/defaults.h51
-rw-r--r--xlators/performance/io-threads/src/io-threads.c53
2 files changed, 85 insertions, 19 deletions
diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h
index 2fc6a46de1f..50f1909b90b 100644
--- a/libglusterfs/src/defaults.h
+++ b/libglusterfs/src/defaults.h
@@ -591,6 +591,14 @@ int32_t default_seek_resume (call_frame_t *frame, xlator_t *this, fd_t *fd,
int32_t default_lease_resume (call_frame_t *frame, xlator_t *this, loc_t *loc,
struct gf_lease *lease, dict_t *xdata);
+int32_t
+default_getactivelk_resume (call_frame_t *frame, xlator_t *this, loc_t *loc,
+ dict_t *xdata);
+
+int32_t
+default_setactivelk_resume (call_frame_t *frame, xlator_t *this, loc_t *loc,
+ lock_migration_info_t *locklist, dict_t *xdata);
+
/* _cbk_resume */
int32_t
@@ -856,6 +864,14 @@ int32_t default_zerofill_cbk_resume (call_frame_t * frame, void *cookie,
xlator_t * this, int32_t op_ret,
int32_t op_errno, struct iatt *pre,
struct iatt *post, dict_t * xdata);
+int32_t
+default_ipc_cbk_resume (call_frame_t *frame, void *cookie, xlator_t *this,
+ int32_t op_ret, int32_t op_errno, dict_t *xdata);
+
+int32_t
+default_seek_cbk_resume (call_frame_t *frame, void *cookie, xlator_t *this,
+ int32_t op_ret, int32_t op_errno, off_t offset,
+ dict_t *xdata);
int32_t
default_getspec_cbk_resume (call_frame_t * frame, void *cookie,
@@ -868,13 +884,16 @@ default_lease_cbk_resume (call_frame_t *frame, void *cookie, xlator_t *this,
struct gf_lease *lease, dict_t *xdata);
int32_t
-default_getactivelk_resume (call_frame_t *frame, xlator_t *this, loc_t *loc,
- dict_t *xdata);
+default_getactivelk_cbk_resume (call_frame_t *frame, void *cookie,
+ xlator_t *this, int32_t op_ret,
+ int32_t op_errno,
+ lock_migration_info_t *locklist,
+ dict_t *xdata);
int32_t
-default_setactivelk_resume (call_frame_t *frame, xlator_t *this, loc_t *loc,
- lock_migration_info_t *locklist, dict_t *xdata);
-
+default_setactivelk_cbk_resume (call_frame_t *frame, void *cookie,
+ xlator_t *this, int32_t op_ret,
+ int32_t op_errno, dict_t *xdata);
/* _CBK */
int32_t
@@ -1114,6 +1133,17 @@ default_lease_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
struct gf_lease *lease, dict_t *xdata);
int32_t
+default_getactivelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
+ int32_t op_ret, int32_t op_errno,
+ lock_migration_info_t *locklist,
+ dict_t *xdata);
+
+int32_t
+default_setactivelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
+ int32_t op_ret, int32_t op_errno, dict_t *xdata);
+
+
+int32_t
default_lookup_failure_cbk (call_frame_t *frame, int32_t op_errno);
int32_t
@@ -1251,20 +1281,19 @@ int32_t
default_getspec_failure_cbk (call_frame_t *frame, int32_t op_errno);
int32_t
+default_ipc_failure_cbk (call_frame_t *frame, int32_t op_errno);
+
+int32_t
default_seek_failure_cbk (call_frame_t *frame, int32_t op_errno);
int32_t
default_lease_failure_cbk (call_frame_t *frame, int32_t op_errno);
int32_t
-default_getactivelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
- int32_t op_ret, int32_t op_errno,
- lock_migration_info_t *locklist,
- dict_t *xdata);
+default_getactivelk_failure_cbk (call_frame_t *frame, int32_t op_errno);
int32_t
-default_setactivelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
- int32_t op_ret, int32_t op_errno, dict_t *xdata);
+default_setactivelk_failure_cbk (call_frame_t *frame, int32_t op_errno);
int32_t
default_mem_acct_init (xlator_t *this);
diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c
index c81a97d8a39..dd2aba3fd0a 100644
--- a/xlators/performance/io-threads/src/io-threads.c
+++ b/xlators/performance/io-threads/src/io-threads.c
@@ -329,9 +329,10 @@ iot_schedule (call_frame_t *frame, xlator_t *this, call_stub_t *stub)
case GF_FOP_XATTROP:
case GF_FOP_FXATTROP:
case GF_FOP_RCHECKSUM:
- case GF_FOP_FALLOCATE:
- case GF_FOP_DISCARD:
+ case GF_FOP_FALLOCATE:
+ case GF_FOP_DISCARD:
case GF_FOP_ZEROFILL:
+ case GF_FOP_SEEK:
pri = IOT_PRI_LO;
break;
@@ -715,7 +716,7 @@ iot_rchecksum (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
}
int
-iot_fallocate(call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t mode,
+iot_fallocate (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t mode,
off_t offset, size_t len, dict_t *xdata)
{
IOT_FOP (fallocate, frame, this, fd, mode, offset, len, xdata);
@@ -723,7 +724,7 @@ iot_fallocate(call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t mode,
}
int
-iot_discard(call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
+iot_discard (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
size_t len, dict_t *xdata)
{
IOT_FOP (discard, frame, this, fd, offset, len, xdata);
@@ -731,13 +732,45 @@ iot_discard(call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
}
int
-iot_zerofill(call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
+iot_zerofill (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
off_t len, dict_t *xdata)
{
IOT_FOP (zerofill, frame, this, fd, offset, len, xdata);
return 0;
}
+int
+iot_seek (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
+ gf_seek_what_t what, dict_t *xdata)
+{
+ IOT_FOP (seek, frame, this, fd, offset, what, xdata);
+ return 0;
+}
+
+int
+iot_lease (call_frame_t *frame, xlator_t *this, loc_t *loc,
+ struct gf_lease *lease, dict_t *xdata)
+{
+ IOT_FOP (lease, frame, this, loc, lease, xdata);
+ return 0;
+}
+
+int
+iot_getactivelk (call_frame_t *frame, xlator_t *this,
+ loc_t *loc, dict_t *xdata)
+{
+ IOT_FOP (getactivelk, frame, this, loc, xdata);
+ return 0;
+}
+
+int
+iot_setactivelk (call_frame_t *frame, xlator_t *this, loc_t *loc,
+ lock_migration_info_t *locklist, dict_t *xdata)
+{
+ IOT_FOP (setactivelk, frame, this, loc, locklist, xdata);
+ return 0;
+}
+
int
__iot_workers_scale (iot_conf_t *conf)
@@ -1077,11 +1110,15 @@ struct xlator_fops fops = {
.entrylk = iot_entrylk,
.fentrylk = iot_fentrylk,
.xattrop = iot_xattrop,
- .fxattrop = iot_fxattrop,
+ .fxattrop = iot_fxattrop,
.rchecksum = iot_rchecksum,
- .fallocate = iot_fallocate,
- .discard = iot_discard,
+ .fallocate = iot_fallocate,
+ .discard = iot_discard,
.zerofill = iot_zerofill,
+ .seek = iot_seek,
+ .lease = iot_lease,
+ .getactivelk = iot_getactivelk,
+ .setactivelk = iot_setactivelk,
};
struct xlator_cbks cbks;