int main(int argc,char **argv) { int i; for(i=0;i<24;i++) hourly[i]=0; for(i=0;i<7;i++) weekly[i]=0; for(i=0;i<256;i++) nsrc[i]=i; time_cons[0]=0; time_cons[1]=0; useridx=ispidx=0; gtk_init(&argc,&argv); gdk_rgb_init(); load_log(); create_loglist(); update_list(); make_resume(); gtk_main(); g_list_free(users); g_list_free(isps); for(i=0;i<3;i++) gdk_pixmap_unref(iconmap[i]); free_log(); return 0; }
int main(int argc, char ** argv) { uint32_t blockno; if (argc != 3) { fprintf(stderr, "About: check linux_bd writes\n"); fprintf(stderr, "Usage: %s <linux_bd_writes> <disk_image>\n", argv[0]); exit(1); } load_log(argv[1]); compare_checksums(argv[2]); for (blockno = 0; blockno < MAXBLOCKNO; blockno++) { struct linux_bd_write * last_write = &writes.writes[blocks[blockno].last_write]; uint32_t index; int32_t blockwriteno = 0; int checksum_match = 0; int issue_mismatch = 0; if (!blocks[blockno].nwrites) continue; if (blocks[blockno].read_checksum == last_write->checksum) continue; printf("block %u differs. written %u times. %d writes inflight. checksums: 0x%x (kfstitchd), 0x%x (read).\n", blockno, blocks[blockno].nwrites, last_write->ninflight, last_write->checksum, blocks[blockno].read_checksum); printf("block %u previous write checksum matches: ", blockno); for (index = 0; index < MAXWRITES; index++) { struct linux_bd_write * write = &writes.writes[index]; if (write->blockno != blockno) continue; blockwriteno++; if (blocks[blockno].read_checksum == write->checksum) { checksum_match = 1; printf("%d ", blockwriteno); } if (blockwriteno == blocks[blockno].nwrites) break; } if (checksum_match) printf("of its %u writes", blocks[blockno].nwrites); else printf("none"); printf("\n"); printf("block %u issue->complete ordering differences: ", blockno); for (index = 0; index < writes.next; index++) if (writes.writes[index].blockno == blockno) if (index != writes.writes[index].completed) { issue_mismatch = 1; printf("%u->%u ", index, writes.writes[index].completed); } if (issue_mismatch) printf("of %u total writes", writes.next); else printf("none"); printf("\n"); } return 0; }