Lines Matching defs:cfs
116 struct mkuz_cfg cfs;
144 cfs.blksz = DEFAULT_CLSTSIZE;
146 cfs.verbose = 0;
147 cfs.no_zcomp = 0;
148 cfs.en_dedup = 0;
153 cfs.nworkers = ncpu;
183 cfs.blksz = tmp;
187 cfs.verbose = 1;
191 cfs.no_zcomp = 1;
195 cfs.en_dedup = 1;
214 cfs.nworkers = tmp;
230 cfs.handler = &uzip_fmts[comp_alg];
232 magiclen = strlcpy(hdr.magic, cfs.handler->magic, sizeof(hdr.magic));
235 if (cfs.en_dedup != 0) {
246 if (cfs.blksz % DEV_BSIZE != 0)
249 cfs.cbound_blksz = cfs.handler->f_compress_bound(cfs.blksz);
250 if (cfs.cbound_blksz > MAXPHYS)
252 cfs.cbound_blksz, (size_t)MAXPHYS);
254 cfs.handler->f_init(&comp_level);
255 cfs.comp_level = comp_level;
257 cfs.iname = argv[0];
259 asprintf(&oname, "%s%s", cfs.iname, cfs.handler->default_sufx);
273 cfs.fdr = open(cfs.iname, O_RDONLY);
274 if (cfs.fdr < 0) {
275 err(1, "open(%s)", cfs.iname);
278 cfs.isize = mkuz_get_insize(&cfs);
279 if (cfs.isize < 0) {
283 hdr.nblocks = cfs.isize / cfs.blksz;
284 if ((cfs.isize % cfs.blksz) != 0) {
285 if (cfs.verbose != 0)
287 "of %d, padding data\n", cfs.blksz);
300 cfs.fdw = open(oname, (cfs.en_dedup ? O_RDWR : O_WRONLY) | O_TRUNC | O_CREAT,
302 if (cfs.fdw < 0) {
316 lseek(cfs.fdw, offset, SEEK_SET);
318 if (cfs.verbose != 0) {
320 "%u, index length %zu bytes\n", cfs.isize,
324 cvp = mkuz_conveyor_ctor(&cfs);
329 iblk = readblock(cfs.fdr, cfs.blksz);
332 (i < (cfs.nworkers * ITEMS_PER_WORKER))) {
340 if (cfs.en_dedup != 0 && oblk->info.len > 0) {
341 chit = mkuz_blkcache_regblock(cfs.fdw, oblk);
357 if (oblk->info.len > 0 && write(cfs.fdw, oblk->data,
366 if (cfs.verbose != 0) {
368 "out len=%lu offset=%lu", io, cfs.blksz,
387 if (cfs.verbose != 0) {
397 close(cfs.fdr);
399 if (cfs.verbose != 0 || summary.en != 0) {
403 (long long)(cfs.isize - offset),
404 100.0 * (long long)(cfs.isize - offset) /
405 (float)cfs.isize, (float)cfs.isize / (et - st));
409 hdr.blksz = htonl(cfs.blksz);
412 lseek(cfs.fdw, 0, SEEK_SET);
413 if (writev(cfs.fdw, iov, 2) < 0) {
418 close(cfs.fdw);