Example #1
0
void stor_fwrite_req_free(struct _stor_fwrite_req *ptr){
  if(ptr->data != NULL){
     osapi_free(ptr->data);
     ptr->data = NULL;
     ptr->data_len = 0;
  }

    osapi_free(ptr);
}
Example #2
0
void stor_fread_rsp_free(struct _stor_fread_rsp *ptr){
  if(ptr->data != NULL){
     osapi_free(ptr->data);
     ptr->data = NULL;
     ptr->data_len = 0;
  }

    osapi_free(ptr);
}
Example #3
0
void stor_fmoveto_req_free(struct _stor_fmoveto_req *ptr){

  if(ptr->fname != NULL){
      osapi_free(ptr->fname);
      ptr->fname = NULL;
  }

    osapi_free(ptr);
}
Example #4
0
void fixbuffer_free(fixbuffer_t *fb){
    if(fb == NULL)
        return ;

    if(fb->buffer != NULL){
        osapi_free(fb->buffer);
        fb->buffer = NULL;
    }

    osapi_free(fb);
}
Example #5
0
int stor_fmoveto_req_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_fmoveto_req **out){
  struct _stor_fmoveto_req *o;
  cmp_ctx_t cmp; 

  cmp_init(&cmp, ptr, reader, writer);
  o = (struct _stor_fmoveto_req*)osapi_malloc(sizeof(*o));
  if(o == NULL) return -ENOMEM; 
  memset(o, 0, sizeof(*o)); 

  cmp_read_long(&cmp,&o->fid);
  cmp_read_long(&cmp,&o->folder);

{
  uint32_t size;
  cmp_read_str_size(&cmp, &size);
  if(size == 0){
      o->fname = NULL;
  }else{
      o->fname = (char*)osapi_malloc(size+1);
      if(o->fname == NULL){
          osapi_free(o); 
          return -ENOMEM;
      }
      reader(&cmp, o->fname, size);
      o->fname[size] = 0;
  }
}


    *out = o;
    return 0;
}
Example #6
0
void stor_lookup_next_rsp_free(struct _stor_lookup_next_rsp *ptr){
    if(ptr->rfiles != NULL){
        fixarray_destroy(ptr->rfiles);
        ptr->rfiles = NULL;
    }

    osapi_free(ptr);
}
Example #7
0
int spie_fini(sharepie_t *sp){
    
    if(sp->rdir != NULL){
        osapi_free(sp->rdir);
        sp->rdir = NULL;
    }

    return 0;
}
Example #8
0
static int header_unpack(struct evbuffer *in, spie_header_t **buf){
    spie_header_t   *pro;
    int16_t   nsize = SPIE_HEADER_LEN;
    int       len;
    int evlen;
    ev_ssize_t es;
    
    evlen = evbuffer_get_length(in);

    if(evlen == 0){
        return -SPIE_ECODE_INVAL;
    }
    
    if(evlen < SPIE_HEADER_LEN){
        log_warn("evbuffer - buffer is to small:%d\n", evlen);
        return -SPIE_ECODE_INVAL;
    }

    // get the payload size
    es = evbuffer_copyout(in, &nsize, sizeof(nsize));
    if(es != sizeof(nsize)){
        log_warn("evbuffer read command size fail!\n");
        return -SPIE_ECODE_INVAL;
    }
    len = ntohs(nsize) + SPIE_HEADER_LEN;

    evlen = evbuffer_get_length(in);
    if(evlen < len){
        return -SPIE_ECODE_INVAL;
    }

    pro = osapi_malloc(len);
    if(pro == NULL){
        log_warn("no enough memory for unpack protocols\n");
        return -SPIE_ECODE_NOMEM;
    }
    memset(pro, 0, len);

    es = evbuffer_copyout(in, pro, len);
    if(es != len){
        log_warn("read whole package from buffer fail:%d", es);
        osapi_free(pro);
        return -SPIE_ECODE_INVAL;
    }
    evbuffer_drain(in, len);
  
    pro->size = ntohs(pro->size);

    pro->sesid = ntohl(pro->sesid);
    pro->seqid = ntohl(pro->seqid);
    pro->cred = ntohl(pro->cred);

    *buf = pro;

    return 0;
}
Example #9
0
void stor_fstat_rsp_free(struct _stor_fstat_rsp *ptr){

  if(ptr->fname != NULL){
      osapi_free(ptr->fname);
      ptr->fname = NULL;
  }

  if(ptr->folder != NULL){
      osapi_free(ptr->folder);
      ptr->folder = NULL;
  }
  if(ptr->snap != NULL){
     osapi_free(ptr->snap);
     ptr->snap = NULL;
     ptr->snap_len = 0;
  }

    osapi_free(ptr);
}
Example #10
0
fixbuffer_t *fixbuffer_new(){
    fixbuffer_t *fb;

    fb = osapi_malloc(sizeof(*fb));
    if(fb == NULL){
        return NULL;
    }
    fb->len = FIXBUFFER_DEFAULT_BUFFER_LEN;
    fb->start = 0;
    fb->end = 0;
    
    fb->buffer = osapi_malloc(fb->len);
    if(fb->buffer == NULL){
        osapi_free(fb);
        return NULL;
    }

    return fb;
}
Example #11
0
int fixbuffer_expand(fixbuffer_t *fb, size_t len){
    void *buffer, *temp;
    size_t new_len;

    new_len = fb->len + len;
    new_len = FIXBUFFER_ALIGN(new_len, FIXBUFFER_DEFAULT_BUFFER_LEN);
    
    buffer = osapi_malloc(new_len);
    if(buffer == NULL){
        return -1;
    }
            
    memcpy(buffer, fb->buffer + fb->start, fb->end - fb->start);
    temp = fb->buffer;
    fb->buffer = buffer;
    fb->end = fb->end - fb->start;
    fb->start = 0;
    fb->len = new_len;

    osapi_free(temp);

    return 0;
}
Example #12
0
void stor_fread_req_free(struct _stor_fread_req *ptr){

    osapi_free(ptr);
}
Example #13
0
int stor_lookup_next_rsp_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_lookup_next_rsp **out){
  struct _stor_lookup_next_rsp *o;
  cmp_ctx_t cmp; 

  cmp_init(&cmp, ptr, reader, writer);
  o = (struct _stor_lookup_next_rsp*)osapi_malloc(sizeof(*o));
  if(o == NULL) return -ENOMEM; 
  memset(o, 0, sizeof(*o)); 

  cmp_read_long(&cmp,&o->luid);
  {
    stor_fstat_rsp_t *obj;
    uint32_t size;
    int i;
    cmp_read_array(&cmp, &size);
    fixarray_create(size, &o->rfiles);
    for (i = 0; i < size; i++){
      obj = osapi_malloc(sizeof(*obj));
      if(obj == NULL) {
        osapi_free(o);
        return -ENOMEM; 
  }
  cmp_read_long(&cmp,&obj->fid);

{
  uint32_t size;
  cmp_read_str_size(&cmp, &size);
  if(size == 0){
      obj->fname = NULL; 
}else{
      obj->fname = (char*)osapi_malloc(size+1);
      if(obj->fname == NULL){
          osapi_free(o); 
          return -ENOMEM;
      }
      reader(&cmp, obj->fname, size);
      obj->fname[size] = 0;
  }
}


{
  uint32_t size;
  cmp_read_str_size(&cmp, &size);
  if(size == 0){
      obj->folder = NULL; 
}else{
      obj->folder = (char*)osapi_malloc(size+1);
      if(obj->folder == NULL){
          osapi_free(o); 
          return -ENOMEM;
      }
      reader(&cmp, obj->folder, size);
      obj->folder[size] = 0;
  }
}

   cmp_read_int(&cmp, &obj->type);
  cmp_read_long(&cmp,&obj->fatime);
  cmp_read_long(&cmp,&obj->fmtime);
  cmp_read_long(&cmp,&obj->fctime);
  cmp_read_long(&cmp,&obj->fsize);
  cmp_read_bin_size(&cmp, &obj->snap_len);
  if(obj->snap_len == 0){
      obj->snap = NULL;  }else{
      obj->snap = osapi_malloc(obj->snap_len);
      if(obj->snap == NULL){ 
            return -ENOMEM;
        }
      reader(ptr, obj->snap, obj->snap_len);
  }
      fixarray_set(o->rfiles, i, obj);
  }
 }


    *out = o;
    return 0;
}
Example #14
0
void stor_lookup_next_req_free(struct _stor_lookup_next_req *ptr){

    osapi_free(ptr);
}
Example #15
0
void stor_fclose_req_free(struct _stor_fclose_req *ptr){

    osapi_free(ptr);
}
Example #16
0
void stor_fcreate_rsp_free(struct _stor_fcreate_rsp *ptr){

    osapi_free(ptr);
}
Example #17
0
void stor_lookup_create_rsp_free(struct _stor_lookup_create_rsp *ptr){

    osapi_free(ptr);
}
Example #18
0
void stor_fmoveto_rsp_free(struct _stor_fmoveto_rsp *ptr){

    osapi_free(ptr);
}
Example #19
0
int stor_fstat_rsp_unmash(void *ptr, cmp_reader reader, cmp_writer writer, struct _stor_fstat_rsp **out){
  struct _stor_fstat_rsp *o;
  cmp_ctx_t cmp; 

  cmp_init(&cmp, ptr, reader, writer);
  o = (struct _stor_fstat_rsp*)osapi_malloc(sizeof(*o));
  if(o == NULL) return -ENOMEM; 
  memset(o, 0, sizeof(*o)); 

  cmp_read_long(&cmp,&o->fid);

{
  uint32_t size;
  cmp_read_str_size(&cmp, &size);
  if(size == 0){
      o->fname = NULL;
  }else{
      o->fname = (char*)osapi_malloc(size+1);
      if(o->fname == NULL){
          osapi_free(o); 
          return -ENOMEM;
      }
      reader(&cmp, o->fname, size);
      o->fname[size] = 0;
  }
}


{
  uint32_t size;
  cmp_read_str_size(&cmp, &size);
  if(size == 0){
      o->folder = NULL;
  }else{
      o->folder = (char*)osapi_malloc(size+1);
      if(o->folder == NULL){
          osapi_free(o); 
          return -ENOMEM;
      }
      reader(&cmp, o->folder, size);
      o->folder[size] = 0;
  }
}

   cmp_read_int(&cmp, &o->type);
  cmp_read_long(&cmp,&o->fatime);
  cmp_read_long(&cmp,&o->fmtime);
  cmp_read_long(&cmp,&o->fctime);
  cmp_read_long(&cmp,&o->fsize);
  cmp_read_bin_size(&cmp, &o->snap_len);
  if(o->snap_len == 0){
      o->snap = NULL;
  }else{
      o->snap = osapi_malloc(o->snap_len);
      if(o->snap == NULL){ 
            stor_fstat_rsp_free(o);
            return -ENOMEM;
        }
      reader(&cmp, o->snap, o->snap_len);
  }

    *out = o;
    return 0;
}
Example #20
0
void stor_ftruncate_req_free(struct _stor_ftruncate_req *ptr){

    osapi_free(ptr);
}
Example #21
0
void stor_fdelete_rsp_free(struct _stor_fdelete_rsp *ptr){

    osapi_free(ptr);
}
Example #22
0
void stor_fdelete_req_free(struct _stor_fdelete_req *ptr){

    osapi_free(ptr);
}
Example #23
0
void stor_lookup_destroy_rsp_free(struct _stor_lookup_destroy_rsp *ptr){

    osapi_free(ptr);
}
Example #24
0
void stor_fopen_rsp_free(struct _stor_fopen_rsp *ptr){

    osapi_free(ptr);
}