"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xlators/protocol/client/src/client-helpers.c" between
glusterfs-9.1.tar.gz and glusterfs-9.2.tar.gz

About: GlusterFS is a network/cluster filesystem. The storage server (or each in a cluster) runs glusterfsd and the clients use mount command or glusterfs client to mount the exported filesystem. Release series 9.x (latest version).

client-helpers.c  (glusterfs-9.1):client-helpers.c  (glusterfs-9.2)
skipping to change at line 852 skipping to change at line 852
} }
int int
client_fdctx_destroy(xlator_t *this, clnt_fd_ctx_t *fdctx) client_fdctx_destroy(xlator_t *this, clnt_fd_ctx_t *fdctx)
{ {
clnt_conf_t *conf = NULL; clnt_conf_t *conf = NULL;
call_frame_t *fr = NULL; call_frame_t *fr = NULL;
int32_t ret = -1; int32_t ret = -1;
char parent_down = 0; char parent_down = 0;
fd_lk_ctx_t *lk_ctx = NULL; fd_lk_ctx_t *lk_ctx = NULL;
gf_lkowner_t null_owner = {0};
struct list_head deleted_list;
GF_VALIDATE_OR_GOTO("client", this, out); GF_VALIDATE_OR_GOTO("client", this, out);
GF_VALIDATE_OR_GOTO(this->name, fdctx, out); GF_VALIDATE_OR_GOTO(this->name, fdctx, out);
conf = (clnt_conf_t *)this->private; conf = (clnt_conf_t *)this->private;
INIT_LIST_HEAD(&deleted_list);
if (fdctx->remote_fd == -1) { if (fdctx->remote_fd == -1) {
gf_msg_debug(this->name, 0, "not a valid fd"); gf_msg_debug(this->name, 0, "not a valid fd");
goto out; goto out;
} }
pthread_mutex_lock(&conf->lock); pthread_mutex_lock(&conf->lock);
{ {
parent_down = conf->parent_down; parent_down = conf->parent_down;
} }
pthread_mutex_unlock(&conf->lock); pthread_mutex_unlock(&conf->lock);
lk_ctx = fdctx->lk_ctx; lk_ctx = fdctx->lk_ctx;
fdctx->lk_ctx = NULL; fdctx->lk_ctx = NULL;
pthread_spin_lock(&conf->fd_lock);
{
__delete_granted_locks_owner_from_fdctx(fdctx, &null_owner,
&deleted_list);
}
pthread_spin_unlock(&conf->fd_lock);
destroy_client_locks_from_list(&deleted_list);
if (lk_ctx) if (lk_ctx)
fd_lk_ctx_unref(lk_ctx); fd_lk_ctx_unref(lk_ctx);
if (!parent_down) if (!parent_down)
rpc_clnt_ref(conf->rpc); rpc_clnt_ref(conf->rpc);
else else
goto out; goto out;
fr = create_frame(this, this->ctx->pool); fr = create_frame(this, this->ctx->pool);
 End of changes. 3 change blocks. 
0 lines changed or deleted 10 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)