summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/protocol/client/src/client-protocol.c164
-rw-r--r--xlators/protocol/client/src/client-protocol.h17
2 files changed, 2 insertions, 179 deletions
diff --git a/xlators/protocol/client/src/client-protocol.c b/xlators/protocol/client/src/client-protocol.c
index e6b47514684..24e0d6c3171 100644
--- a/xlators/protocol/client/src/client-protocol.c
+++ b/xlators/protocol/client/src/client-protocol.c
@@ -324,52 +324,6 @@ save_frame (transport_t *trans, call_frame_t *frame,
}
-int
-client_get_forgets (xlator_t *this, client_forget_t *forget)
-{
- call_frame_t *fr = NULL;
- gf_hdr_common_t *hdr = NULL;
- size_t hdrlen = 0;
- gf_cbk_forget_req_t *req = NULL;
- int ret = -1;
- client_conf_t *conf = NULL;
- int count = 0;
- int index = 0;
-
- conf = this->private;
-
- if (conf->forget.count > 0) {
- count = conf->forget.count;
-
- hdrlen = gf_hdr_len (req, (count * sizeof (int64_t)));
- hdr = gf_hdr_new (req, (count * sizeof (int64_t)));
- GF_VALIDATE_OR_GOTO (this->name, hdr, out);
-
- req = gf_param (hdr);
-
- req->count = hton32 (count);
- for (index = 0; index < count; index++) {
- req->ino_array[index] =
- hton64 (conf->forget.ino_array[index]);
- }
-
- fr = create_frame (this, this->ctx->pool);
- GF_VALIDATE_OR_GOTO (this->name, fr, out);
-
- conf->forget.frames_in_transit++;
-
- forget->frame = fr;
- forget->hdr = hdr;
- forget->hdrlen = hdrlen;
-
- ret = count;
-
- conf->forget.count = 0;
- }
- out:
- return ret;
-}
-
void
client_ping_timer_expired (void *data)
@@ -574,9 +528,6 @@ protocol_client_xfer (call_frame_t *frame, xlator_t *this, transport_t *trans,
int32_t ret = -1;
int start_ping = 0;
gf_hdr_common_t rsphdr = {0, };
- client_forget_t forget = {0, };
- uint8_t send_forget = 0;
-
conf = this->private;
@@ -586,28 +537,6 @@ protocol_client_xfer (call_frame_t *frame, xlator_t *this, transport_t *trans,
}
conn = trans->xl_private;
- if (!((type == GF_OP_TYPE_CBK_REQUEST) &&
- (op == GF_CBK_FORGET)))
- {
- LOCK (&conf->forget.lock);
- {
- ret = client_get_forgets (this, &forget);
- if (ret <= 0)
- send_forget = 0;
- else
- send_forget = 1;
- }
- UNLOCK (&conf->forget.lock);
-
- if (send_forget) {
- ret = protocol_client_xfer (forget.frame, this, NULL,
- GF_OP_TYPE_CBK_REQUEST,
- GF_CBK_FORGET,
- forget.hdr, forget.hdrlen,
- NULL, 0, NULL);
- }
- }
-
pthread_mutex_lock (&conn->lock);
{
callid = ++conn->callid;
@@ -3398,65 +3327,6 @@ unwind:
}
-/*
- * CBKs
- */
-/*
- * client_forget - forget function for client protocol
- * @this:
- * @inode:
- *
- * not for external reference
- */
-int
-client_forget (xlator_t *this, inode_t *inode)
-{
- ino_t ino = 0;
- client_conf_t *conf = NULL;
- client_forget_t forget = {0,};
- uint8_t send_forget = 0;
- int32_t ret = -1;
-
- GF_VALIDATE_OR_GOTO ("client", this, out);
- conf = this->private;
-
- GF_VALIDATE_OR_GOTO (this->name, inode, out);
-
- ret = inode_ctx_get (inode, this, &ino);
- if (inode->ino && ret < 0) {
- gf_log (this->name, GF_LOG_DEBUG,
- "FORGET %"PRId64": "
- "failed to get remote inode number",
- inode->ino);
- }
-
- LOCK (&conf->forget.lock);
- {
- conf->forget.ino_array[conf->forget.count++] = ino;
-
- if ((!conf->forget.frames_in_transit) ||
- (conf->forget.count >= CLIENT_PROTO_FORGET_LIMIT)) {
- ret = client_get_forgets (this, &forget);
- if (ret <= 0)
- send_forget = 0;
- else
- send_forget = 1;
- }
- }
- UNLOCK (&conf->forget.lock);
-
- if (send_forget) {
- ret = protocol_client_xfer (forget.frame, this,
- CLIENT_CHANNEL (this,CHANNEL_BULK),
- GF_OP_TYPE_CBK_REQUEST,
- GF_CBK_FORGET,
- forget.hdr, forget.hdrlen,
- NULL, 0, NULL);
- }
-out:
- return 0;
-}
-
/**
* client_releasedir - releasedir function for client protocol
* @this: this translator structure
@@ -5798,36 +5668,7 @@ int
client_forget_cbk (call_frame_t *frame, gf_hdr_common_t *hdr, size_t hdrlen,
struct iobuf *iobuf)
{
- client_conf_t *conf = NULL;
- client_forget_t forget = {0, };
- uint8_t send_forget = 0;
- int32_t ret = -1;
-
-
- conf = frame->this->private;
- LOCK (&conf->forget.lock);
- {
- conf->forget.frames_in_transit--;
-
- ret = client_get_forgets (frame->this, &forget);
- if (ret <= 0)
- send_forget = 0;
- else
- send_forget = 1;
- }
- UNLOCK (&conf->forget.lock);
-
- if (send_forget) {
- ret = protocol_client_xfer (forget.frame, frame->this,
- CLIENT_CHANNEL (frame->this,
- CHANNEL_BULK),
- GF_OP_TYPE_CBK_REQUEST,
- GF_CBK_FORGET,
- forget.hdr, forget.hdrlen,
- NULL, 0, NULL);
- }
-
- STACK_DESTROY (frame->root);
+ gf_log ("", GF_LOG_CRITICAL, "fop not implemented");
return 0;
}
@@ -6024,7 +5865,6 @@ init (xlator_t *this)
conf = CALLOC (1, sizeof (client_conf_t));
- LOCK_INIT (&conf->forget.lock);
pthread_mutex_init (&conf->mutex, NULL);
INIT_LIST_HEAD (&conf->saved_fds);
@@ -6102,7 +5942,6 @@ fini (xlator_t *this)
this->private = NULL;
if (conf) {
- LOCK_DESTROY (&conf->forget.lock);
FREE (conf);
}
return;
@@ -6430,7 +6269,6 @@ struct xlator_mops mops = {
};
struct xlator_cbks cbks = {
- .forget = client_forget,
.release = client_release,
.releasedir = client_releasedir
};
diff --git a/xlators/protocol/client/src/client-protocol.h b/xlators/protocol/client/src/client-protocol.h
index 86107f9bc9e..aef58ae30b0 100644
--- a/xlators/protocol/client/src/client-protocol.h
+++ b/xlators/protocol/client/src/client-protocol.h
@@ -31,7 +31,6 @@
#include "timer.h"
#include "byte-order.h"
-#define CLIENT_PROTO_FORGET_LIMIT 128
#define CLIENT_PORT_CEILING 1023
#define GF_CLIENT_INODE_SELF 0
@@ -78,16 +77,7 @@ typedef struct _client_fd_ctx {
} client_fd_ctx_t;
struct _client_conf {
- transport_t *transport[CHANNEL_MAX];
-
- /* enhancement for 'forget', a must required where lot
- of stats happening */
- struct {
- uint64_t ino_array[CLIENT_PROTO_FORGET_LIMIT + 4];
- uint32_t count;
- uint32_t frames_in_transit;
- gf_lock_t lock;
- } forget;
+ transport_t *transport[CHANNEL_MAX];
struct list_head saved_fds;
struct timeval last_sent;
struct timeval last_received;
@@ -117,11 +107,6 @@ typedef struct {
fd_t *fd;
} client_local_t;
-typedef struct {
- gf_hdr_common_t *hdr;
- size_t hdrlen;
- call_frame_t *frame;
-} client_forget_t;
static inline void
gf_string_to_stat(char *string, struct stat *stbuf)