Lines Matching refs:rec
335 static int handle_page_data(struct xc_sr_context *ctx, struct xc_sr_record *rec) in handle_page_data() argument
338 struct xc_sr_rec_page_data_header *pages = rec->data; in handle_page_data()
370 if ( rec->length < sizeof(*pages) ) in handle_page_data()
373 rec->length, sizeof(*pages)); in handle_page_data()
383 if ( rec->length < sizeof(*pages) + (pages->count * sizeof(uint64_t)) ) in handle_page_data()
386 " pfns worth of information", rec->length, pages->count); in handle_page_data()
426 if ( rec->length != (sizeof(*pages) + in handle_page_data()
431 "%zu + %zu + %lu", rec->length, sizeof(*pages), in handle_page_data()
456 struct xc_sr_record rec = { in send_checkpoint_dirty_pfn_list() local
508 rec.length = count * sizeof(*pfns); in send_checkpoint_dirty_pfn_list()
510 iov[0].iov_base = &rec.type; in send_checkpoint_dirty_pfn_list()
511 iov[0].iov_len = sizeof(rec.type); in send_checkpoint_dirty_pfn_list()
513 iov[1].iov_base = &rec.length; in send_checkpoint_dirty_pfn_list()
514 iov[1].iov_len = sizeof(rec.length); in send_checkpoint_dirty_pfn_list()
532 static int process_record(struct xc_sr_context *ctx, struct xc_sr_record *rec);
632 static int buffer_record(struct xc_sr_context *ctx, struct xc_sr_record *rec) in buffer_record() argument
654 rec, sizeof(*rec)); in buffer_record()
685 static int process_record(struct xc_sr_context *ctx, struct xc_sr_record *rec) in process_record() argument
690 switch ( rec->type ) in process_record()
696 rc = handle_page_data(ctx, rec); in process_record()
713 rc = ctx->restore.ops.process_record(ctx, rec); in process_record()
717 free(rec->data); in process_record()
718 rec->data = NULL; in process_record()
798 struct xc_sr_record rec; in restore() local
809 rc = read_record(ctx, ctx->fd, &rec); in restore()
819 rec.type != REC_TYPE_END && in restore()
820 rec.type != REC_TYPE_CHECKPOINT ) in restore()
822 rc = buffer_record(ctx, &rec); in restore()
828 rc = process_record(ctx, &rec); in restore()
831 if ( rec.type & REC_TYPE_OPTIONAL ) in restore()
833 rec.type, rec_type_to_str(rec.type)); in restore()
837 rec.type, rec_type_to_str(rec.type)); in restore()
848 } while ( rec.type != REC_TYPE_END ); in restore()