svn commit: r323315 - head/sbin/geom/class/virstor
Conrad Meyer
cem at FreeBSD.org
Fri Sep 8 15:38:04 UTC 2017
Author: cem
Date: Fri Sep 8 15:38:02 2017
New Revision: 323315
URL: https://svnweb.freebsd.org/changeset/base/323315
Log:
geom_virstor: Remove wholly unnecessary g_metadata_store copy
Just code cleanup. No functional change.
Sponsored by: Dell EMC Isilon
Modified:
head/sbin/geom/class/virstor/geom_virstor.c
Modified: head/sbin/geom/class/virstor/geom_virstor.c
==============================================================================
--- head/sbin/geom/class/virstor/geom_virstor.c Fri Sep 8 15:08:17 2017 (r323314)
+++ head/sbin/geom/class/virstor/geom_virstor.c Fri Sep 8 15:38:02 2017 (r323315)
@@ -140,62 +140,6 @@ virstor_main(struct gctl_req *req, unsigned flags)
*/
}
-static void
-pathgen(const char *name, char *path, size_t size)
-{
-
- if (strncmp(name, _PATH_DEV, sizeof(_PATH_DEV) - 1) != 0)
- snprintf(path, size, "%s%s", _PATH_DEV, name);
- else
- strlcpy(path, name, size);
-}
-
-static int
-my_g_metadata_store(const char *name, u_char *md, size_t size)
-{
- char path[MAXPATHLEN];
- unsigned sectorsize;
- off_t mediasize;
- u_char *sector;
- int error, fd;
-
- pathgen(name, path, sizeof(path));
- sector = NULL;
- error = 0;
-
- fd = open(path, O_RDWR);
- if (fd == -1)
- return (errno);
- mediasize = g_get_mediasize(name);
- if (mediasize == 0) {
- error = errno;
- goto out;
- }
- sectorsize = g_get_sectorsize(name);
- if (sectorsize == 0) {
- error = errno;
- goto out;
- }
- assert(sectorsize >= size);
- sector = malloc(sectorsize);
- if (sector == NULL) {
- error = ENOMEM;
- goto out;
- }
- bcopy(md, sector, size);
- bzero(sector + size, sectorsize - size);
- if (pwrite(fd, sector, sectorsize, mediasize - sectorsize) !=
- (ssize_t)sectorsize) {
- error = errno;
- goto out;
- }
-out:
- if (sector != NULL)
- free(sector);
- close(fd);
- return (error);
-}
-
/*
* Labels a new geom Meaning: parses and checks the parameters, calculates &
* writes metadata to the relevant providers so when the next round of
@@ -465,7 +409,7 @@ virstor_label(struct gctl_req *req)
err(1, "Cannot allocate sector of %zu bytes", ssize);
bzero(sect, ssize);
virstor_metadata_encode(&md, sect);
- error = my_g_metadata_store(name, sect, ssize);
+ error = g_metadata_store(name, sect, ssize);
free(sect);
if (error != 0) {
if (verbose)
More information about the svn-src-head
mailing list