summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
3c9b60c)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
memset(ld, 0, sizeof(*ld));
if (io_queue_init(td->iodepth, &ld->aio_ctx)) {
td_verror(td, errno);
memset(ld, 0, sizeof(*ld));
if (io_queue_init(td->iodepth, &ld->aio_ctx)) {
td_verror(td, errno);
{
struct posixaio_data *pd = malloc(sizeof(*pd));
{
struct posixaio_data *pd = malloc(sizeof(*pd));
+ memset(pd, 0, sizeof(*pd));
pd->aio_events = malloc(td->iodepth * sizeof(struct io_u *));
pd->aio_events = malloc(td->iodepth * sizeof(struct io_u *));
+ memset(pd->aio_events, 0, td->iodepth * sizeof(struct io_u *));
td->io_ops->data = pd;
return 0;
td->io_ops->data = pd;
return 0;
int ret;
sd = malloc(sizeof(*sd));
int ret;
sd = malloc(sizeof(*sd));
+ memset(sd, 0, sizeof(*sd));
sd->cmds = malloc(td->iodepth * sizeof(struct sgio_cmd));
sd->cmds = malloc(td->iodepth * sizeof(struct sgio_cmd));
+ memset(sd->cmds, 0, td->iodepth * sizeof(struct sgio_cmd));
sd->events = malloc(td->iodepth * sizeof(struct io_u *));
sd->events = malloc(td->iodepth * sizeof(struct io_u *));
+ memset(sd->events, 0, td->iodepth * sizeof(struct io_u *));
td->io_ops->data = sd;
if (td->filetype == FIO_TYPE_BD) {
if (ioctl(f->fd, BLKSSZGET, &bs) < 0) {
td_verror(td, errno);
td->io_ops->data = sd;
if (td->filetype == FIO_TYPE_BD) {
if (ioctl(f->fd, BLKSSZGET, &bs) < 0) {
td_verror(td, errno);
}
} else if (td->filetype == FIO_TYPE_CHAR) {
int version;
if (ioctl(f->fd, SG_GET_VERSION_NUM, &version) < 0) {
td_verror(td, errno);
}
} else if (td->filetype == FIO_TYPE_CHAR) {
int version;
if (ioctl(f->fd, SG_GET_VERSION_NUM, &version) < 0) {
td_verror(td, errno);
}
ret = fio_sgio_get_bs(td, &bs);
if (ret)
}
ret = fio_sgio_get_bs(td, &bs);
if (ret)
} else {
log_err("ioengine sgio only works on block devices\n");
} else {
log_err("ioengine sgio only works on block devices\n");
*/
td->override_sync = 1;
return 0;
*/
td->override_sync = 1;
return 0;
+err:
+ free(sd->events);
+ free(sd->cmds);
+ free(sd);
+ return 1;
}
struct ioengine_ops ioengine = {
}
struct ioengine_ops ioengine = {