countRequest(this_op);
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
VLog(25, ("OListEntry index=%d %s\n", previous_index,
rxinfo(rxstr, rxcall)));
*next_index = NextEntry(&ctx, previous_index, &tentry, count);
if (code) {
countAbort(this_op);
ubik_AbortTrans(ctx.trans);
- return code;
+ goto end;
}
}
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLListEntryEvent, code, AUD_LONG, previous_index, AUD_END);
+ return code;
}
/* ListEntry returns a single vldb entry, aentry, with offset previous_index;
countRequest(this_op);
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
VLog(25, ("ListEntry index=%d %s\n", previous_index, rxinfo(rxstr, rxcall)));
*next_index = NextEntry(&ctx, previous_index, &tentry, count);
if (*next_index) {
if (code) {
countAbort(this_op);
ubik_AbortTrans(ctx.trans);
- return code;
+ goto end;
}
}
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLListEntryEventN, code, AUD_LONG, previous_index, AUD_END);
+ return code;
}
vldbentries->bulkentries_val = 0;
vldbentries->bulkentries_len = *nentries = 0;
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
allocCount = VLDBALLOCCOUNT;
Vldbentry = VldbentryFirst = vldbentries->bulkentries_val =
malloc(allocCount * sizeof(vldbentry));
VLog(5,
("ListAttrs nentries=%d %s\n", vldbentries->bulkentries_len,
rxinfo(rxstr, rxcall)));
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLListAttributesEvent, code, AUD_END);
+ return code;
abort:
if (vldbentries->bulkentries_val)
countAbort(this_op);
ubik_AbortTrans(ctx.trans);
- return code;
+ goto end;
}
afs_int32
vldbentries->nbulkentries_val = 0;
vldbentries->nbulkentries_len = *nentries = 0;
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
allocCount = VLDBALLOCCOUNT;
Vldbentry = VldbentryFirst = vldbentries->nbulkentries_val =
malloc(allocCount * sizeof(nvldbentry));
VLog(5,
("NListAttrs nentries=%d %s\n", vldbentries->nbulkentries_len,
rxinfo(rxstr, rxcall)));
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLListAttributesNEvent, code, AUD_END);
+ return code;
abort:
countAbort(this_op);
free(vldbentries->nbulkentries_val);
vldbentries->nbulkentries_val = 0;
vldbentries->nbulkentries_len = 0;
- return code;
+ goto end;
}
code = Init_VLdbase(&ctx, LOCKREAD, this_op);
if (code)
- return code;
+ goto end;
Vldbentry = VldbentryFirst = vldbentries->nbulkentries_val =
malloc(maxCount * sizeof(nvldbentry));
if (Vldbentry == NULL) {
countAbort(this_op);
ubik_AbortTrans(ctx.trans);
- return VL_NOMEM;
+ code = VL_NOMEM;
+ goto end;
}
VldbentryLast = VldbentryFirst + maxCount;
vldbentries->nbulkentries_val = 0;
vldbentries->nbulkentries_len = 0;
*nextstartindex = -1;
- return code;
} else {
VLog(5,
("N2ListAttrs nentries=%d %s\n", vldbentries->nbulkentries_len,
rxinfo(rxstr, rxcall)));
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
}
+
+ end:
+ osi_auditU(rxcall, VLListAttributesN2Event, code, AUD_END);
+ return code;
}
countRequest(this_op);
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
*nentries = 0;
vldbentries->node = NULL;
}
}
*vllistptr = NULL;
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLLinkedListEvent, code, AUD_END);
+ return code;
abort:
countAbort(this_op);
ubik_AbortTrans(ctx.trans);
- return code;
+ goto end;
}
afs_int32
countRequest(this_op);
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
*nentries = 0;
vldbentries->node = NULL;
}
}
*vllistptr = NULL;
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLLinkedListNEvent, code, AUD_END);
+ return code;
abort:
countAbort(this_op);
ubik_AbortTrans(ctx.trans);
- return code;
+ goto end;
}
/* Get back vldb header statistics (allocs, frees, maxvolumeid,
countRequest(this_op);
#ifdef notdef
/* Allow users to get statistics freely */
- if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) /* Must be in 'UserList' to use */
- return VL_PERM;
+ if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) { /* Must be in 'UserList' to use */
+ code = VL_PERM;
+ goto end;
+ }
#endif
if ((code = Init_VLdbase(&ctx, LOCKREAD, this_op)))
- return code;
+ goto end;
VLog(5, ("GetStats %s\n", rxinfo(rxstr, rxcall)));
memcpy((char *)vital_header, (char *)&ctx.cheader->vital_header,
sizeof(vital_vlheader));
memcpy((char *)stats, (char *)&dynamic_statistics, sizeof(vldstats));
- return (ubik_EndTrans(ctx.trans));
+ code = ubik_EndTrans(ctx.trans);
+ end:
+ osi_auditU(rxcall, VLGetStatsEvent, code, AUD_END);
+ return code;
}
/* Get the list of file server addresses from the VLDB. Currently it's pretty