diff options
Diffstat (limited to 'xlators/features/quiesce/src/quiesce.c')
| -rw-r--r-- | xlators/features/quiesce/src/quiesce.c | 720 |
1 files changed, 327 insertions, 393 deletions
diff --git a/xlators/features/quiesce/src/quiesce.c b/xlators/features/quiesce/src/quiesce.c index c9828054c..24c7dc6ed 100644 --- a/xlators/features/quiesce/src/quiesce.c +++ b/xlators/features/quiesce/src/quiesce.c @@ -1,22 +1,12 @@ /* - Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com> - This file is part of GlusterFS. - - GlusterFS is free software; you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - GlusterFS is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see - <http://www.gnu.org/licenses/>. -*/ + Copyright (c) 2010-2012 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ #ifndef _CONFIG_H #define _CONFIG_H #include "config.h" @@ -34,29 +24,22 @@ void gf_quiesce_local_wipe (xlator_t *this, quiesce_local_t *local) { - quiesce_priv_t *priv = NULL; - if (!local || !this || !this->private) return; - priv = this->private; - if (local->loc.inode) loc_wipe (&local->loc); if (local->fd) fd_unref (local->fd); - if (local->name) - GF_FREE (local->name); - if (local->volname) - GF_FREE (local->volname); + GF_FREE (local->name); + GF_FREE (local->volname); if (local->dict) dict_unref (local->dict); if (local->iobref) iobref_unref (local->iobref); - if (local->vector) - GF_FREE (local->vector); + GF_FREE (local->vector); - mem_put (priv->local_pool, local); + mem_put (local); } call_stub_t * @@ -108,7 +91,6 @@ gf_quiesce_timeout (void *data) { xlator_t *this = NULL; quiesce_priv_t *priv = NULL; - int need_dequeue = 0; this = data; priv = this->private; @@ -117,7 +99,6 @@ gf_quiesce_timeout (void *data) LOCK (&priv->lock); { priv->pass_through = _gf_true; - need_dequeue = (priv->queue_size)? 1:0; } UNLOCK (&priv->lock); @@ -130,7 +111,7 @@ void gf_quiesce_enqueue (xlator_t *this, call_stub_t *stub) { quiesce_priv_t *priv = NULL; - struct timeval timeout = {0,}; + struct timespec timeout = {0,}; priv = this->private; if (!priv) { @@ -148,7 +129,7 @@ gf_quiesce_enqueue (xlator_t *this, call_stub_t *stub) if (!priv->timer) { timeout.tv_sec = 20; - timeout.tv_usec = 0; + timeout.tv_nsec = 0; priv->timer = gf_timer_call_after (this->ctx, timeout, @@ -168,12 +149,9 @@ quiesce_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, inode_t *inode, struct iatt *buf, dict_t *dict, struct iatt *postparent) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { @@ -200,23 +178,21 @@ out: int32_t quiesce_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, struct iatt *buf) + int32_t op_ret, int32_t op_errno, struct iatt *buf, + dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_stat_stub (frame, default_stat_resume, - &local->loc); + &local->loc, xdata); if (!stub) { STACK_UNWIND_STRICT (stat, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -224,7 +200,7 @@ quiesce_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (stat, frame, op_ret, op_errno, buf); + STACK_UNWIND_STRICT (stat, frame, op_ret, op_errno, buf, xdata); out: gf_quiesce_local_wipe (this, local); @@ -233,22 +209,19 @@ out: int32_t quiesce_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_access_stub (frame, default_access_resume, - &local->loc, local->flag); + &local->loc, local->flag, xdata); if (!stub) { - STACK_UNWIND_STRICT (access, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (access, frame, -1, ENOMEM, NULL); goto out; } @@ -256,7 +229,7 @@ quiesce_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (access, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (access, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -266,23 +239,20 @@ out: int32_t quiesce_readlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, const char *path, - struct iatt *buf) + struct iatt *buf, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_readlink_stub (frame, default_readlink_resume, - &local->loc, local->size); + &local->loc, local->size, xdata); if (!stub) { STACK_UNWIND_STRICT (readlink, frame, -1, ENOMEM, - NULL, NULL); + NULL, NULL, NULL); goto out; } @@ -290,7 +260,7 @@ quiesce_readlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (readlink, frame, op_ret, op_errno, path, buf); + STACK_UNWIND_STRICT (readlink, frame, op_ret, op_errno, path, buf, xdata); out: gf_quiesce_local_wipe (this, local); @@ -299,24 +269,21 @@ out: int32_t quiesce_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, fd_t *fd) + int32_t op_ret, int32_t op_errno, fd_t *fd, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_open_stub (frame, default_open_resume, &local->loc, local->flag, local->fd, - local->wbflags); + xdata); if (!stub) { STACK_UNWIND_STRICT (open, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -324,7 +291,7 @@ quiesce_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (open, frame, op_ret, op_errno, fd); + STACK_UNWIND_STRICT (open, frame, op_ret, op_errno, fd, xdata); out: gf_quiesce_local_wipe (this, local); @@ -334,23 +301,21 @@ out: int32_t quiesce_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iovec *vector, - int32_t count, struct iatt *stbuf, struct iobref *iobref) + int32_t count, struct iatt *stbuf, struct iobref *iobref, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_readv_stub (frame, default_readv_resume, - local->fd, local->size, local->offset); + local->fd, local->size, local->offset, + local->io_flag, xdata); if (!stub) { STACK_UNWIND_STRICT (readv, frame, -1, ENOMEM, - NULL, 0, NULL, NULL); + NULL, 0, NULL, NULL, NULL); goto out; } @@ -359,7 +324,7 @@ quiesce_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } STACK_UNWIND_STRICT (readv, frame, op_ret, op_errno, vector, count, - stbuf, iobref); + stbuf, iobref, xdata); out: gf_quiesce_local_wipe (this, local); @@ -368,22 +333,19 @@ out: int32_t quiesce_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_flush_stub (frame, default_flush_resume, - local->fd); + local->fd, xdata); if (!stub) { - STACK_UNWIND_STRICT (flush, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (flush, frame, -1, ENOMEM, NULL); goto out; } @@ -391,7 +353,7 @@ quiesce_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (flush, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (flush, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -403,23 +365,20 @@ out: int32_t quiesce_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *prebuf, - struct iatt *postbuf) + struct iatt *postbuf, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_fsync_stub (frame, default_fsync_resume, - local->fd, local->flag); + local->fd, local->flag, xdata); if (!stub) { STACK_UNWIND_STRICT (fsync, frame, -1, ENOMEM, - NULL, NULL); + NULL, NULL, NULL); goto out; } @@ -427,7 +386,7 @@ quiesce_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (fsync, frame, op_ret, op_errno, prebuf, postbuf); + STACK_UNWIND_STRICT (fsync, frame, op_ret, op_errno, prebuf, postbuf, xdata); out: gf_quiesce_local_wipe (this, local); @@ -436,23 +395,20 @@ out: int32_t quiesce_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, struct iatt *buf) + int32_t op_ret, int32_t op_errno, struct iatt *buf, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_fstat_stub (frame, default_fstat_resume, - local->fd); + local->fd, xdata); if (!stub) { STACK_UNWIND_STRICT (fstat, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -460,7 +416,7 @@ quiesce_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (fstat, frame, op_ret, op_errno, buf); + STACK_UNWIND_STRICT (fstat, frame, op_ret, op_errno, buf, xdata); out: gf_quiesce_local_wipe (this, local); @@ -469,23 +425,20 @@ out: int32_t quiesce_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, fd_t *fd) + int32_t op_ret, int32_t op_errno, fd_t *fd, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_opendir_stub (frame, default_opendir_resume, - &local->loc, local->fd); + &local->loc, local->fd, xdata); if (!stub) { STACK_UNWIND_STRICT (opendir, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -493,7 +446,7 @@ quiesce_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (opendir, frame, op_ret, op_errno, fd); + STACK_UNWIND_STRICT (opendir, frame, op_ret, op_errno, fd, xdata); out: gf_quiesce_local_wipe (this, local); @@ -502,22 +455,19 @@ out: int32_t quiesce_fsyncdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_fsyncdir_stub (frame, default_fsyncdir_resume, - local->fd, local->flag); + local->fd, local->flag, xdata); if (!stub) { - STACK_UNWIND_STRICT (fsyncdir, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (fsyncdir, frame, -1, ENOMEM, NULL); goto out; } @@ -525,7 +475,7 @@ quiesce_fsyncdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (fsyncdir, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (fsyncdir, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -534,23 +484,20 @@ out: int32_t quiesce_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, struct statvfs *buf) + int32_t op_ret, int32_t op_errno, struct statvfs *buf, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_statfs_stub (frame, default_statfs_resume, - &local->loc); + &local->loc, xdata); if (!stub) { STACK_UNWIND_STRICT (statfs, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -558,7 +505,7 @@ quiesce_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (statfs, frame, op_ret, op_errno, buf); + STACK_UNWIND_STRICT (statfs, frame, op_ret, op_errno, buf, xdata); out: gf_quiesce_local_wipe (this, local); @@ -567,23 +514,20 @@ out: int32_t quiesce_fgetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, dict_t *dict) + int32_t op_ret, int32_t op_errno, dict_t *dict, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_fgetxattr_stub (frame, default_fgetxattr_resume, - local->fd, local->name); + local->fd, local->name, xdata); if (!stub) { STACK_UNWIND_STRICT (fgetxattr, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -591,7 +535,7 @@ quiesce_fgetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (fgetxattr, frame, op_ret, op_errno, dict); + STACK_UNWIND_STRICT (fgetxattr, frame, op_ret, op_errno, dict, xdata); out: gf_quiesce_local_wipe (this, local); @@ -601,23 +545,20 @@ out: int32_t quiesce_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, dict_t *dict) + int32_t op_ret, int32_t op_errno, dict_t *dict, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_getxattr_stub (frame, default_getxattr_resume, - &local->loc, local->name); + &local->loc, local->name, xdata); if (!stub) { STACK_UNWIND_STRICT (getxattr, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -625,7 +566,7 @@ quiesce_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (getxattr, frame, op_ret, op_errno, dict); + STACK_UNWIND_STRICT (getxattr, frame, op_ret, op_errno, dict, xdata); out: gf_quiesce_local_wipe (this, local); @@ -636,23 +577,20 @@ out: int32_t quiesce_rchecksum_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, uint32_t weak_checksum, - uint8_t *strong_checksum) + uint8_t *strong_checksum, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_rchecksum_stub (frame, default_rchecksum_resume, - local->fd, local->offset, local->flag); + local->fd, local->offset, local->flag, xdata); if (!stub) { STACK_UNWIND_STRICT (rchecksum, frame, -1, ENOMEM, - 0, NULL); + 0, NULL, NULL); goto out; } @@ -661,7 +599,7 @@ quiesce_rchecksum_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } STACK_UNWIND_STRICT (rchecksum, frame, op_ret, op_errno, weak_checksum, - strong_checksum); + strong_checksum, xdata); out: gf_quiesce_local_wipe (this, local); @@ -671,23 +609,20 @@ out: int32_t quiesce_readdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, gf_dirent_t *entries) + int32_t op_ret, int32_t op_errno, gf_dirent_t *entries, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_readdir_stub (frame, default_readdir_resume, - local->fd, local->size, local->offset); + local->fd, local->size, local->offset, xdata); if (!stub) { STACK_UNWIND_STRICT (readdir, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -695,7 +630,7 @@ quiesce_readdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (readdir, frame, op_ret, op_errno, entries); + STACK_UNWIND_STRICT (readdir, frame, op_ret, op_errno, entries, xdata); out: gf_quiesce_local_wipe (this, local); @@ -705,23 +640,21 @@ out: int32_t quiesce_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, gf_dirent_t *entries) + int32_t op_ret, int32_t op_errno, gf_dirent_t *entries, dict_t *xdata) { - quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; quiesce_local_t *local = NULL; - priv = this->private; - local = frame->local; frame->local = NULL; if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_readdirp_stub (frame, default_readdirp_resume, - local->fd, local->size, local->offset); + local->fd, local->size, local->offset, + local->dict); if (!stub) { STACK_UNWIND_STRICT (readdirp, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -729,7 +662,7 @@ quiesce_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (readdirp, frame, op_ret, op_errno, entries); + STACK_UNWIND_STRICT (readdirp, frame, op_ret, op_errno, entries, xdata); out: gf_quiesce_local_wipe (this, local); @@ -742,7 +675,7 @@ out: int32_t quiesce_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *prebuf, - struct iatt *postbuf) + struct iatt *postbuf, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -756,10 +689,11 @@ quiesce_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_writev_stub (frame, default_writev_resume, local->fd, local->vector, local->flag, - local->offset, local->iobref); + local->offset, local->io_flags, + local->iobref, xdata); if (!stub) { STACK_UNWIND_STRICT (writev, frame, -1, ENOMEM, - NULL, NULL); + NULL, NULL, NULL); goto out; } @@ -767,7 +701,7 @@ quiesce_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (writev, frame, op_ret, op_errno, prebuf, postbuf); + STACK_UNWIND_STRICT (writev, frame, op_ret, op_errno, prebuf, postbuf, xdata); out: gf_quiesce_local_wipe (this, local); @@ -776,7 +710,7 @@ out: int32_t quiesce_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, dict_t *dict) + int32_t op_ret, int32_t op_errno, dict_t *dict, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -790,10 +724,10 @@ quiesce_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_xattrop_stub (frame, default_xattrop_resume, &local->loc, local->xattrop_flags, - local->dict); + local->dict, xdata); if (!stub) { STACK_UNWIND_STRICT (xattrop, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -801,7 +735,7 @@ quiesce_xattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (xattrop, frame, op_ret, op_errno, dict); + STACK_UNWIND_STRICT (xattrop, frame, op_ret, op_errno, dict, xdata); out: gf_quiesce_local_wipe (this, local); @@ -810,7 +744,7 @@ out: int32_t quiesce_fxattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, dict_t *dict) + int32_t op_ret, int32_t op_errno, dict_t *dict, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -824,10 +758,10 @@ quiesce_fxattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_fxattrop_stub (frame, default_fxattrop_resume, local->fd, local->xattrop_flags, - local->dict); + local->dict, xdata); if (!stub) { STACK_UNWIND_STRICT (fxattrop, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -835,7 +769,7 @@ quiesce_fxattrop_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (fxattrop, frame, op_ret, op_errno, dict); + STACK_UNWIND_STRICT (fxattrop, frame, op_ret, op_errno, dict, xdata); out: gf_quiesce_local_wipe (this, local); @@ -844,7 +778,7 @@ out: int32_t quiesce_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, struct gf_flock *lock) + int32_t op_ret, int32_t op_errno, struct gf_flock *lock, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -857,10 +791,10 @@ quiesce_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_lk_stub (frame, default_lk_resume, - local->fd, local->flag, &local->flock); + local->fd, local->flag, &local->flock, xdata); if (!stub) { STACK_UNWIND_STRICT (lk, frame, -1, ENOMEM, - NULL); + NULL, NULL); goto out; } @@ -868,7 +802,7 @@ quiesce_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (lk, frame, op_ret, op_errno, lock); + STACK_UNWIND_STRICT (lk, frame, op_ret, op_errno, lock, xdata); out: gf_quiesce_local_wipe (this, local); @@ -877,7 +811,7 @@ out: int32_t quiesce_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -891,9 +825,9 @@ quiesce_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_inodelk_stub (frame, default_inodelk_resume, local->volname, &local->loc, - local->flag, &local->flock); + local->flag, &local->flock, xdata); if (!stub) { - STACK_UNWIND_STRICT (inodelk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (inodelk, frame, -1, ENOMEM, NULL); goto out; } @@ -901,7 +835,7 @@ quiesce_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (inodelk, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (inodelk, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -911,7 +845,7 @@ out: int32_t quiesce_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -925,9 +859,9 @@ quiesce_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_finodelk_stub (frame, default_finodelk_resume, local->volname, local->fd, - local->flag, &local->flock); + local->flag, &local->flock, xdata); if (!stub) { - STACK_UNWIND_STRICT (finodelk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (finodelk, frame, -1, ENOMEM, NULL); goto out; } @@ -935,7 +869,7 @@ quiesce_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (finodelk, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (finodelk, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -944,7 +878,7 @@ out: int32_t quiesce_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -958,9 +892,9 @@ quiesce_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_entrylk_stub (frame, default_entrylk_resume, local->volname, &local->loc, - local->name, local->cmd, local->type); + local->name, local->cmd, local->type, xdata); if (!stub) { - STACK_UNWIND_STRICT (entrylk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (entrylk, frame, -1, ENOMEM, NULL); goto out; } @@ -968,7 +902,7 @@ quiesce_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (entrylk, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (entrylk, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -977,7 +911,7 @@ out: int32_t quiesce_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno) + int32_t op_ret, int32_t op_errno, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -991,9 +925,9 @@ quiesce_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, /* Re-transmit (by putting in the queue) */ stub = fop_fentrylk_stub (frame, default_fentrylk_resume, local->volname, local->fd, - local->name, local->cmd, local->type); + local->name, local->cmd, local->type, xdata); if (!stub) { - STACK_UNWIND_STRICT (fentrylk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (fentrylk, frame, -1, ENOMEM, NULL); goto out; } @@ -1001,7 +935,7 @@ quiesce_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - STACK_UNWIND_STRICT (fentrylk, frame, op_ret, op_errno); + STACK_UNWIND_STRICT (fentrylk, frame, op_ret, op_errno, xdata); out: gf_quiesce_local_wipe (this, local); @@ -1011,7 +945,7 @@ out: int32_t quiesce_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *statpre, - struct iatt *statpost) + struct iatt *statpost, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1024,10 +958,10 @@ quiesce_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_setattr_stub (frame, default_setattr_resume, - &local->loc, &local->stbuf, local->flag); + &local->loc, &local->stbuf, local->flag, xdata); if (!stub) { STACK_UNWIND_STRICT (setattr, frame, -1, ENOMEM, - NULL, NULL); + NULL, NULL, NULL); goto out; } @@ -1036,7 +970,7 @@ quiesce_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } STACK_UNWIND_STRICT (setattr, frame, op_ret, op_errno, statpre, - statpost); + statpost, xdata); out: gf_quiesce_local_wipe (this, local); @@ -1046,7 +980,7 @@ out: int32_t quiesce_fsetattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, struct iatt *statpre, - struct iatt *statpost) + struct iatt *statpost, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1060,10 +994,10 @@ quiesce_fsetattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if ((op_ret == -1) && (op_errno == ENOTCONN)) { /* Re-transmit (by putting in the queue) */ stub = fop_fsetattr_stub (frame, default_fsetattr_resume, - local->fd, &local->stbuf, local->flag); + local->fd, &local->stbuf, local->flag, xdata); if (!stub) { STACK_UNWIND_STRICT (fsetattr, frame, -1, ENOMEM, - NULL, NULL); + NULL, NULL, NULL); goto out; } @@ -1072,7 +1006,7 @@ quiesce_fsetattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } STACK_UNWIND_STRICT (fsetattr, frame, op_ret, op_errno, statpre, - statpost); + statpost, xdata); out: gf_quiesce_local_wipe (this, local); @@ -1090,7 +1024,7 @@ int32_t quiesce_removexattr (call_frame_t *frame, xlator_t *this, loc_t *loc, - const char *name) + const char *name, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1103,14 +1037,14 @@ quiesce_removexattr (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->removexattr, loc, - name); - return 0; + name, xdata); + return 0; } stub = fop_removexattr_stub (frame, default_removexattr_resume, - loc, name); + loc, name, xdata); if (!stub) { - STACK_UNWIND_STRICT (removexattr, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (removexattr, frame, -1, ENOMEM, NULL); return 0; } @@ -1123,7 +1057,7 @@ int32_t quiesce_truncate (call_frame_t *frame, xlator_t *this, loc_t *loc, - off_t offset) + off_t offset, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1136,13 +1070,13 @@ quiesce_truncate (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->truncate, loc, - offset); - return 0; + offset, xdata); + return 0; } - stub = fop_truncate_stub (frame, default_truncate_resume, loc, offset); + stub = fop_truncate_stub (frame, default_truncate_resume, loc, offset, xdata); if (!stub) { - STACK_UNWIND_STRICT (truncate, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (truncate, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1156,7 +1090,7 @@ quiesce_fsetxattr (call_frame_t *frame, xlator_t *this, fd_t *fd, dict_t *dict, - int32_t flags) + int32_t flags, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1170,14 +1104,14 @@ quiesce_fsetxattr (call_frame_t *frame, FIRST_CHILD(this)->fops->fsetxattr, fd, dict, - flags); - return 0; + flags, xdata); + return 0; } stub = fop_fsetxattr_stub (frame, default_fsetxattr_resume, - fd, dict, flags); + fd, dict, flags, xdata); if (!stub) { - STACK_UNWIND_STRICT (fsetxattr, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (fsetxattr, frame, -1, ENOMEM, NULL); return 0; } @@ -1191,7 +1125,7 @@ quiesce_setxattr (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *dict, - int32_t flags) + int32_t flags, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1205,14 +1139,14 @@ quiesce_setxattr (call_frame_t *frame, FIRST_CHILD(this)->fops->setxattr, loc, dict, - flags); - return 0; + flags, xdata); + return 0; } stub = fop_setxattr_stub (frame, default_setxattr_resume, - loc, dict, flags); + loc, dict, flags, xdata); if (!stub) { - STACK_UNWIND_STRICT (setxattr, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (setxattr, frame, -1, ENOMEM, NULL); return 0; } @@ -1224,7 +1158,7 @@ quiesce_setxattr (call_frame_t *frame, int32_t quiesce_create (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, mode_t mode, - fd_t *fd, dict_t *params) + mode_t umask, fd_t *fd, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1237,15 +1171,15 @@ quiesce_create (call_frame_t *frame, xlator_t *this, STACK_WIND (frame, default_create_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->create, - loc, (flags & ~O_APPEND), mode, fd, params); - return 0; + loc, (flags & ~O_APPEND), mode, umask, fd, xdata); + return 0; } stub = fop_create_stub (frame, default_create_resume, - loc, (flags & ~O_APPEND), mode, fd, params); + loc, (flags & ~O_APPEND), mode, umask, fd, xdata); if (!stub) { STACK_UNWIND_STRICT (create, frame, -1, ENOMEM, - NULL, NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL, NULL); return 0; } @@ -1258,7 +1192,7 @@ int32_t quiesce_link (call_frame_t *frame, xlator_t *this, loc_t *oldloc, - loc_t *newloc) + loc_t *newloc, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1270,14 +1204,14 @@ quiesce_link (call_frame_t *frame, default_link_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->link, - oldloc, newloc); - return 0; + oldloc, newloc, xdata); + return 0; } - stub = fop_link_stub (frame, default_link_resume, oldloc, newloc); + stub = fop_link_stub (frame, default_link_resume, oldloc, newloc, xdata); if (!stub) { STACK_UNWIND_STRICT (link, frame, -1, ENOMEM, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL); return 0; } @@ -1290,7 +1224,7 @@ int32_t quiesce_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, - loc_t *newloc) + loc_t *newloc, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1302,14 +1236,14 @@ quiesce_rename (call_frame_t *frame, default_rename_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->rename, - oldloc, newloc); - return 0; + oldloc, newloc, xdata); + return 0; } - stub = fop_rename_stub (frame, default_rename_resume, oldloc, newloc); + stub = fop_rename_stub (frame, default_rename_resume, oldloc, newloc, xdata); if (!stub) { STACK_UNWIND_STRICT (rename, frame, -1, ENOMEM, - NULL, NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL, NULL); return 0; } @@ -1321,7 +1255,7 @@ quiesce_rename (call_frame_t *frame, int quiesce_symlink (call_frame_t *frame, xlator_t *this, - const char *linkpath, loc_t *loc, dict_t *params) + const char *linkpath, loc_t *loc, mode_t umask, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1332,15 +1266,15 @@ quiesce_symlink (call_frame_t *frame, xlator_t *this, STACK_WIND (frame, default_symlink_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->symlink, - linkpath, loc, params); - return 0; + linkpath, loc, umask, xdata); + return 0; } stub = fop_symlink_stub (frame, default_symlink_resume, - linkpath, loc, params); + linkpath, loc, umask, xdata); if (!stub) { STACK_UNWIND_STRICT (symlink, frame, -1, ENOMEM, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL); return 0; } @@ -1351,7 +1285,7 @@ quiesce_symlink (call_frame_t *frame, xlator_t *this, int -quiesce_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags) +quiesce_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1362,13 +1296,13 @@ quiesce_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags) STACK_WIND (frame, default_rmdir_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->rmdir, - loc, flags); - return 0; + loc, flags, xdata); + return 0; } - stub = fop_rmdir_stub (frame, default_rmdir_resume, loc, flags); + stub = fop_rmdir_stub (frame, default_rmdir_resume, loc, flags, xdata); if (!stub) { - STACK_UNWIND_STRICT (rmdir, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (rmdir, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1380,7 +1314,7 @@ quiesce_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags) int32_t quiesce_unlink (call_frame_t *frame, xlator_t *this, - loc_t *loc) + loc_t *loc, int xflag, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1392,13 +1326,13 @@ quiesce_unlink (call_frame_t *frame, default_unlink_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->unlink, - loc); - return 0; + loc, xflag, xdata); + return 0; } - stub = fop_unlink_stub (frame, default_unlink_resume, loc); + stub = fop_unlink_stub (frame, default_unlink_resume, loc, xflag, xdata); if (!stub) { - STACK_UNWIND_STRICT (unlink, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (unlink, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1409,7 +1343,7 @@ quiesce_unlink (call_frame_t *frame, int quiesce_mkdir (call_frame_t *frame, xlator_t *this, - loc_t *loc, mode_t mode, dict_t *params) + loc_t *loc, mode_t mode, mode_t umask, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1420,15 +1354,15 @@ quiesce_mkdir (call_frame_t *frame, xlator_t *this, STACK_WIND (frame, default_mkdir_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->mkdir, - loc, mode, params); - return 0; + loc, mode, umask, xdata); + return 0; } stub = fop_mkdir_stub (frame, default_mkdir_resume, - loc, mode, params); + loc, mode, umask, xdata); if (!stub) { STACK_UNWIND_STRICT (mkdir, frame, -1, ENOMEM, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL); return 0; } @@ -1440,7 +1374,7 @@ quiesce_mkdir (call_frame_t *frame, xlator_t *this, int quiesce_mknod (call_frame_t *frame, xlator_t *this, - loc_t *loc, mode_t mode, dev_t rdev, dict_t *parms) + loc_t *loc, mode_t mode, dev_t rdev, mode_t umask, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1451,15 +1385,15 @@ quiesce_mknod (call_frame_t *frame, xlator_t *this, STACK_WIND (frame, default_mknod_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->mknod, - loc, mode, rdev, parms); - return 0; + loc, mode, rdev, umask, xdata); + return 0; } stub = fop_mknod_stub (frame, default_mknod_resume, - loc, mode, rdev, parms); + loc, mode, rdev, umask, xdata); if (!stub) { STACK_UNWIND_STRICT (mknod, frame, -1, ENOMEM, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL, NULL); return 0; } @@ -1472,7 +1406,7 @@ int32_t quiesce_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, - off_t offset) + off_t offset, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1485,13 +1419,13 @@ quiesce_ftruncate (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->ftruncate, fd, - offset); - return 0; + offset, xdata); + return 0; } - stub = fop_ftruncate_stub (frame, default_ftruncate_resume, fd, offset); + stub = fop_ftruncate_stub (frame, default_ftruncate_resume, fd, offset, xdata); if (!stub) { - STACK_UNWIND_STRICT (ftruncate, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (ftruncate, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1506,7 +1440,7 @@ int32_t quiesce_readlink (call_frame_t *frame, xlator_t *this, loc_t *loc, - size_t size) + size_t size, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1525,13 +1459,13 @@ quiesce_readlink (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->readlink, loc, - size); - return 0; + size, xdata); + return 0; } - stub = fop_readlink_stub (frame, default_readlink_resume, loc, size); + stub = fop_readlink_stub (frame, default_readlink_resume, loc, size, xdata); if (!stub) { - STACK_UNWIND_STRICT (readlink, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (readlink, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1545,7 +1479,7 @@ int32_t quiesce_access (call_frame_t *frame, xlator_t *this, loc_t *loc, - int32_t mask) + int32_t mask, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1564,13 +1498,13 @@ quiesce_access (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->access, loc, - mask); - return 0; + mask, xdata); + return 0; } - stub = fop_access_stub (frame, default_access_resume, loc, mask); + stub = fop_access_stub (frame, default_access_resume, loc, mask, xdata); if (!stub) { - STACK_UNWIND_STRICT (access, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (access, frame, -1, ENOMEM, NULL); return 0; } @@ -1583,7 +1517,7 @@ int32_t quiesce_fgetxattr (call_frame_t *frame, xlator_t *this, fd_t *fd, - const char *name) + const char *name, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1604,13 +1538,13 @@ quiesce_fgetxattr (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->fgetxattr, fd, - name); + name, xdata); return 0; } - stub = fop_fgetxattr_stub (frame, default_fgetxattr_resume, fd, name); + stub = fop_fgetxattr_stub (frame, default_fgetxattr_resume, fd, name, xdata); if (!stub) { - STACK_UNWIND_STRICT (fgetxattr, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (fgetxattr, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -1622,7 +1556,7 @@ quiesce_fgetxattr (call_frame_t *frame, int32_t quiesce_statfs (call_frame_t *frame, xlator_t *this, - loc_t *loc) + loc_t *loc, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1639,13 +1573,13 @@ quiesce_statfs (call_frame_t *frame, quiesce_statfs_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->statfs, - loc); - return 0; + loc, xdata); + return 0; } - stub = fop_statfs_stub (frame, default_statfs_resume, loc); + stub = fop_statfs_stub (frame, default_statfs_resume, loc, xdata); if (!stub) { - STACK_UNWIND_STRICT (statfs, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (statfs, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -1658,7 +1592,7 @@ int32_t quiesce_fsyncdir (call_frame_t *frame, xlator_t *this, fd_t *fd, - int32_t flags) + int32_t flags, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1677,13 +1611,13 @@ quiesce_fsyncdir (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->fsyncdir, fd, - flags); - return 0; + flags, xdata); + return 0; } - stub = fop_fsyncdir_stub (frame, default_fsyncdir_resume, fd, flags); + stub = fop_fsyncdir_stub (frame, default_fsyncdir_resume, fd, flags, xdata); if (!stub) { - STACK_UNWIND_STRICT (fsyncdir, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (fsyncdir, frame, -1, ENOMEM, NULL); return 0; } @@ -1695,7 +1629,7 @@ quiesce_fsyncdir (call_frame_t *frame, int32_t quiesce_opendir (call_frame_t *frame, xlator_t *this, - loc_t *loc, fd_t *fd) + loc_t *loc, fd_t *fd, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1713,13 +1647,13 @@ quiesce_opendir (call_frame_t *frame, quiesce_opendir_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->opendir, - loc, fd); - return 0; + loc, fd, xdata); + return 0; } - stub = fop_opendir_stub (frame, default_opendir_resume, loc, fd); + stub = fop_opendir_stub (frame, default_opendir_resume, loc, fd, xdata); if (!stub) { - STACK_UNWIND_STRICT (opendir, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (opendir, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -1731,7 +1665,7 @@ quiesce_opendir (call_frame_t *frame, int32_t quiesce_fstat (call_frame_t *frame, xlator_t *this, - fd_t *fd) + fd_t *fd, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1748,13 +1682,13 @@ quiesce_fstat (call_frame_t *frame, quiesce_fstat_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->fstat, - fd); - return 0; + fd, xdata); + return 0; } - stub = fop_fstat_stub (frame, default_fstat_resume, fd); + stub = fop_fstat_stub (frame, default_fstat_resume, fd, xdata); if (!stub) { - STACK_UNWIND_STRICT (fstat, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (fstat, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -1767,7 +1701,7 @@ int32_t quiesce_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, - int32_t flags) + int32_t flags, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1786,13 +1720,13 @@ quiesce_fsync (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->fsync, fd, - flags); - return 0; + flags, xdata); + return 0; } - stub = fop_fsync_stub (frame, default_fsync_resume, fd, flags); + stub = fop_fsync_stub (frame, default_fsync_resume, fd, flags, xdata); if (!stub) { - STACK_UNWIND_STRICT (fsync, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (fsync, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1804,7 +1738,7 @@ quiesce_fsync (call_frame_t *frame, int32_t quiesce_flush (call_frame_t *frame, xlator_t *this, - fd_t *fd) + fd_t *fd, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1821,13 +1755,13 @@ quiesce_flush (call_frame_t *frame, quiesce_flush_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->flush, - fd); - return 0; + fd, xdata); + return 0; } - stub = fop_flush_stub (frame, default_flush_resume, fd); + stub = fop_flush_stub (frame, default_flush_resume, fd, xdata); if (!stub) { - STACK_UNWIND_STRICT (flush, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (flush, frame, -1, ENOMEM, NULL); return 0; } @@ -1842,8 +1776,8 @@ quiesce_writev (call_frame_t *frame, fd_t *fd, struct iovec *vector, int32_t count, - off_t off, - struct iobref *iobref) + off_t off, uint32_t flags, + struct iobref *iobref, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1858,15 +1792,15 @@ quiesce_writev (call_frame_t *frame, fd, vector, count, - off, - iobref); - return 0; + off, flags, + iobref, xdata); + return 0; } stub = fop_writev_stub (frame, default_writev_resume, - fd, vector, count, off, iobref); + fd, vector, count, off, flags, iobref, xdata); if (!stub) { - STACK_UNWIND_STRICT (writev, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (writev, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -1880,7 +1814,7 @@ quiesce_readv (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, - off_t offset) + off_t offset, uint32_t flags, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1893,6 +1827,7 @@ quiesce_readv (call_frame_t *frame, local->fd = fd_ref (fd); local->size = size; local->offset = offset; + local->io_flag = flags; frame->local = local; STACK_WIND (frame, @@ -1901,14 +1836,15 @@ quiesce_readv (call_frame_t *frame, FIRST_CHILD(this)->fops->readv, fd, size, - offset); - return 0; + offset, flags, xdata); + return 0; } - stub = fop_readv_stub (frame, default_readv_resume, fd, size, offset); + stub = fop_readv_stub (frame, default_readv_resume, fd, size, offset, + flags, xdata); if (!stub) { STACK_UNWIND_STRICT (readv, frame, -1, ENOMEM, - NULL, 0, NULL, NULL); + NULL, 0, NULL, NULL, NULL); return 0; } @@ -1923,7 +1859,7 @@ quiesce_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, fd_t *fd, - int32_t wbflags) + dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1939,21 +1875,20 @@ quiesce_open (call_frame_t *frame, /* Don't send O_APPEND below, as write() re-transmittions can fail with O_APPEND */ local->flag = (flags & ~O_APPEND); - local->wbflags = wbflags; frame->local = local; STACK_WIND (frame, quiesce_open_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->open, - loc, (flags & ~O_APPEND), fd, wbflags); - return 0; + loc, (flags & ~O_APPEND), fd, xdata); + return 0; } stub = fop_open_stub (frame, default_open_resume, loc, - (flags & ~O_APPEND), fd, wbflags); + (flags & ~O_APPEND), fd, xdata); if (!stub) { - STACK_UNWIND_STRICT (open, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (open, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -1966,7 +1901,7 @@ int32_t quiesce_getxattr (call_frame_t *frame, xlator_t *this, loc_t *loc, - const char *name) + const char *name, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -1987,13 +1922,13 @@ quiesce_getxattr (call_frame_t *frame, FIRST_CHILD(this), FIRST_CHILD(this)->fops->getxattr, loc, - name); - return 0; + name, xdata); + return 0; } - stub = fop_getxattr_stub (frame, default_getxattr_resume, loc, name); + stub = fop_getxattr_stub (frame, default_getxattr_resume, loc, name, xdata); if (!stub) { - STACK_UNWIND_STRICT (getxattr, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (getxattr, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2008,7 +1943,7 @@ quiesce_xattrop (call_frame_t *frame, xlator_t *this, loc_t *loc, gf_xattrop_flags_t flags, - dict_t *dict) + dict_t *dict, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2022,14 +1957,14 @@ quiesce_xattrop (call_frame_t *frame, FIRST_CHILD(this)->fops->xattrop, loc, flags, - dict); - return 0; + dict, xdata); + return 0; } stub = fop_xattrop_stub (frame, default_xattrop_resume, - loc, flags, dict); + loc, flags, dict, xdata); if (!stub) { - STACK_UNWIND_STRICT (xattrop, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (xattrop, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2043,7 +1978,7 @@ quiesce_fxattrop (call_frame_t *frame, xlator_t *this, fd_t *fd, gf_xattrop_flags_t flags, - dict_t *dict) + dict_t *dict, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2057,14 +1992,14 @@ quiesce_fxattrop (call_frame_t *frame, FIRST_CHILD(this)->fops->fxattrop, fd, flags, - dict); - return 0; + dict, xdata); + return 0; } stub = fop_fxattrop_stub (frame, default_fxattrop_resume, - fd, flags, dict); + fd, flags, dict, xdata); if (!stub) { - STACK_UNWIND_STRICT (fxattrop, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (fxattrop, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2078,7 +2013,7 @@ quiesce_lk (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t cmd, - struct gf_flock *lock) + struct gf_flock *lock, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2092,13 +2027,13 @@ quiesce_lk (call_frame_t *frame, FIRST_CHILD(this)->fops->lk, fd, cmd, - lock); - return 0; + lock, xdata); + return 0; } - stub = fop_lk_stub (frame, default_lk_resume, fd, cmd, lock); + stub = fop_lk_stub (frame, default_lk_resume, fd, cmd, lock, xdata); if (!stub) { - STACK_UNWIND_STRICT (lk, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (lk, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2111,7 +2046,7 @@ quiesce_lk (call_frame_t *frame, int32_t quiesce_inodelk (call_frame_t *frame, xlator_t *this, const char *volume, loc_t *loc, int32_t cmd, - struct gf_flock *lock) + struct gf_flock *lock, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2123,14 +2058,14 @@ quiesce_inodelk (call_frame_t *frame, xlator_t *this, default_inodelk_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->inodelk, - volume, loc, cmd, lock); - return 0; + volume, loc, cmd, lock, xdata); + return 0; } stub = fop_inodelk_stub (frame, default_inodelk_resume, - volume, loc, cmd, lock); + volume, loc, cmd, lock, xdata); if (!stub) { - STACK_UNWIND_STRICT (inodelk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (inodelk, frame, -1, ENOMEM, NULL); return 0; } @@ -2141,7 +2076,7 @@ quiesce_inodelk (call_frame_t *frame, xlator_t *this, int32_t quiesce_finodelk (call_frame_t *frame, xlator_t *this, - const char *volume, fd_t *fd, int32_t cmd, struct gf_flock *lock) + const char *volume, fd_t *fd, int32_t cmd, struct gf_flock *lock, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2153,14 +2088,14 @@ quiesce_finodelk (call_frame_t *frame, xlator_t *this, default_finodelk_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->finodelk, - volume, fd, cmd, lock); - return 0; + volume, fd, cmd, lock, xdata); + return 0; } stub = fop_finodelk_stub (frame, default_finodelk_resume, - volume, fd, cmd, lock); + volume, fd, cmd, lock, xdata); if (!stub) { - STACK_UNWIND_STRICT (finodelk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (finodelk, frame, -1, ENOMEM, NULL); return 0; } @@ -2172,7 +2107,7 @@ quiesce_finodelk (call_frame_t *frame, xlator_t *this, int32_t quiesce_entrylk (call_frame_t *frame, xlator_t *this, const char *volume, loc_t *loc, const char *basename, - entrylk_cmd cmd, entrylk_type type) + entrylk_cmd cmd, entrylk_type type, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2183,14 +2118,14 @@ quiesce_entrylk (call_frame_t *frame, xlator_t *this, STACK_WIND (frame, default_entrylk_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->entrylk, - volume, loc, basename, cmd, type); - return 0; + volume, loc, basename, cmd, type, xdata); + return 0; } stub = fop_entrylk_stub (frame, default_entrylk_resume, - volume, loc, basename, cmd, type); + volume, loc, basename, cmd, type, xdata); if (!stub) { - STACK_UNWIND_STRICT (entrylk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (entrylk, frame, -1, ENOMEM, NULL); return 0; } @@ -2202,7 +2137,7 @@ quiesce_entrylk (call_frame_t *frame, xlator_t *this, int32_t quiesce_fentrylk (call_frame_t *frame, xlator_t *this, const char *volume, fd_t *fd, const char *basename, - entrylk_cmd cmd, entrylk_type type) + entrylk_cmd cmd, entrylk_type type, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2213,14 +2148,14 @@ quiesce_fentrylk (call_frame_t *frame, xlator_t *this, STACK_WIND (frame, default_fentrylk_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->fentrylk, - volume, fd, basename, cmd, type); - return 0; + volume, fd, basename, cmd, type, xdata); + return 0; } stub = fop_fentrylk_stub (frame, default_fentrylk_resume, - volume, fd, basename, cmd, type); + volume, fd, basename, cmd, type, xdata); if (!stub) { - STACK_UNWIND_STRICT (fentrylk, frame, -1, ENOMEM); + STACK_UNWIND_STRICT (fentrylk, frame, -1, ENOMEM, NULL); return 0; } @@ -2233,7 +2168,7 @@ int32_t quiesce_rchecksum (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, - int32_t len) + int32_t len, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2252,14 +2187,14 @@ quiesce_rchecksum (call_frame_t *frame, quiesce_rchecksum_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->rchecksum, - fd, offset, len); - return 0; + fd, offset, len, xdata); + return 0; } stub = fop_rchecksum_stub (frame, default_rchecksum_resume, - fd, offset, len); + fd, offset, len, xdata); if (!stub) { - STACK_UNWIND_STRICT (rchecksum, frame, -1, ENOMEM, 0, NULL); + STACK_UNWIND_STRICT (rchecksum, frame, -1, ENOMEM, 0, NULL, NULL); return 0; } @@ -2274,7 +2209,7 @@ quiesce_readdir (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, - off_t off) + off_t off, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2293,13 +2228,13 @@ quiesce_readdir (call_frame_t *frame, quiesce_readdir_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->readdir, - fd, size, off); - return 0; + fd, size, off, xdata); + return 0; } - stub = fop_readdir_stub (frame, default_readdir_resume, fd, size, off); + stub = fop_readdir_stub (frame, default_readdir_resume, fd, size, off, xdata); if (!stub) { - STACK_UNWIND_STRICT (readdir, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (readdir, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2314,7 +2249,7 @@ quiesce_readdirp (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, - off_t off) + off_t off, dict_t *dict) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2327,19 +2262,21 @@ quiesce_readdirp (call_frame_t *frame, local->fd = fd_ref (fd); local->size = size; local->offset = off; + local->dict = dict_ref (dict); frame->local = local; STACK_WIND (frame, quiesce_readdirp_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->readdirp, - fd, size, off); - return 0; + fd, size, off, dict); + return 0; } - stub = fop_readdirp_stub (frame, default_readdirp_resume, fd, size, off); + stub = fop_readdirp_stub (frame, default_readdirp_resume, fd, size, + off, dict); if (!stub) { - STACK_UNWIND_STRICT (readdirp, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (readdirp, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2353,7 +2290,7 @@ quiesce_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, struct iatt *stbuf, - int32_t valid) + int32_t valid, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2365,14 +2302,14 @@ quiesce_setattr (call_frame_t *frame, default_setattr_cbk, FIRST_CHILD (this), FIRST_CHILD (this)->fops->setattr, - loc, stbuf, valid); - return 0; + loc, stbuf, valid, xdata); + return 0; } stub = fop_setattr_stub (frame, default_setattr_resume, - loc, stbuf, valid); + loc, stbuf, valid, xdata); if (!stub) { - STACK_UNWIND_STRICT (setattr, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (setattr, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -2385,7 +2322,7 @@ quiesce_setattr (call_frame_t *frame, int32_t quiesce_stat (call_frame_t *frame, xlator_t *this, - loc_t *loc) + loc_t *loc, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2402,13 +2339,13 @@ quiesce_stat (call_frame_t *frame, quiesce_stat_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->stat, - loc); - return 0; + loc, xdata); + return 0; } - stub = fop_stat_stub (frame, default_stat_resume, loc); + stub = fop_stat_stub (frame, default_stat_resume, loc, xdata); if (!stub) { - STACK_UNWIND_STRICT (stat, frame, -1, ENOMEM, NULL); + STACK_UNWIND_STRICT (stat, frame, -1, ENOMEM, NULL, NULL); return 0; } @@ -2439,9 +2376,8 @@ quiesce_lookup (call_frame_t *frame, quiesce_lookup_cbk, FIRST_CHILD(this), FIRST_CHILD(this)->fops->lookup, - loc, - xattr_req); - return 0; + loc, xattr_req); + return 0; } stub = fop_lookup_stub (frame, default_lookup_resume, loc, xattr_req); @@ -2461,7 +2397,7 @@ quiesce_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iatt *stbuf, - int32_t valid) + int32_t valid, dict_t *xdata) { quiesce_priv_t *priv = NULL; call_stub_t *stub = NULL; @@ -2473,14 +2409,14 @@ quiesce_fsetattr (call_frame_t *frame, default_fsetattr_cbk, FIRST_CHILD (this), FIRST_CHILD (this)->fops->fsetattr, - fd, stbuf, valid); - return 0; + fd, stbuf, valid, xdata); + return 0; } stub = fop_fsetattr_stub (frame, default_fsetattr_resume, - fd, stbuf, valid); + fd, stbuf, valid, xdata); if (!stub) { - STACK_UNWIND_STRICT (fsetattr, frame, -1, ENOMEM, NULL, NULL); + STACK_UNWIND_STRICT (fsetattr, frame, -1, ENOMEM, NULL, NULL, NULL); return 0; } @@ -2556,7 +2492,7 @@ notify (xlator_t *this, int event, void *data, ...) { int ret = 0; quiesce_priv_t *priv = NULL; - struct timeval timeout = {0,}; + struct timespec timeout = {0,}; priv = this->private; if (!priv) @@ -2589,7 +2525,7 @@ notify (xlator_t *this, int event, void *data, ...) if (priv->timer) break; timeout.tv_sec = 20; - timeout.tv_usec = 0; + timeout.tv_nsec = 0; priv->timer = gf_timer_call_after (this->ctx, timeout, @@ -2663,12 +2599,10 @@ struct xlator_fops fops = { }; -struct xlator_dumpops dumpops = { -}; +struct xlator_dumpops dumpops; -struct xlator_cbks cbks = { -}; +struct xlator_cbks cbks; struct volume_options options[] = { |
