return NULL;
}
-#ifdef LIBHUGETLBFS
#define HUGE_MIN 0x80000
+#ifdef LIBHUGETLBFS
void nvme_free(void *p, bool huge)
{
if (huge)
goto close_fw_fd;
}
- fw_buf = nvme_alloc(fw_size, &huge);
+ if (cfg.xfer == 0 || cfg.xfer % 4096)
+ cfg.xfer = 4096;
+
+ if (cfg.xfer < HUGE_MIN)
+ fw_buf = __nvme_alloc(fw_size, &huge);
+ else
+ fw_buf = nvme_alloc(fw_size, &huge);
+
if (!fw_buf) {
fprintf(stderr, "No memory for f/w size:%d\n", fw_size);
err = -ENOMEM;
}
buf = fw_buf;
- if (cfg.xfer == 0 || cfg.xfer % 4096)
- cfg.xfer = 4096;
if (read(fw_fd, fw_buf, fw_size) != ((ssize_t)(fw_size))) {
err = -errno;
fprintf(stderr, "read :%s :%s\n", cfg.fw, strerror(errno));