MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kerneldumpcomp_create

Function kerneldumpcomp_create

freebsd/kern/kern_shutdown.c:1126–1153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1124#endif /* EKCD */
1125
1126static struct kerneldumpcomp *
1127kerneldumpcomp_create(struct dumperinfo *di, uint8_t compression)
1128{
1129 struct kerneldumpcomp *kdcomp;
1130 int format;
1131
1132 switch (compression) {
1133 case KERNELDUMP_COMP_GZIP:
1134 format = COMPRESS_GZIP;
1135 break;
1136 case KERNELDUMP_COMP_ZSTD:
1137 format = COMPRESS_ZSTD;
1138 break;
1139 default:
1140 return (NULL);
1141 }
1142
1143 kdcomp = malloc(sizeof(*kdcomp), M_DUMPER, M_WAITOK | M_ZERO);
1144 kdcomp->kdc_format = compression;
1145 kdcomp->kdc_stream = compressor_init(kerneldumpcomp_write_cb,
1146 format, di->maxiosize, kerneldump_gzlevel, di);
1147 if (kdcomp->kdc_stream == NULL) {
1148 free(kdcomp, M_DUMPER);
1149 return (NULL);
1150 }
1151 kdcomp->kdc_buf = malloc(di->maxiosize, M_DUMPER, M_WAITOK | M_NODUMP);
1152 return (kdcomp);
1153}
1154
1155static void
1156kerneldumpcomp_destroy(struct dumperinfo *di)

Callers 1

dumper_insertFunction · 0.85

Calls 3

mallocFunction · 0.85
compressor_initFunction · 0.85
freeFunction · 0.70

Tested by

no test coverage detected