Lines Matching refs:md
151 struct g_virstor_metadata md; in virstor_label() local
179 bzero(&md, sizeof(md)); in virstor_label()
180 strlcpy(md.md_magic, G_VIRSTOR_MAGIC, sizeof(md.md_magic)); in virstor_label()
181 md.md_version = G_VIRSTOR_VERSION; in virstor_label()
187 strlcpy(md.md_name, name, sizeof(md.md_name)); in virstor_label()
189 md.md_virsize = (off_t)gctl_get_intmax(req, "vir_size"); in virstor_label()
190 md.md_chunk_size = gctl_get_intmax(req, "chunk_size"); in virstor_label()
191 md.md_count = nargs - 1; in virstor_label()
193 if (md.md_virsize == 0 || md.md_chunk_size == 0) { in virstor_label()
221 if (md.md_chunk_size % secsize != 0) { in virstor_label()
222 size_t new_size = roundup(md.md_chunk_size, secsize); in virstor_label()
226 md.md_chunk_size = new_size; in virstor_label()
229 if (md.md_virsize % md.md_chunk_size != 0) { in virstor_label()
230 off_t chunk_count = md.md_virsize / md.md_chunk_size; in virstor_label()
231 md.md_virsize = chunk_count * md.md_chunk_size; in virstor_label()
235 (size_t)(md.md_virsize / (1024 * 1024))); in virstor_label()
238 total_chunks = md.md_virsize / md.md_chunk_size; in virstor_label()
240 assert(md.md_virsize % md.md_chunk_size == 0); in virstor_label()
246 md.md_virsize = (off_t)total_chunks * (off_t)md.md_chunk_size; in virstor_label()
251 (uintmax_t)(md.md_virsize / (1024 * 1024)), add_chunks); in virstor_label()
257 total_chunks, (size_t)(md.md_chunk_size / (1024 * 1024)), in virstor_label()
258 md.md_virsize/(1024 * 1024)); in virstor_label()
260 if ((off_t)md.md_virsize < msize) in virstor_label()
262 "available storage (%ju < %ju)\n", md.md_virsize, msize); in virstor_label()
282 if (msize < (off_t) MAX(md.md_chunk_size*4, map_size)) in virstor_label()
301 map_chunks = map_size/md.md_chunk_size; in virstor_label()
302 if (map_size % md.md_chunk_size != 0) in virstor_label()
374 md.md_id = arc4random(); in virstor_label()
388 md.no = i - 1; in virstor_label()
390 md.provsize = msize; in virstor_label()
392 md.chunk_count = md.provsize / md.md_chunk_size; in virstor_label()
394 printf("(%u chunks) ", md.chunk_count); in virstor_label()
396 if ((off_t)(md.chunk_count * md.md_chunk_size) > (off_t)(msize-ssize)) in virstor_label()
397 md.chunk_count--; in virstor_label()
398 md.chunk_next = 0; in virstor_label()
400 md.chunk_reserved = 0; in virstor_label()
401 md.flags = 0; in virstor_label()
403 md.chunk_reserved = map_chunks * 2; in virstor_label()
404 md.flags = VIRSTOR_PROVIDER_ALLOCATED | in virstor_label()
406 md.chunk_next = md.chunk_reserved; in virstor_label()
408 printf("(%u reserved) ", md.chunk_reserved); in virstor_label()
412 bzero(md.provider, sizeof(md.provider)); in virstor_label()
416 strlcpy(md.provider, name + sizeof(_PATH_DEV) - 1, in virstor_label()
417 sizeof(md.provider)); in virstor_label()
419 strlcpy(md.provider, name, sizeof(md.provider)); in virstor_label()
424 virstor_metadata_encode(&md, sect); in virstor_label()
488 virstor_metadata_dump(const struct g_virstor_metadata *md) in virstor_metadata_dump() argument
490 printf(" Magic string: %s\n", md->md_magic); in virstor_metadata_dump()
491 printf(" Metadata version: %u\n", (u_int) md->md_version); in virstor_metadata_dump()
492 printf(" Device name: %s\n", md->md_name); in virstor_metadata_dump()
493 printf(" Device ID: %u\n", (u_int) md->md_id); in virstor_metadata_dump()
494 printf(" Provider index: %u\n", (u_int) md->no); in virstor_metadata_dump()
495 printf(" Active providers: %u\n", (u_int) md->md_count); in virstor_metadata_dump()
497 md->provider[0] != '\0' ? md->provider : "(not hardcoded)"); in virstor_metadata_dump()
499 (unsigned int)(md->md_virsize/(1024 * 1024))); in virstor_metadata_dump()
500 printf(" Chunk size: %u kB\n", md->md_chunk_size / 1024); in virstor_metadata_dump()
501 printf(" Chunks on provider: %u\n", md->chunk_count); in virstor_metadata_dump()
502 printf(" Chunks free: %u\n", md->chunk_count - md->chunk_next); in virstor_metadata_dump()
503 printf(" Reserved chunks: %u\n", md->chunk_reserved); in virstor_metadata_dump()
510 struct g_virstor_metadata md; in virstor_dump() local
516 assert(sizeof(tmpmd) >= sizeof(md)); in virstor_dump()
536 virstor_metadata_decode((u_char *) & tmpmd, &md); in virstor_dump()
538 virstor_metadata_dump(&md); in virstor_dump()