On Thu, Mar 25, 2010 at 11:52:25AM -0700, Steven Dake wrote:
> Ryan,
> 
> This test case doesn't work properly when it is built.
> 
> See attached patch.
> 
> Regards
> -steve

Can you be more descriptive? Thanks.



> Index: test/ckpt-wr.c
> ===================================================================
> --- test/ckpt-wr.c    (revision 2124)
> +++ test/ckpt-wr.c    (working copy)
> @@ -50,54 +50,23 @@
>  
>  #define SECONDS_TO_EXPIRE 500
>  
> -int ckptinv;
> -void printSaNameT (SaNameT *name)
> -{
> -     int i;
> +static SaVersionT version = { 'B', 1, 1 };
>  
> -     for (i = 0; i < name->length; i++) {
> -             printf ("%c", name->value[i]);
> -     }
> -}
> +static SaNameT checkpointName = { 16, "checkpoint-sync\0" };
>  
> -SaVersionT version = { 'B', 1, 1 };
> -
> -SaNameT checkpointName = { 16, "checkpoint-sync\0" };
> -
> -SaCkptCheckpointCreationAttributesT checkpointCreationAttributes = {
> +static SaCkptCheckpointCreationAttributesT checkpointCreationAttributes = {
>       .creationFlags =        SA_CKPT_WR_ALL_REPLICAS,
>       .checkpointSize =       250000,
>       .retentionDuration =    SA_TIME_ONE_SECOND * 60,
> -     .maxSections =          5,
> +     .maxSections =          1,
>       .maxSectionSize =       250000,
>       .maxSectionIdSize =     10
>  };
>  
> -char readBuffer1[1025];
> -
> -SaCkptIOVectorElementT ReadVectorElements[] = {
> -     {
> -             SA_CKPT_DEFAULT_SECTION_ID,
> -             readBuffer1,
> -             sizeof (readBuffer1),
> -             0,
> -             0
> -     }
> -};
> -
>  #define DATASIZE 127000
>  char data[DATASIZE];
> -SaCkptIOVectorElementT WriteVectorElements[] = {
> -     {
> -             SA_CKPT_DEFAULT_SECTION_ID,
> -             data, /*"written data #1, this should extend past end of old 
> section data", */
> -             DATASIZE, /*sizeof ("data #1, this should extend past end of 
> old section data") + 1, */
> -             0, //5,
> -             0
> -     }
> -};
>  
> -SaCkptCallbacksT callbacks = {
> +static SaCkptCallbacksT callbacks = {
>       0,
>       0
>  };
> @@ -108,7 +77,6 @@
>       SaCkptHandleT ckptHandle;
>       SaCkptCheckpointHandleT checkpointHandle;
>       SaAisErrorT error;
> -     char data[MAX_DATA_SIZE];
>       struct timespec delay;
>       struct timespec delay2;
>       SaCkptIOVectorElementT writeElement;
> @@ -121,55 +89,39 @@
>       error = saCkptInitialize (&ckptHandle, &callbacks, &version);
>  
>       error = saCkptCheckpointOpen (ckptHandle,
> -                     &checkpointName,
> -                     &checkpointCreationAttributes,
> -                     
> SA_CKPT_CHECKPOINT_CREATE|SA_CKPT_CHECKPOINT_READ|SA_CKPT_CHECKPOINT_WRITE,
> -                     0,
> -                     &checkpointHandle);
> +             &checkpointName,
> +             &checkpointCreationAttributes,
> +             
> SA_CKPT_CHECKPOINT_CREATE|SA_CKPT_CHECKPOINT_READ|SA_CKPT_CHECKPOINT_WRITE,
> +             0,
> +             &checkpointHandle);
> +
>       printf ("%s: initial open of checkpoint\n",
>               get_test_output (error, SA_AIS_OK));
>  
>  
> -    do{
> -                     error = saCkptCheckpointRead (checkpointHandle,
> -                             ReadVectorElements,
> -                             1,
> -                             &erroroneousVectorIndex);
> -                     if (error != SA_AIS_OK) {
> -                             if (error == SA_AIS_ERR_TRY_AGAIN) {
> -                                     continue;
> -                             }
> -printf ("error is %d\n", error);
> -                             return (0);
> -                     }
> +     for (;;) {
> +             count++;
> +             sprintf((char*)&data, "%d",(int)count);
> +             writeElement.sectionId.idLen = 0;
> +             writeElement.sectionId.id = 0;
> +             writeElement.dataBuffer = data;
> +             writeElement.dataSize = strlen (data) + 1;
> +             writeElement.dataOffset = 0;
> +             writeElement.readSize = 0;
>  
> -                     if (ReadVectorElements->dataBuffer == 0) {
> -                             printf ("Default Checkpoint has no data\n");
> -                     } else {
> -                             count = atol((char 
> *)ReadVectorElements->dataBuffer);
> -                     }
> +             do {
> +                     error = saCkptCheckpointWrite (checkpointHandle,
> +                     &writeElement,
> +                     1,
> +                     &erroroneousVectorIndex);
>  
> -                     count++;
> -                     sprintf((char*)&data, "%d",(int)count);
> -                     writeElement.sectionId = 
> (SaCkptSectionIdT)SA_CKPT_DEFAULT_SECTION_ID;
> -                     writeElement.dataBuffer = data;
> -                     writeElement.dataSize = strlen (data) + 1;
> -                     writeElement.dataOffset = 0;
> -                     writeElement.readSize = 0;
> +                     printf ("%s: checkpoint write with data %s\n",
> +                     get_test_output (error, SA_AIS_OK), (char*)data);
> +             } while (error == SA_AIS_ERR_TRY_AGAIN);
>  
> -                     do {
> -                             error = saCkptCheckpointWrite (checkpointHandle,
> -                                     &writeElement,
> -                                     1,
> -                                     &erroroneousVectorIndex);
> +             nanosleep(&delay,&delay2);
> +     }
>  
> -                             printf ("%s: checkpoint write with data %s\n",
> -                                                     get_test_output (error, 
> SA_AIS_OK), (char*)data);
> -                     }while (error == SA_AIS_ERR_TRY_AGAIN);
> -
> -                     nanosleep(&delay,&delay2);
> -     }while (1);
> -
>       return (0);
>  
>  }

> _______________________________________________
> Openais mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/openais
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to