? mult.diff
? mult.patch
? src/proto/.endecode-funcs.h.swp
? src/proto/.pvfs2-req-proto.h.swp
Index: include/pvfs2-types.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/include/pvfs2-types.h,v
retrieving revision 1.139
diff -r1.139 pvfs2-types.h
125c125
< typedef int32_t PVFS_ds_position;
---
> typedef uint64_t PVFS_ds_position;
131,132c131,132
< #define decode_PVFS_ds_position decode_int32_t
< #define encode_PVFS_ds_position encode_int32_t
---
> #define decode_PVFS_ds_position decode_uint64_t
> #define encode_PVFS_ds_position encode_uint64_t
Index: src/client/sysint/sys-list-eattr.sm
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/client/sysint/sys-list-eattr.sm,v
retrieving revision 1.6
diff -r1.6 sys-list-eattr.sm
227c227
<                 sm_p->u.listeattr.resp_p->token);
---
>                 sm_p->u.listeattr.resp_p->nkey);
Index: src/client/sysint/sys-readdir.sm
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/client/sysint/sys-readdir.sm,v
retrieving revision 1.49
diff -r1.49 sys-readdir.sm
242c242
<         GOSSIP_READDIR_DEBUG, "%llu|%d | token is %d | limit is %d\n",
---
>         GOSSIP_READDIR_DEBUG, "%llu|%d | token is %llu | limit is %d\n",
245c245
<         sm_p->readdir.pos_token,
---
>         llu(sm_p->readdir.pos_token),
Index: src/common/misc/fsck-utils.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/common/misc/fsck-utils.c,v
retrieving revision 1.2
diff -r1.2 fsck-utils.c
1083c1083
<     int *position_array = NULL;
---
>     PVFS_ds_position *position_array = NULL;
1155c1155,1156
<     position_array = (int *) calloc(server_count, sizeof(int));
---
>     position_array = (PVFS_ds_position *) calloc(server_count, 
>                                                  sizeof(PVFS_ds_position));
Index: src/io/trove/trove-dbpf/dbpf-dspace.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-dspace.c,v
retrieving revision 1.145
diff -r1.145 dbpf-dspace.c
21a22
> #include "pint-mem.h"
32a34
> 
50,61d51
< /* Union used by the dspace_iterate_handles call.  The berkeley db
<  * cursor->get(SET_RECNO) call, which sets the position of the cursor
<  * based on record number, expects the key.data to be a db_recno_t
<  * going in, but fills in the actual key value (in this case a TROVE_handle)
<  * on the way out.
<  */
< union dbpf_dspace_recno_handle_key
< {
<     db_recno_t recno;
<     TROVE_handle handle;
< };
< 
537c527
<     union dbpf_dspace_recno_handle_key recno_key;
---
>     void * multiples_buffer = NULL;
539c529,533
<     TROVE_handle dummy_handle = TROVE_HANDLE_NULL;
---
>     TROVE_handle dummy_handle;
>     size_t sizeof_handle = 0, sizeof_attr = 0;
>     int start_size;
>     void *tmp_ptr;
>     uint32_t dbpagesize;
574d567
<         recno_key.recno = (*op_p->u.d_iterate_handles.position_p);
576,577c569,570
<         key.data  = &recno_key;
<         key.size  = key.ulen = sizeof(recno_key);
---
>         key.data  = op_p->u.d_iterate_handles.position_p;
>         key.size  = key.ulen = sizeof(TROVE_handle);
585c578
<         ret = dbc_p->c_get(dbc_p, &key, &data, DB_SET_RECNO);
---
>         ret = dbc_p->c_get(dbc_p, &key, &data, DB_SET_RANGE);
593,594c586,587
<             gossip_err("failed to set cursor position at recno: %u\n",
<                        recno_key.recno);
---
>             gossip_err("failed to set cursor position at handle: %llu\n",
>                        llu(*(TROVE_handle *)op_p->u.d_iterate_handles.position_p));
599,600c592,600
<     /* read handles until we run out of handles or space in buffer */
<     for (i = 0; i < *op_p->u.d_iterate_handles.count_p; i++)
---
>     start_size = ((sizeof(TROVE_handle) + sizeof(s_attr)) *
>                   *op_p->u.d_iterate_handles.count_p);
>     /* round up to the nearest 1024 */
>     start_size = (start_size + 1023) & (~(unsigned long)1023);
> 
>     ret = op_p->coll_p->ds_db->get_pagesize(op_p->coll_p->ds_db, &dbpagesize);
> 
>     multiples_buffer = PINT_mem_aligned_alloc(start_size, dbpagesize);
>     if(!multiples_buffer)
602,605c602,604
<         memset(&key, 0, sizeof(key));
<         key.data = &op_p->u.d_iterate_handles.handle_array[i];
<         key.size = key.ulen = sizeof(TROVE_handle);
<         key.flags |= DB_DBT_USERMEM;
---
>         ret = -TROVE_ENOMEM;
>         goto return_error;
>     }
607,610c606,608
<         memset(&data, 0, sizeof(data));
<         data.data = &s_attr;
<         data.size = data.ulen = sizeof(s_attr);
<         data.flags |= DB_DBT_USERMEM;
---
>     key.data = &dummy_handle;
>     key.size = key.ulen = sizeof(TROVE_handle);
>     key.flags = DB_DBT_USERMEM;
612,613c610,634
<         ret = dbc_p->c_get(dbc_p, &key, &data, DB_NEXT);
<         if (ret == DB_NOTFOUND)
---
>     data.data = multiples_buffer;
>     data.size = data.ulen = start_size;
>     data.flags = DB_DBT_USERMEM;
> 
>     i = 0;
>     while(i < *op_p->u.d_iterate_handles.count_p)
>     {
>         ret = dbc_p->c_get(dbc_p, &key, &data, DB_MULTIPLE_KEY|DB_NEXT);
>         if(ret == DB_BUFFER_SMALL)
>         {
>             /* need to allocate more and try again */
>             free(multiples_buffer);
>             multiples_buffer = PINT_mem_aligned_alloc(data.size, dbpagesize);
>             if(!multiples_buffer)
>             {
>                 ret = -TROVE_ENOMEM;
>                 goto return_error;
>             }
>             data.data = multiples_buffer;
>             data.ulen = data.size;
> 
>             ret = dbc_p->c_get(dbc_p, &key, &data, DB_MULTIPLE_KEY|DB_NEXT);
>         }
> 
>         if(ret == DB_NOTFOUND)
617c638,639
<         else if (ret != 0)
---
> 
>         if(ret < 0)
622a645,679
> 
>         DB_MULTIPLE_INIT(tmp_ptr, &data);
> 
>         /* read handles until we run out of handles or space in buffer */
>         for (; i < *op_p->u.d_iterate_handles.count_p; i++)
>         {
>             void *tmp_handle;
>             void *tmp_attr;
> 
>             /* the semantics of this macro are a little odd.  after
>              * it returns, tmp_handle points into the data buffer
>              * (multiples_buffer) at the location of the key, so the
>              * pointer value of tmp_buffer actually changes, and it
>              * must be derefenced to get the handle value.
>              */
>             DB_MULTIPLE_KEY_NEXT(tmp_ptr, &data,
>                                  tmp_handle, sizeof_handle,
>                                  tmp_attr, sizeof_attr);
>             if(!tmp_ptr)
>             {
>                 break;
>             }
> 
>             /* verify sizes are correct */
>             if(sizeof_handle != sizeof(TROVE_handle) ||
>                sizeof_attr != sizeof(s_attr))
>             {
>                 /* something is wrong with the result */
>                 ret = -TROVE_EINVAL;
>                 goto return_error;
>             }
> 
>             op_p->u.d_iterate_handles.handle_array[i] =
>                 *(TROVE_handle *)tmp_handle;
>         }
633d689
<         db_recno_t recno;
644,645c700,701
<         data.data = &recno;
<         data.size = data.ulen = sizeof(recno);
---
>         data.data = &s_attr;
>         data.size = data.ulen = sizeof(s_attr);
648c704
<         ret = dbc_p->c_get(dbc_p, &key, &data, DB_GET_RECNO);
---
>         ret = dbc_p->c_get(dbc_p, &key, &data, DB_CURRENT);
659c715
<         *op_p->u.d_iterate_handles.position_p = recno;
---
>         *op_p->u.d_iterate_handles.position_p = dummy_handle;
669a726,730
>     if(multiples_buffer)
>     {
>         PINT_mem_aligned_free(multiples_buffer);
>     }
> 
680a742,746
>     if(multiples_buffer)
>     {
>         PINT_mem_aligned_free(multiples_buffer);
>     }
> 
1730c1796
< int PINT_trove_dbpf_ds_attr_compare(
---
> int PINT_trove_dbpf_ds_attr_compare_reversed(
1744a1811,1827
> }
> 
> int PINT_trove_dbpf_ds_attr_compare(
>     DB * dbp, const DBT * a, const DBT * b)
> {
>     const TROVE_handle * handle_a;
>     const TROVE_handle * handle_b;
> 
>     handle_a = (const TROVE_handle *) a->data;
>     handle_b = (const TROVE_handle *) b->data;
> 
>     if(*handle_a == *handle_b)
>     {
>         return 0;
>     }
> 
>     return (*handle_a > *handle_b) ? -1 : 1;
Index: src/io/trove/trove-dbpf/dbpf-keyval-pcache.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-keyval-pcache.c,v
retrieving revision 1.5
diff -r1.5 dbpf-keyval-pcache.c
157,158c157,158
<                          "handle: %llu, pos: %d\n",
<                          llu(handle), pos);
---
>                          "handle: %llu, pos: %llu\n",
>                          llu(handle), llu(pos));
164,165c164,165
<                          "handle: %llu, pos: %d\n",
<                          ret, llu(handle), pos);
---
>                          "handle: %llu, pos: %llu\n",
>                          ret, llu(handle), llu(pos));
178,179c178,179
<                  "handle: %llu, pos: %d, key: %*s\n",
<                  llu(handle), pos, *length, (char *) *keyname);
---
>                  "handle: %llu, pos: %llu, key: %*s\n",
>                  llu(handle), llu(pos), *length, (char *) *keyname);
228,229c228,229
<                      "handle: %llu, pos: %d: key: %*s\n",
<                      ret, llu(handle), pos, length, keyname);
---
>                      "handle: %llu, pos: %llu: key: %*s\n",
>                      ret, llu(handle), llu(pos), length, keyname);
239,240c239,240
<                  "handle: %llu, pos: %d: key: %*s\n",
<                  llu(handle), pos, length, keyname);
---
>                  "handle: %llu, pos: %llu: key: %*s\n",
>                  llu(handle), llu(pos), length, keyname);
Index: src/io/trove/trove-dbpf/dbpf-keyval.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-keyval.c,v
retrieving revision 1.82
diff -r1.82 dbpf-keyval.c
680c680
<                   "handle: %llu, pos: %u\n", 
---
>                   "handle: %llu, pos: %llu\n", 
683c683
<                  *op_p->u.k_iterate.position_p);
---
>                  llu(*op_p->u.k_iterate.position_p));
740,741c740,741
<                  "position: %d, count: %d\n", 
<                  *op_p->u.k_iterate.position_p, *op_p->u.k_iterate.count_p);
---
>                  "position: %llu, count: %d\n", 
>                  llu(*op_p->u.k_iterate.position_p), *op_p->u.k_iterate.count_p);
Index: src/io/trove/trove-dbpf/dbpf-mgmt.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-mgmt.c,v
retrieving revision 1.97
diff -r1.97 dbpf-mgmt.c
75c75
<   
---
> 
138c138
<             (646567223+TROVE_shm_key_hint));
---
>                      (646567223+TROVE_shm_key_hint));
143c143
<                         path, db_strerror(ret));
---
>                        path, db_strerror(ret));
203,205c203,205
<             "\n\n"
<             "    Please make sure that you have not chosen a DBCacheSizeBytes\n"
<             "    configuration file value that is too large for your machine.\n\n"); 
---
>                 "\n\n"
>                 "    Please make sure that you have not chosen a DBCacheSizeBytes\n"
>                 "    configuration file value that is too large for your machine.\n\n"); 
253c253,256
< static int dbpf_db_create(const char *sto_path, char *dbname, DB_ENV *envp);
---
> static int dbpf_db_create(const char *sto_path, 
>                           char *dbname, 
>                           DB_ENV *envp, 
>                           uint32_t flags);
256c259
<     int (*compare_fn) (DB *db, const DBT *dbt1, const DBT *dbt2));
---
>     int (*compare_fn) (DB *db, const DBT *dbt1, const DBT *dbt2), uint32_t flags);
283,290d285
<         {
<             char path_name[PATH_MAX] = {0};
<             PINT_statfs_t tmp_statfs;
<             TROVE_statfs *tmp_trove_statfs = (TROVE_statfs *)parameter;
< 
<             DBPF_GET_STORAGE_DIRNAME(path_name, PATH_MAX, sto_p->name);
<             ret = PINT_statfs_lookup(path_name, &tmp_statfs);
<             if (ret < 0)
292,295c287,298
<                 ret = -trove_errno_to_trove_error(errno);
<                 return ret;
<             }
<             tmp_trove_statfs->fs_id = coll_id;
---
>                 char path_name[PATH_MAX] = {0};
>                 PINT_statfs_t tmp_statfs;
>                 TROVE_statfs *tmp_trove_statfs = (TROVE_statfs *)parameter;
> 
>                 DBPF_GET_STORAGE_DIRNAME(path_name, PATH_MAX, sto_p->name);
>                 ret = PINT_statfs_lookup(path_name, &tmp_statfs);
>                 if (ret < 0)
>                 {
>                     ret = -trove_errno_to_trove_error(errno);
>                     return ret;
>                 }
>                 tmp_trove_statfs->fs_id = coll_id;
297,309c300,312
<             /*
<               NOTE: use f_bavail instead of f_bfree here.  see 'man
<               statfs' for more information.  it would be ideal to pass
<               both so that the client can properly compute all values.
<             */
<             tmp_trove_statfs->bytes_available = 
<                 (PINT_statfs_bsize(&tmp_statfs) * 
<                  PINT_statfs_bavail(&tmp_statfs));
<             tmp_trove_statfs->bytes_total =
<                 (PINT_statfs_bsize(&tmp_statfs) *
<                  (PINT_statfs_blocks(&tmp_statfs) -
<                   (PINT_statfs_bfree(&tmp_statfs) -
<                   PINT_statfs_bavail(&tmp_statfs))));
---
>                 /*
> NOTE: use f_bavail instead of f_bfree here.  see 'man
> statfs' for more information.  it would be ideal to pass
> both so that the client can properly compute all values.
> */
>                 tmp_trove_statfs->bytes_available = 
>                     (PINT_statfs_bsize(&tmp_statfs) * 
>                      PINT_statfs_bavail(&tmp_statfs));
>                 tmp_trove_statfs->bytes_total =
>                     (PINT_statfs_bsize(&tmp_statfs) *
>                      (PINT_statfs_blocks(&tmp_statfs) -
>                       (PINT_statfs_bfree(&tmp_statfs) -
>                        PINT_statfs_bavail(&tmp_statfs))));
311,312c314,315
<             return 1;
<         }
---
>                 return 1;
>             }
324,328c327,331
< 	struct dbpf_collection* coll;
< 	coll = dbpf_collection_find_registered(coll_id);
< 	
< 	assert(coll);
< 	
---
>     struct dbpf_collection* coll;
>     coll = dbpf_collection_find_registered(coll_id);
> 
>     assert(coll);
> 
534c537
<     
---
> 
613c616
<     ret = dbpf_db_create(storage_dirname, sto_attrib_dbname, NULL);
---
>     ret = dbpf_db_create(storage_dirname, sto_attrib_dbname, NULL, 0);
618c621
<     
---
> 
620c623
<     ret = dbpf_db_create(storage_dirname, collections_dbname, NULL);
---
>     ret = dbpf_db_create(storage_dirname, collections_dbname, NULL, DB_RECNUM);
623,624c626,627
< 	gossip_lerr("dbpf_storage_create: removing storage attribute database after failed create attempt");
< 	unlink(sto_attrib_dbname);
---
>         gossip_lerr("dbpf_storage_create: removing storage attribute database after failed create attempt");
>         unlink(sto_attrib_dbname);
662c665
<     
---
> 
676c679
<   storage_remove_failure:
---
> storage_remove_failure:
681,688c684,691
<   1) check collections database to see if coll_id is already used
<      (error out if so)
<   2) create collection attribute database
<   3) store trove-dbpf version in collection attribute database
<   4) store last handle value in collection attribute database
<   5) create dataspace attributes database
<   6) create keyval and bstream directories
< */
---
>    1) check collections database to see if coll_id is already used
>    (error out if so)
>    2) create collection attribute database
>    3) store trove-dbpf version in collection attribute database
>    4) store last handle value in collection attribute database
>    5) create dataspace attributes database
>    6) create keyval and bstream directories
>    */
710c713
<     
---
> 
713c716
<     
---
> 
719c722
<     
---
> 
732c735
<     
---
> 
737c740
<     
---
> 
744c747
<     
---
> 
768c771
<     
---
> 
788c791
<         ret = dbpf_db_create(sto_p->name, path_name, NULL);
---
>         ret = dbpf_db_create(sto_p->name, path_name, NULL, 0);
796c799
<     db_p = dbpf_db_open(sto_p->name, path_name, NULL, &error, NULL);
---
>     db_p = dbpf_db_open(sto_p->name, path_name, NULL, &error, NULL, 0);
804,806c807,809
<       store trove-dbpf version string in the collection.  this is used
<       to know what format the metadata is stored in on disk.
<     */
---
>        store trove-dbpf version string in the collection.  this is used
>        to know what format the metadata is stored in on disk.
>        */
853c856
<         ret = dbpf_db_create(sto_p->name, path_name, NULL);
---
>         ret = dbpf_db_create(sto_p->name, path_name, NULL, 0);
870c873
<         ret = dbpf_db_create(sto_p->name, path_name, NULL);
---
>         ret = dbpf_db_create(sto_p->name, path_name, NULL, 0);
1192c1195
<         
---
> 
1206c1209
<   return_ok:
---
> return_ok:
1250,1252c1253,1255
<       'position' points us to the record we just read, or is set to
<       END
<     */
---
>        'position' points us to the record we just read, or is set to
>        END
>        */
1263,1264c1266,1267
<     
<   return_error:
---
> 
> return_error:
1290c1293,1294
<     
---
>     int sto_major, sto_minor, sto_inc, major, minor, inc;
> 
1292c1296
<             collname);
---
>                  collname);
1320,1322c1324,1326
<       look to see if we have already registered this collection; if
<       so, return
<     */
---
>        look to see if we have already registered this collection; if
>        so, return
>        */
1331,1333c1335,1337
<       this collection hasn't been registered already (ie. looked up
<       before)
<     */
---
>        this collection hasn't been registered already (ie. looked up
>        before)
>        */
1372c1376,1377
<     coll_p->coll_attr_db = dbpf_db_open(sto_p->name, path_name, coll_p->coll_env, &ret, NULL);
---
>     coll_p->coll_attr_db = dbpf_db_open(sto_p->name, path_name, coll_p->coll_env,
>                                         &ret, NULL, 0);
1409c1414,1444
<     if (strcmp(trove_dbpf_version, TROVE_DBPF_VERSION_VALUE) != 0)
---
>     ret = sscanf(trove_dbpf_version, "%d.%d.%d", 
>                  &sto_major, &sto_minor, &sto_inc);
>     if(ret < 3)
>     {
>         gossip_err("Failed to get the version "
>                    "components from the storage version: %s\n",
>                    trove_dbpf_version);
>         return -TROVE_EINVAL;
>     }
> 
>     ret = sscanf(TROVE_DBPF_VERSION_VALUE, "%d.%d.%d",
>                  &major, &minor, &inc);
>     if(ret < 3)
>     {
>         gossip_err("Failed to get the version "
>                    "components from the implementation's version: %s\n",
>                    TROVE_DBPF_VERSION_VALUE);
>         return -TROVE_EINVAL;
>     }
> 
>     /* before version 0.1.3, no storage formats were compatible.
>      * Now 0.1.2 is compatible with 0.1.3, with the caveat that the right
>      * dspace db comparison function is specified when its opened.
>      *
>      * From 0.1.1 to 0.1.2, the storage formats aren't compatible, but
>      * in future (> 0.1.3) releases, only incremental version changes
>      * means backward compatibility is maintained, 
>      * while anything else is incompatible.
>      */
>     if(sto_major < major || sto_minor < minor ||
>        !strcmp(trove_dbpf_version, "0.1.1"))
1426c1461,1478
<     coll_p->ds_db = dbpf_db_open(sto_p->name, path_name, coll_p->coll_env, &ret, &PINT_trove_dbpf_ds_attr_compare);
---
> 
>     if(sto_major == 0 && sto_minor == 1 && sto_inc < 3)
>     {
>         /* use old comparison function */
>         coll_p->ds_db = dbpf_db_open(
>             sto_p->name, path_name, coll_p->coll_env, &ret,
>             &PINT_trove_dbpf_ds_attr_compare_reversed, 0);
>     }
>     else
>     {
>         /* new comparison function orders dspace entries so that berkeley
>          * DB does page reads in the right order (for handle_iterate)
>          */
>         coll_p->ds_db = dbpf_db_open(
>             sto_p->name, path_name, coll_p->coll_env, &ret,
>             &PINT_trove_dbpf_ds_attr_compare, 0);
>     }
> 
1439,1440c1491,1492
<     coll_p->keyval_db = dbpf_db_open(sto_p->name, path_name, coll_p->coll_env, &ret, 
<                                      PINT_trove_dbpf_keyval_compare);
---
>     coll_p->keyval_db = dbpf_db_open(sto_p->name, path_name, coll_p->coll_env,
>                                      &ret, PINT_trove_dbpf_keyval_compare, 0);
1466c1518
<     
---
> 
1473,1474c1525,1526
<     
<     
---
> 
> 
1549c1601,1602
<     sto_p->sto_attr_db = dbpf_db_open(sto_p->name, path_name, NULL, error_p, NULL);
---
>     sto_p->sto_attr_db = dbpf_db_open(sto_p->name, path_name, NULL,
>                                       error_p, NULL, 0);
1560c1613,1614
<     sto_p->coll_db = dbpf_db_open(sto_p->name, path_name, NULL, error_p, NULL);
---
>     sto_p->coll_db = dbpf_db_open(sto_p->name, path_name, NULL, 
>                                   error_p, NULL, DB_RECNUM);
1587c1641
<     
---
> 
1627c1681
<             
---
> 
1655,1656c1709,1734
<         db_p->err(db_p, ret, "%s", dbname);
<         return ret;
---
>         if(ret == EINVAL)
>         {
>             /* assume older db with DB_RECNUM flag set.  Set the flag
>              * and try again */
>             ret = db_p->set_flags(db_p, DB_RECNUM);
>             if(ret != 0)
>             {
>                 /* well, we tried.  ok nothing we can do */
>                 db_p->err(db_p, ret, "%s", dbname);
>                 return ret;
>             }
> 
>             if ((ret = db_p->open(db_p,
> #ifdef HAVE_TXNID_PARAMETER_TO_DB_OPEN
>                                   NULL,
> #endif
>                                   dbname,
>                                   NULL,
>                                   TROVE_DB_TYPE,
>                                   flags,
>                                   mode)) != 0)
>             {
>                 db_p->err(db_p, ret, "%s", dbname);
>                 return ret;
>             }
>         }
1677c1755,1758
< static int dbpf_db_create(const char *sto_path, char *dbname, DB_ENV *envp)
---
> static int dbpf_db_create(const char *sto_path,
>                           char *dbname,
>                           DB_ENV *envp,
>                           uint32_t flags)
1688,1689c1769
<     /* DB_RECNUM makes it easier to iterate through every key in chunks */
<     if ((ret = db_p->set_flags(db_p, DB_RECNUM)) != 0)
---
>     if(flags)
1691,1693c1771
<         db_p->err(db_p, ret, "%s: set_flags", dbname);
<         db_close(db_p);
<         return -dbpf_db_error_to_trove_error(ret);
---
>         ret = db_p->set_flags(db_p, flags);
1722c1800,1801
<     int (*compare_fn) (DB *db, const DBT *dbt1, const DBT *dbt2))
---
>     int (*compare_fn) (DB *db, const DBT *dbt1, const DBT *dbt2),
>     uint32_t flags)
1740,1741c1819
<     /* DB_RECNUM makes it easier to iterate through every key in chunks */
<     if ((ret = db_p->set_flags(db_p, DB_RECNUM)) != 0)
---
>     if (flags && (ret = db_p->set_flags(db_p, flags)) != 0)
Index: src/io/trove/trove-dbpf/dbpf.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf.h,v
retrieving revision 1.81
diff -r1.81 dbpf.h
25a26,30
> /* Incremental versions are backward compatible with previous releases
>  * that have the same major and minor versions.
>  * Minor versions are NOT backward compatible.
>  * Major versions aren't either, but refer to architectural storage format changes.
>  */
27c32,33
< #define TROVE_DBPF_VERSION_VALUE                                  "0.1.2"
---
> #define TROVE_DBPF_VERSION_VALUE                                  "0.1.3"
> 
234a241,242
>     DB * dbp, const DBT * a, const DBT * b);
> int PINT_trove_dbpf_ds_attr_compare_reversed(
Index: src/io/trove/trove-handle-mgmt/trove-handle-mgmt.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-handle-mgmt/trove-handle-mgmt.h,v
retrieving revision 1.13
diff -r1.13 trove-handle-mgmt.h
10c10
< #define MAX_NUM_VERIFY_HANDLE_COUNT        512
---
> #define MAX_NUM_VERIFY_HANDLE_COUNT        4096
Index: src/kernel/linux-2.6/dir.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/kernel/linux-2.6/dir.c,v
retrieving revision 1.47
diff -r1.47 dir.c
150,151c150,151
<         gossip_debug(GOSSIP_DIR_DEBUG, 
<                      "calling filldir of . with pos = %d\n", pos);
---
>         gossip_debug(GOSSIP_DIR_DEBUG,
>                      "calling filldir of . with pos = %llu\n", llu(pos));
163c163
<                      "calling filldir of .. with pos = %d\n", pos);
---
>                      "calling filldir of .. with pos = %llu\n", llu(pos));
285c285,286
<                          "pos = %d, file->f_pos should have been %ld\n", pos, 
---
>                          "pos = %llu, file->f_pos should have been %ld\n", 
>                          llu(pos),
Index: src/kernel/linux-2.6/downcall.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/kernel/linux-2.6/downcall.h,v
retrieving revision 1.28
diff -r1.28 downcall.h
81d80
<     uint32_t  __pad1;
92d90
<     uint32_t  __pad1;
148a147
>     int32_t __pad1;
152c151
<     int32_t  __pad1;
---
>     int32_t  __pad2;
Index: src/kernel/linux-2.6/upcall.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/kernel/linux-2.6/upcall.h,v
retrieving revision 1.35
diff -r1.35 upcall.h
92d91
<     uint32_t __pad1;
101a101
>     int32_t  __pad1;
160a161
>     int32_t  __pad1;
Index: src/proto/pvfs2-req-proto.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/proto/pvfs2-req-proto.h,v
retrieving revision 1.147
diff -r1.147 pvfs2-req-proto.h
25c25
< #define PVFS2_PROTO_MAJOR 3
---
> #define PVFS2_PROTO_MAJOR 4
29c29
< #define PVFS2_PROTO_MINOR 4
---
> #define PVFS2_PROTO_MINOR 0
645c645
< endecode_fields_4_struct(
---
> endecode_fields_5_struct(
648a649
>     skip4,,
676c677
< endecode_fields_4a_struct(
---
> endecode_fields_3a_struct(
679d679
<     skip4,,
1220c1220
< endecode_fields_1a_struct(
---
> endecode_fields_2a_struct(
1222a1223
>     skip4,,
1453d1453
<     PVFS_ds_position, token,
1454a1455
>     PVFS_ds_position, token,
1484c1485
< endecode_fields_1a_struct(
---
> endecode_fields_2a_struct(
1486a1488
>     skip4,,
Index: src/server/readdir.sm
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/server/readdir.sm,v
retrieving revision 1.48
diff -r1.48 readdir.sm
205c205
<         "\n\ttoken=%d, count=%d\n",
---
>         "\n\ttoken=%llu, count=%d\n",
207c207
<         s_op->req->u.readdir.token, 
---
>         llu(s_op->req->u.readdir.token),
Index: test/automated/nightly-tests.cfg
===================================================================
RCS file: /projects/cvsroot/pvfs2/test/automated/nightly-tests.cfg,v
retrieving revision 1.1
diff -r1.1 nightly-tests.cfg
4c4
< #export PVFS2_DEST=${HOME}/pvfs2-nightly
---
> export PVFS2_DEST=/sandbox/slang/pvfs-test
8c8
< #export PVFS2_MOUNTPOINT=/pvfs2-nightly
---
> export PVFS2_MOUNTPOINT=/sandbox/slang/mnt
