Пример #1
0
uint32_t rozofs_fuse_rcvMsgsock(void * rozofs_fuse_ctx_p,int socketId)
{
    rozofs_fuse_ctx_t  *ctx_p;
    
    ctx_p = (rozofs_fuse_ctx_t*)rozofs_fuse_ctx_p;    
    
    rozofs_fuse_session_loop(ctx_p);
    
    return TRUE;
}
Пример #2
0
uint32_t rozofs_fuse_rcvMsgsock(void * rozofs_fuse_ctx_p,int socketId)
{
    rozofs_fuse_ctx_t  *ctx_p;
    int k;
    uint32_t            buffer_count;
    int empty = 0;
    uint32_t status;
    
    ctx_p = (rozofs_fuse_ctx_t*)rozofs_fuse_ctx_p;   
     
     for (k = 0; k < rozofs_fuse_loop_count; k++)
     {
       buffer_count = ruc_buf_getFreeBufferCount(ctx_p->fuseReqPoolRef);
       if (buffer_count < 2) 
       {
	 return TRUE;
       }
       /*
       ** check the number of requests towards the storcli
       */
       if (rozofs_storcli_pending_req_count >= rozofs_max_storcli_tx)
       {
	 status = rozofs_xoff();
	 if (status== FALSE) 
	 {
	   return TRUE;
	 }
       }   
       /*
       ** Check the amount of read buffer (shared pool)
       */
       buffer_count = rozofs_get_shared_storcli_buf_free(SHAREMEM_IDX_READ);
       if (buffer_count < 2) 
       {
	 status = rozofs_xoff();
	 if (status== FALSE) 
	 {
	   return TRUE;
	 }
       }           
       buffer_count = rozofs_get_shared_storcli_buf_free(SHAREMEM_IDX_WRITE);
       if (buffer_count < 2) 
       {
	 status = rozofs_xoff();
	 if (status== FALSE) 
	 {
	   return TRUE;
	 }
       }
       rozofs_fuse_session_loop(ctx_p,&empty);
       if (empty) return TRUE;
     }
    
    return TRUE;
}
Пример #3
0
uint32_t rozofs_fuse_rcvMsgsock(void * rozofs_fuse_ctx_p,int socketId)
{
    rozofs_fuse_ctx_t  *ctx_p;
    int k;
    uint32_t            buffer_count;
    
    ctx_p = (rozofs_fuse_ctx_t*)rozofs_fuse_ctx_p;   
     
     for (k = 0; k < rozofs_fuse_loop_count; k++)
     {
       buffer_count = ruc_buf_getFreeBufferCount(ctx_p->fuseReqPoolRef);
       if (buffer_count < 2) 
       {
	 rozofs_fuse_buffer_depletion_count++;
	 return TRUE;
       }    
       rozofs_fuse_session_loop(ctx_p);
     }
    
    return TRUE;
}