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 / debug7.c < prev    next >
C/C++ Source or Header  |  2005-07-07  |  3KB  |  134 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.     31232 ,
  25.     40960 ,
  26.     51200 ,
  27.     61440 
  28. };
  29.  
  30. PVFS_size exp1_size [] = {
  31.     512,
  32.     1024,
  33.     1024,
  34.     1024
  35. };
  36.  
  37. PINT_Request_result expected[] =
  38. {{
  39.    offset_array : &exp1_offset[0],
  40.    size_array : &exp1_size[0],
  41.    segmax : SEGMAX,
  42.    segs : 4,
  43.    bytes : 512+(3*1024)
  44. }};
  45.  
  46. int request_debug(void)
  47. {
  48.     int i;
  49.     PINT_Request *r1;
  50.     PINT_Request_state *rs1;
  51.     PINT_request_file_data rf1;
  52.     PINT_Request_result seg1;
  53.  
  54.     /* PVFS_Process_request arguments */
  55.     int retval;
  56.  
  57.     /* set up request */
  58.     PVFS_Request_vector(10, 1024, 10*1024, PVFS_BYTE, &r1);
  59.  
  60.     /* set up request state */
  61.     rs1 = PINT_new_request_state(r1);
  62.  
  63.     /* set up file data for request */
  64.     PINT_dist_initialize(NULL);
  65.     rf1.server_nr = 0;
  66.     rf1.server_ct = 8;
  67.     rf1.fsize = 10000000;
  68.     rf1.dist = PINT_dist_create("simple_stripe");
  69.     rf1.extend_flag = 1;
  70.     PINT_dist_lookup(rf1.dist);
  71.  
  72.     /* set up result struct */
  73.     seg1.offset_array = (int64_t *)malloc(SEGMAX * sizeof(int64_t));
  74.     seg1.size_array = (int64_t *)malloc(SEGMAX * sizeof(int64_t));
  75.     seg1.bytemax = BYTEMAX;
  76.     seg1.segmax = SEGMAX;
  77.     seg1.bytes = 0;
  78.     seg1.segs = 0;
  79.  
  80.    /* Turn on debugging */
  81.     if (gossipflag)
  82.     {
  83.         gossip_enable_stderr();
  84.         gossip_set_debug_mask(1,GOSSIP_REQUEST_DEBUG);
  85.     }
  86.  
  87.     i = 0;
  88.  
  89.     /* skipping logical bytes */
  90.     /*seg1.bytemax = (3 * 1024) + 512;*/
  91.  
  92.     PINT_REQUEST_STATE_SET_TARGET(rs1,(3 * 1024) + 512);
  93.     
  94.     /* need to reset bytemax before we contrinue */
  95.     /*seg1.bytemax = BYTEMAX;*/
  96.  
  97.     printf("\n************************************\n");
  98.     printf("One request in SERVER mode size 10*1K strided 10K server 0 of 8\n");
  99.     printf("Simple stripe, default stripe size (64K)\n");
  100.     printf("Offset 0M, file size 10000000, extend flag\n");
  101.     printf("Testing jump 3K+512 into request\n");
  102.     printf("\n************************************\n");
  103.     do
  104.     {
  105.         seg1.bytes = 0;
  106.         seg1.segs = 0;
  107.  
  108.         /* process request */
  109.         retval = PINT_process_request(rs1, NULL, &rf1, &seg1, PINT_SERVER);
  110.  
  111.         if(retval >= 0)
  112.         {
  113.             prtseg(&seg1,"Results obtained");
  114.             prtseg(&expected[i],"Results expected");
  115.             cmpseg(&seg1,&expected[i]);
  116.         }
  117.  
  118.         i++;
  119.  
  120.     } while(!PINT_REQUEST_DONE(rs1) && retval >= 0);
  121.     
  122.     if(retval < 0)
  123.     {
  124.         fprintf(stderr, "Error: PINT_process_request() failure.\n");
  125.         return(-1);
  126.     }
  127.     if(PINT_REQUEST_DONE(rs1))
  128.     {
  129.         printf("**** request done.\n");
  130.     }
  131.  
  132.     return 0;
  133. }
  134.