From 46c3ff8515349476c30bfd4bf5c75e160d90f0ae Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Mon, 25 Aug 2003 21:33:27 +0000 Subject: [PATCH] dumpsize-int64-support-non-64bit-platforms-20030825 this didn't compile on non long long platforms. again, ew. --- src/volser/dumpstuff.c | 142 +++++++++++++++++++++++++++-------------- 1 file changed, 95 insertions(+), 47 deletions(-) diff --git a/src/volser/dumpstuff.c b/src/volser/dumpstuff.c index d2e1c6ce1..e2890b830 100644 --- a/src/volser/dumpstuff.c +++ b/src/volser/dumpstuff.c @@ -1355,51 +1355,74 @@ SizeDumpVolumeHeader(register struct iod *iodp, register Volume * vp, { int code = 0; static char nullString[1] = ""; /*The ``contents'' of motd */ + afs_int64 addvar; /* if (!code) code = DumpTag(iodp, D_VOLUMEHEADER); */ - v_size->dump_size += 1; + FillInt64(addvar,0, 1); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) {code = DumpInt32(iodp, 'i',V_id(vp));} */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'v',V_stamp(vp).version); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpString(iodp, 'n',V_name(vp)); */ - v_size->dump_size += (2 + strlen(V_name(vp))); + FillInt64(addvar,0, (2 + strlen(V_name(vp)))); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpBool(iodp, 's',V_inService(vp)); */ - v_size->dump_size += 2; + FillInt64(addvar,0, 2); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpBool(iodp, 'b',V_blessed(vp)); */ - v_size->dump_size += 2; + FillInt64(addvar,0, 2); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'u',V_uniquifier(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpByte(iodp, 't',(byte)V_type(vp)); */ - v_size->dump_size += 2; + FillInt64(addvar,0, 2); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code){ code = DumpInt32(iodp, 'p',V_parentId(vp));} */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'c',V_cloneId(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'q',V_maxquota(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'm',V_minquota(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'd',V_diskused(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'f',V_filecount(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'a', V_accountNumber(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'o', V_owner(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'C',V_creationDate(vp)); /\* Rw volume creation date *\/ */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'A',V_accessDate(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'U',V_updateDate(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'E',V_expirationDate(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'B',V_backupDate(vp)); /\* Rw volume backup clone date *\/ */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpString(iodp, 'O',V_offlineMessage(vp)); */ - v_size->dump_size += (2 + strlen(V_offlineMessage(vp))); + FillInt64(addvar,0, (2 + strlen(V_offlineMessage(vp)))); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* /\* */ /* * We do NOT dump the detailed volume statistics residing in the old */ /* * motd field, since we cannot tell from the info in a dump whether */ @@ -1407,14 +1430,17 @@ SizeDumpVolumeHeader(register struct iod *iodp, register Volume * vp, /* * just as if that was what the motd contained. */ /* *\/ */ /* if (!code) code = DumpString(iodp, 'M', nullString); */ - v_size->dump_size += (2 + strlen(nullString)); + FillInt64(addvar,0, (2 + strlen(nullString))); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpArrayInt32(iodp, 'W', (afs_uint32 *)V_weekUse(vp), sizeof(V_weekUse(vp))/sizeof(V_weekUse(vp)[0])); */ - v_size->dump_size += - (3 + 4 * (sizeof(V_weekUse(vp)) / sizeof(V_weekUse(vp)[0]))); + FillInt64(addvar,0, (3 + 4 * (sizeof(V_weekUse(vp)) / sizeof(V_weekUse(vp)[0])))); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'D', V_dayUseDate(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'Z', V_dayUse(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); return code; } @@ -1422,7 +1448,9 @@ static int SizeDumpEnd(register struct iod *iodp, register struct volintSize *v_size) { int code = 0; - v_size->dump_size += 5; + afs_int64 addvar; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); return code; } @@ -1453,21 +1481,26 @@ SizeDumpDumpHeader(register struct iod *iodp, register Volume * vp, int code = 0; int UseLatestReadOnlyClone = 1; afs_int32 dumpTimes[2]; + afs_int64 addvar; /* iodp->device = vp->device; */ /* iodp->parentId = V_parentId(vp); */ /* iodp->dumpPartition = vp->partition; */ - v_size->dump_size = 0; /* initialize the size */ + ZeroInt64(v_size->dump_size); /* initialize the size */ /* if (!code) code = DumpDouble(iodp, D_DUMPHEADER, DUMPBEGINMAGIC, DUMPVERSION); */ - v_size->dump_size += 9; + FillInt64(addvar,0, 9); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'v', UseLatestReadOnlyClone? V_id(vp): V_parentId(vp)); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpString(iodp, 'n',V_name(vp)); */ - v_size->dump_size += (2 + strlen(V_name(vp))); + FillInt64(addvar,0, (2 + strlen(V_name(vp)))); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* dumpTimes[0] = fromtime; */ /* dumpTimes[1] = V_backupDate(vp); /\* Until the time the clone was made *\/ */ /* if (!code) code = DumpArrayInt32(iodp, 't', (afs_uint32 *)dumpTimes, 2); */ - v_size->dump_size += (3 + 4 * 2); + FillInt64(addvar,0, (3 + 4 * 2)); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); return code; } @@ -1477,42 +1510,57 @@ SizeDumpVnode(register struct iod *iodp, struct VnodeDiskObject *v, int volid, register struct volintSize *v_size) { int code = 0; + afs_int64 addvar; if (!v || v->type == vNull) return code; /* if (!code) code = DumpDouble(iodp, D_VNODE, vnodeNumber, v->uniquifier); */ - v_size->dump_size += 9; + FillInt64(addvar,0, 9); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); if (!dumpEverything) return code; /* if (!code) code = DumpByte(iodp, 't',(byte)v->type); */ - v_size->dump_size += 2; + FillInt64(addvar,0, 2); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpShort(iodp, 'l', v->linkCount); /\* May not need this *\/ */ - v_size->dump_size += 3; + FillInt64(addvar,0, 3); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'v', v->dataVersion); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'm', v->unixModifyTime); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'a', v->author); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'o', v->owner); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code && v->group) code = DumpInt32(iodp, 'g', v->group); /\* default group is 0 *\/ */ - if (v->group) - v_size->dump_size += 5; + if (v->group) { + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); + } /* if (!code) code = DumpShort(iodp, 'b', v->modeBits); */ - v_size->dump_size += 3; + FillInt64(addvar,0, 3); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 'p', v->parent); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); /* if (!code) code = DumpInt32(iodp, 's', v->serverModifyTime); */ - v_size->dump_size += 5; + FillInt64(addvar,0, 5); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); if (v->type == vDirectory) { /* acl_HtonACL(VVnodeDiskACL(v)); */ /* if (!code) code = DumpByteString(iodp, 'A', (byte *) VVnodeDiskACL(v), VAclDiskSize(v)); */ - v_size->dump_size += 1 + VAclDiskSize(v); + FillInt64(addvar,0, (1 + VAclDiskSize(v))); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); } if (VNDISK_GET_INO(v)) { - v_size->dump_size += (v->length + 5); + FillInt64(addvar,0, (v->length + 5)); + AddInt64(v_size->dump_size, addvar, &v_size->dump_size); } return code; } -- 2.39.5