home *** CD-ROM | disk | FTP | other *** search
/ ftp.parl.clemson.edu / 2015-02-07.ftp.parl.clemson.edu.tar / ftp.parl.clemson.edu / pub / pvfs2 / orangefs-2.8.3-20110323.tar.gz / orangefs-2.8.3-20110323.tar / orangefs / test / io / description / debug10.c < prev    next >
C/C++ Source or Header  |  2005-07-07  |  3KB  |  132 lines

  1. /*
  2.  * (C) 2002 Clemson University.
  3.  *
  4.  * See COPYING in top-level directory.
  5.  */       
  6.  
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #include <pvfs2-types.h>
  10. #include <gossip.h>
  11. #include <pvfs2-debug.h>
  12.  
  13. #include <pint-distribution.h>
  14. #include <pint-dist-utils.h>
  15. #include <pvfs2-request.h>
  16. #include <pint-request.h>
  17.  
  18. #include <debug.h>
  19.  
  20. #define SEGMAX 16
  21. #define BYTEMAX (4*1024*1024)
  22.  
  23. PVFS_offset exp1_offset [] = {
  24.    0 ,
  25.    262144 
  26. };
  27.     
  28. PVFS_size exp1_size [] = {
  29.     65536,
  30.     4096
  31. };
  32.  
  33. PINT_Request_result expected[] =
  34. {{
  35.    offset_array : &exp1_offset[0],
  36.    size_array : &exp1_size[0],
  37.    segmax : SEGMAX,
  38.    segs : 2,
  39.    bytes : 65536+4096
  40. }};
  41.  
  42. int request_debug(void)
  43. {
  44.     int i;
  45.     PINT_Request *r1;
  46.     PINT_Request *r2;
  47.     PINT_Request_state *rs1;
  48.     PINT_Request_state *rs2;
  49.     PINT_request_file_data rf1;
  50.     PINT_Request_result seg1;
  51.  
  52.     /* PVFS_Process_request arguments */
  53.     int retval;
  54.  
  55.     /* set up request */
  56.     PVFS_Request_contiguous(266240, PVFS_BYTE, &r1);
  57.  
  58.     /* set up request state */
  59.     rs1 = PINT_new_request_state(r1);
  60.  
  61.     /* set up memory request */
  62.     PVFS_Request_contiguous(266240, PVFS_BYTE, &r2);
  63.     rs2 = PINT_new_request_state(r2);
  64.  
  65.     /* set up file data for request */
  66.     PINT_dist_initialize(NULL);
  67.     rf1.server_nr = 0;
  68.     rf1.server_ct = 4;
  69.     rf1.fsize = 0;
  70.     rf1.dist = PINT_dist_create("simple_stripe");
  71.     rf1.extend_flag = 1;
  72.     PINT_dist_lookup(rf1.dist);
  73.  
  74.     /* set up result struct */
  75.     seg1.offset_array = (int64_t *)malloc(SEGMAX * sizeof(int64_t));
  76.     seg1.size_array = (int64_t *)malloc(SEGMAX * sizeof(int64_t));
  77.     seg1.bytemax = BYTEMAX;
  78.     seg1.segmax = SEGMAX;
  79.     seg1.bytes = 0;
  80.     seg1.segs = 0;
  81.  
  82.    /* Turn on debugging */
  83.     if (gossipflag)
  84.     {
  85.         gossip_enable_stderr();
  86.         gossip_set_debug_mask(1,GOSSIP_REQUEST_DEBUG);
  87.     }
  88.  
  89.     i = 0;
  90.  
  91.     /* skipping logical bytes */
  92.     // PINT_REQUEST_STATE_SET_TARGET(rs1,(3 * 1024) + 512);
  93.     // PINT_REQUEST_STATE_SET_FINAL(rs1,(6 * 1024) + 512);
  94.     
  95.     printf("\n************************************\n");
  96.     printf("One request in CLIENT mode size 266240 contiguous server 0 of 4\n");
  97.     printf("Simple stripe, default stripe size (64K)\n");
  98.     printf("Offset 0M, file size 0, extend flag\n");
  99.     printf("MemReq size 266240 contiguous \n");
  100.     printf("\n************************************\n");
  101.     do
  102.     {
  103.         seg1.bytes = 0;
  104.         seg1.segs = 0;
  105.  
  106.         /* process request */
  107.         retval = PINT_process_request(rs1, rs2, &rf1, &seg1, PINT_CLIENT);
  108.  
  109.         if(retval >= 0)
  110.         {
  111.             prtseg(&seg1,"Results obtained");
  112.             prtseg(&expected[i],"Results expected");
  113.             cmpseg(&seg1,&expected[i]);
  114.         }
  115.  
  116.        i++;
  117.  
  118.     } while(!PINT_REQUEST_DONE(rs1) && retval >= 0);
  119.     
  120.     if(retval < 0)
  121.     {
  122.         fprintf(stderr, "Error: PINT_process_request() failure.\n");
  123.         return(-1);
  124.     }
  125.     if(PINT_REQUEST_DONE(rs1))
  126.     {
  127.         printf("**** request done.\n");
  128.     }
  129.  
  130.     return 0;
  131. }
  132.