Changeset View
Changeset View
Standalone View
Standalone View
head/sbin/geom/class/virstor/geom_virstor.c
Show First 20 Lines • Show All 177 Lines • ▼ Show 20 Lines | my_g_metadata_store(const char *name, u_char *md, size_t size) | ||||
} | } | ||||
assert(sectorsize >= size); | assert(sectorsize >= size); | ||||
sector = malloc(sectorsize); | sector = malloc(sectorsize); | ||||
if (sector == NULL) { | if (sector == NULL) { | ||||
error = ENOMEM; | error = ENOMEM; | ||||
goto out; | goto out; | ||||
} | } | ||||
bcopy(md, sector, size); | bcopy(md, sector, size); | ||||
bzero(sector + size, sectorsize - size); | |||||
if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) != | if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) != | ||||
(ssize_t)sectorsize) { | (ssize_t)sectorsize) { | ||||
error = errno; | error = errno; | ||||
goto out; | goto out; | ||||
} | } | ||||
out: | out: | ||||
if (sector != NULL) | if (sector != NULL) | ||||
free(sector); | free(sector); | ||||
▲ Show 20 Lines • Show All 390 Lines • Show Last 20 Lines |