return NULL;
st = malloc(sizeof(*st));
+ memset(st, 0, sizeof(*st));
st->ss = &super_ddf;
st->max_devs = 512;
st->minor_version = 0;
return NULL;
st = malloc(sizeof(*st));
+ memset(st, 0, sizeof(*st));
st->ss = &super_ddf_bvd;
st->max_devs = 512;
st->minor_version = 0;
return NULL;
st = malloc(sizeof(*st));
+ memset(st, 0, sizeof(*st));
st->ss = &super_ddf_svd;
st->max_devs = 512;
st->minor_version = 0;
* Remaining 16 are serial number.... maybe a hostname would do?
*/
memcpy(ddf->controller.guid, T10, sizeof(T10));
- gethostname(hostname, 17);
- hostname[17] = 0;
+ gethostname(hostname, sizeof(hostname));
+ hostname[sizeof(hostname) - 1] = 0;
hostlen = strlen(hostname);
memcpy(ddf->controller.guid + 24 - hostlen, hostname, hostlen);
for (i = strlen(T10) ; i+hostlen < 24; i++)
dev, freesize);
}
close(cfd);
- }
- fprintf(stderr, Name ": Cannot use %s: Already in use\n",
- dev);
+ } else /* device may belong to a different container */
+ return 0;
+
return 1;
}
}
close(fd);
- *freesize = avail_size_ddf(st, ldsize);
+ *freesize = avail_size_ddf(st, ldsize >> 9);
return 1;
}
* Create a metadata_update record to update the
* phys_refnum and lba_offset values
*/
- mu = malloc(sizeof(*mu) + ddf->conf_rec_len * 512);
- mu->buf = (char*)(mu+1);
+ mu = malloc(sizeof(*mu));
+ mu->buf = malloc(ddf->conf_rec_len * 512);
mu->space = malloc(sizeof(struct vcl));
mu->len = ddf->conf_rec_len;
mu->next = *updates;