}
/* Verify that this block is the right one */
- if (ntohl(base[0]->ex_flags) != VLCONTBLOCK) { /* check if flag is correct */
+ if (ntohl(base[0]->ex_hdrflags) != VLCONTBLOCK) { /* check if flag is correct */
free(base[0]);
base[0] = 0;
return;
}
/* Verify that this block knows its an extent block */
- if (ntohl(base[j]->ex_flags) != VLCONTBLOCK) {
+ if (ntohl(base[j]->ex_hdrflags) != VLCONTBLOCK) {
free(base[j]);
base[j] = 0;
continue;
vldbread(addr, (char *)mhblockP, VL_ADDREXTBLK_SIZE);
mhblockP->ex_count = ntohl(mhblockP->ex_count);
- mhblockP->ex_flags = ntohl(mhblockP->ex_flags);
+ mhblockP->ex_hdrflags = ntohl(mhblockP->ex_hdrflags);
for (i = 0; i < VL_MAX_ADDREXTBLKS; i++)
mhblockP->ex_contaddrs[i] = ntohl(mhblockP->ex_contaddrs[i]);
quiet_println("multihome info block: base %d\n", base);
if (base == 0) {
quiet_println(" count = %u\n", ntohl(extent->ex_count));
- quiet_println(" flags = %u\n", ntohl(extent->ex_flags));
+ quiet_println(" flags = %u\n", ntohl(extent->ex_hdrflags));
for (i = 0; i < VL_MAX_ADDREXTBLKS; i++) {
quiet_println(" contaddrs[%d] = %u\n", i,
ntohl(extent->ex_contaddrs[i]));
* addresses of all the mh blocks.
*/
readMH(header->SIT, MHblock);
- if (MHblock->ex_flags != VLCONTBLOCK) {
+ if (MHblock->ex_hdrflags != VLCONTBLOCK) {
log_error
(VLDB_CHECK_ERROR,"Multihomed Block 0: Bad entry at %u: Not a valid multihomed block\n",
header->SIT);
continue;
readMH(caddrs[i], MHblock);
- if (MHblock->ex_flags != VLCONTBLOCK) {
+ if (MHblock->ex_hdrflags != VLCONTBLOCK) {
log_error
(VLDB_CHECK_ERROR,"Multihomed Block 0: Bad entry at %u: Not a valid multihomed block\n",
header->SIT);
struct {
afs_int32 count; /* # of valid addresses */
afs_int32 spares1[2];
- afs_int32 flags; /* must match vlentry's flags field XXX */
+ afs_int32 flags; /* must be in the same position as the vlentry's
+ flags field */
afs_uint32 contaddrs[VL_MAX_ADDREXTBLKS];
afs_int32 spares2[24];
} _ex_header;
afsUUID hostuuid;
afs_int32 uniquifier;
afs_uint32 addrs[VL_MAXIPADDRS_PERMH];
- afs_int32 spares[12];
+ afs_uint32 flags;
+ afs_int32 spares[11];
} _ex_addrentry;
} _ex_un;
};
#define ex_count _ex_un._ex_header.count
-#define ex_flags _ex_un._ex_header.flags
+#define ex_hdrflags _ex_un._ex_header.flags
#define ex_contaddrs _ex_un._ex_header.contaddrs
#define ex_hostuuid _ex_un._ex_addrentry.hostuuid
#define ex_addrs _ex_un._ex_addrentry.addrs
#define ex_uniquifier _ex_un._ex_addrentry.uniquifier
+#define ex_srvflags _ex_un._ex_addrentry.flags
#define VLog(level, str) ViceLog(level, str)
}
/* After reading it in, check to see if its a real continuation block */
- if (ntohl(rd_ex_addr[i]->ex_flags) != VLCONTBLOCK) {
+ if (ntohl(rd_ex_addr[i]->ex_hdrflags) != VLCONTBLOCK) {
extent_mod = 1;
rd_ex_addr[0]->ex_contaddrs[i] = 0;
free(rd_ex_addr[i]); /* Not the place to create it */
memset(ctx->ex_addr[base], 0, VL_ADDREXTBLK_SIZE);
/* Write the full extension block at end of vldb */
- ctx->ex_addr[base]->ex_flags = htonl(VLCONTBLOCK);
+ ctx->ex_addr[base]->ex_hdrflags = htonl(VLCONTBLOCK);
blockindex = ntohl(ctx->cheader->vital_header.eofPtr);
code =
vlwrite(ctx->trans, blockindex, (char *)ctx->ex_addr[base],