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 / debug_olap.c < prev    next >
C/C++ Source or Header  |  2005-03-07  |  4KB  |  138 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. #include "pvfs2-dist-simple-stripe.h"
  18.  
  19. #define NMBLK1 1
  20. #define NMBLK2 1
  21.  
  22. int PINT_req_overlap(PVFS_offset r1offset, struct PINT_Request *r1,
  23.               PVFS_offset r2offset, struct PINT_Request *r2);
  24.  
  25. int main(int argc, char **argv)
  26. {
  27.     PINT_Request *r1, *r1a;
  28.     PVFS_offset displacement1[NMBLK1];
  29.     int32_t blocklength1[NMBLK1];
  30.     PINT_Request *r2, *r2a;
  31.     PVFS_offset displacement2[NMBLK2];
  32.     int32_t blocklength2[NMBLK2];
  33.     int retval;
  34.  
  35.     /* Turn on debugging */
  36.     gossip_enable_stderr();
  37.     gossip_set_debug_mask(1,GOSSIP_REQUEST_DEBUG);
  38.  
  39.  
  40.     /* two identical indexed of size 1 */
  41.     blocklength1[0] = 10*1024; /* 10K */
  42.     displacement1[0] = 0;
  43.     PVFS_Request_indexed(NMBLK1, blocklength1, displacement1, PVFS_BYTE, &r1);
  44.  
  45.     blocklength2[0] = 10*1024; /* 10K */
  46.     displacement2[0] = 0;
  47.     PVFS_Request_indexed(NMBLK2, blocklength2, displacement2, PVFS_BYTE, &r2);
  48.  
  49.     retval = PINT_req_overlap(0, r1, 0, r2);
  50.     printf("Return value is %d should be 1\n", retval);
  51.  
  52.     /* two different indexed of size 1 */
  53.     blocklength1[0] = 10*1024; /* 10K */
  54.     displacement1[0] = 0;
  55.     PVFS_Request_indexed(NMBLK1, blocklength1, displacement1, PVFS_BYTE, &r1);
  56.  
  57.     blocklength2[0] = 10*1024; /* 10K */
  58.     displacement2[0] = 12*1024;
  59.     PVFS_Request_indexed(NMBLK2, blocklength2, displacement2, PVFS_BYTE, &r2);
  60.  
  61.     retval = PINT_req_overlap(0, r1, 0, r2);
  62.     printf("Return value is %d should be 0\n", retval);
  63.  
  64.     /* two different indexed of size 1 */
  65.     blocklength1[0] = 10*1024; /* 10K */
  66.     displacement1[0] = 12*1024;
  67.     PVFS_Request_indexed(NMBLK1, blocklength1, displacement1, PVFS_BYTE, &r1);
  68.  
  69.     blocklength2[0] = 10*1024; /* 10K */
  70.     displacement2[0] = 1*1024;
  71.     PVFS_Request_indexed(NMBLK2, blocklength2, displacement2, PVFS_BYTE, &r2);
  72.  
  73.     retval = PINT_req_overlap(0, r1, 0, r2);
  74.     printf("Return value is %d should be 0\n", retval);
  75.  
  76.     /* two different indexed of size 1 */
  77.     blocklength1[0] = 10*1024; /* 10K */
  78.     displacement1[0] = 1*1024;
  79.     PVFS_Request_indexed(NMBLK1, blocklength1, displacement1, PVFS_BYTE, &r1);
  80.  
  81.     blocklength2[0] = 4*1024; /* 10K */
  82.     displacement2[0] = 3*1024;
  83.     PVFS_Request_indexed(NMBLK2, blocklength2, displacement2, PVFS_BYTE, &r2);
  84.  
  85.     retval = PINT_req_overlap(0, r1, 0, r2);
  86.     printf("Return value is %d should be 1\n", retval);
  87.  
  88.     /* two identical vector of size 1000 */
  89.     PVFS_Request_vector(1000, 100, 200, PVFS_BYTE, &r1);
  90.  
  91.     PVFS_Request_vector(1000, 100, 200, PVFS_BYTE, &r2);
  92.  
  93.     retval = PINT_req_overlap(0, r1, 0, r2);
  94.     printf("Return value is %d should be 1\n", retval);
  95.  
  96.     /* two different vector of size 1000 */
  97.     PVFS_Request_vector(1000, 200, 300, PVFS_BYTE, &r1);
  98.  
  99.     PVFS_Request_vector(500, 100, 200, PVFS_BYTE, &r2);
  100.  
  101.     retval = PINT_req_overlap(0, r1, 0, r2);
  102.     printf("Return value is %d should be 1\n", retval);
  103.  
  104.     /* two different vector of size 1000 */
  105.     PVFS_Request_vector(1000, 200, 300, PVFS_BYTE, &r1);
  106.  
  107.     PVFS_Request_vector(500, 100, 200, PVFS_BYTE, &r2);
  108.  
  109.     retval = PINT_req_overlap(0, r1, 800, r2);
  110.     printf("Return value is %d should be 1\n", retval);
  111.  
  112.     /* two different vector of size 1000 */
  113.     PVFS_Request_vector(1000, 200, 300, PVFS_BYTE, &r1);
  114.  
  115.     PVFS_Request_vector(500, 100, 200, PVFS_BYTE, &r2);
  116.  
  117.     retval = PINT_req_overlap(800, r1, 0, r2);
  118.     printf("Return value is %d should be 1\n", retval);
  119.  
  120.     /* two different vector of size 1000 */
  121.     PVFS_Request_vector(1000, 175, 300, PVFS_BYTE, &r1);
  122.  
  123.     PVFS_Request_vector(1000, 75, 300, PVFS_BYTE, &r2);
  124.  
  125.     retval = PINT_req_overlap(0, r1, 200, r2);
  126.     printf("Return value is %d should be 0\n", retval);
  127.  
  128.     /* two different vector of size 1000 */
  129.     PVFS_Request_vector(1000, 200, 300, PVFS_BYTE, &r1);
  130.  
  131.     PVFS_Request_vector(1000, 100, 300, PVFS_BYTE, &r2);
  132.  
  133.     retval = PINT_req_overlap(0, r1, 200, r2);
  134.     printf("Return value is %d should be 0\n", retval);
  135.  
  136.     exit(0);
  137. }
  138.