Changeset View
Changeset View
Standalone View
Standalone View
head/sbin/geom/misc/subr.c
Show First 20 Lines • Show All 296 Lines • ▼ Show 20 Lines | g_metadata_store(const char *name, const unsigned char *md, size_t size) | ||||
} | } | ||||
assert(sectorsize >= (ssize_t)size); | assert(sectorsize >= (ssize_t)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) != | ||||
sectorsize) { | sectorsize) { | ||||
error = errno; | error = errno; | ||||
goto out; | goto out; | ||||
} | } | ||||
(void)g_flush(fd); | (void)g_flush(fd); | ||||
out: | out: | ||||
if (sector != NULL) | if (sector != NULL) | ||||
▲ Show 20 Lines • Show All 224 Lines • Show Last 20 Lines |