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 / test-truncate.c < prev    next >
C/C++ Source or Header  |  2005-11-09  |  3KB  |  100 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 <string.h>
  10. #include <assert.h>
  11.  
  12. #include "pvfs2-types.h"
  13. #include "gossip.h"
  14. #include "pvfs2-debug.h"
  15. #include "pint-request.h"
  16. #include "pint-distribution.h"
  17. #include "pint-dist-utils.h"
  18.  
  19. void PINT_Dist_dump(PINT_dist *dist);
  20.  
  21. int main(int argc, char **argv)
  22. {
  23.     PINT_dist *d;
  24.     int ret = -1;
  25.     PVFS_offset tmp_off = 0;
  26.     PINT_request_file_data file_data;
  27.  
  28.     /* grab a distribution */
  29.     PINT_dist_initialize(NULL);
  30.     d = PINT_dist_create("simple_stripe");
  31.     assert(d);
  32.  
  33.     ret = PINT_dist_lookup(d);
  34.     assert(ret == 0);
  35.  
  36.     PINT_dist_dump(d);
  37.  
  38.     /* Initialize the file data */
  39.     memset(&file_data, 0, sizeof(file_data));
  40.     file_data.server_ct = 4;
  41.     file_data.server_nr = 0;
  42.     
  43.     /* easy case */
  44.     tmp_off = d->methods->logical_to_physical_offset(d->params,&file_data,100);
  45.     printf("offset: %lld\n", (long long)tmp_off);
  46.  
  47.  
  48.     /* just before strip */
  49.     tmp_off = d->methods->logical_to_physical_offset(d->params,
  50.                                                      &file_data,
  51.                                                      (64*1024-1));
  52.     printf("offset: %lld\n", (long long)tmp_off);
  53.  
  54.     /* at strip */
  55.     tmp_off = d->methods->logical_to_physical_offset(d->params,
  56.                                                      &file_data,
  57.                                                      (64*1024));
  58.     printf("offset: %lld\n", (long long)tmp_off);
  59.  
  60.     /* just after strip */
  61.     tmp_off = d->methods->logical_to_physical_offset(d->params,
  62.                                                      &file_data,
  63.                                                      (64*1024+1));
  64.     printf("offset: %lld\n", (long long)tmp_off);
  65.  
  66.     /* wrap around tests */
  67.     tmp_off = d->methods->logical_to_physical_offset(d->params,
  68.                                                      &file_data,
  69.                                                      (64*1024*4+1));
  70.     printf("offset: %lld\n", (long long)tmp_off);
  71.  
  72.     /* try a different io server */
  73.     file_data.server_nr = 3;
  74.     tmp_off = d->methods->logical_to_physical_offset(d->params,
  75.                                                      &file_data,
  76.                                                      (64*1024-1));
  77.     printf("offset: %lld\n", (long long)tmp_off);
  78.  
  79.     /* same as above, but in his region w/ wrap around */
  80.     tmp_off = d->methods->logical_to_physical_offset(d->params,
  81.                                                      &file_data,
  82.                                                      (64*1024*7+15));
  83.     printf("offset: %lld\n", (long long)tmp_off);
  84.  
  85.  
  86.     /* free dist */
  87.     PINT_dist_free(d);
  88.  
  89.     return (0);
  90. }
  91.  
  92. /*
  93.  * Local variables:
  94.  *  c-indent-level: 4
  95.  *  c-basic-offset: 4
  96.  * End:
  97.  *
  98.  * vim: ts=8 sts=4 sw=4 expandtab
  99.  */
  100.