projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
t/zbd: Align block size to zone capacity
[fio.git]
/
engines
/
splice.c
diff --git
a/engines/splice.c
b/engines/splice.c
index f35ae17bc574b7af5928e4c73e6e76f8a744b230..6fc36bb6f154ef6cd439dd4bd653fe71ffdfd3c0 100644
(file)
--- a/
engines/splice.c
+++ b/
engines/splice.c
@@
-9,8
+9,7
@@
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
-#include <assert.h>
-#include <sys/poll.h>
+#include <poll.h>
#include <sys/mman.h>
#include "../fio.h"
#include <sys/mman.h>
#include "../fio.h"
@@
-28,11
+27,11
@@
struct spliceio_data {
*/
static int fio_splice_read_old(struct thread_data *td, struct io_u *io_u)
{
*/
static int fio_splice_read_old(struct thread_data *td, struct io_u *io_u)
{
- struct spliceio_data *sd = td->io_ops
->
data;
+ struct spliceio_data *sd = td->io_ops
_
data;
struct fio_file *f = io_u->file;
int ret, ret2, buflen;
off_t offset;
struct fio_file *f = io_u->file;
int ret, ret2, buflen;
off_t offset;
-
void
*p;
+
char
*p;
offset = io_u->offset;
buflen = io_u->xfer_buflen;
offset = io_u->offset;
buflen = io_u->xfer_buflen;
@@
-72,12
+71,13
@@
static int fio_splice_read_old(struct thread_data *td, struct io_u *io_u)
*/
static int fio_splice_read(struct thread_data *td, struct io_u *io_u)
{
*/
static int fio_splice_read(struct thread_data *td, struct io_u *io_u)
{
- struct spliceio_data *sd = td->io_ops
->
data;
+ struct spliceio_data *sd = td->io_ops
_
data;
struct fio_file *f = io_u->file;
struct iovec iov;
int ret , buflen, mmap_len;
off_t offset;
struct fio_file *f = io_u->file;
struct iovec iov;
int ret , buflen, mmap_len;
off_t offset;
- void *p, *map;
+ void *map;
+ char *p;
ret = 0;
offset = io_u->offset;
ret = 0;
offset = io_u->offset;
@@
-166,7
+166,7
@@
static int fio_splice_read(struct thread_data *td, struct io_u *io_u)
*/
static int fio_splice_write(struct thread_data *td, struct io_u *io_u)
{
*/
static int fio_splice_write(struct thread_data *td, struct io_u *io_u)
{
- struct spliceio_data *sd = td->io_ops
->
data;
+ struct spliceio_data *sd = td->io_ops
_
data;
struct iovec iov = {
.iov_base = io_u->xfer_buf,
.iov_len = io_u->xfer_buflen,
struct iovec iov = {
.iov_base = io_u->xfer_buf,
.iov_len = io_u->xfer_buflen,
@@
-199,9
+199,10
@@
static int fio_splice_write(struct thread_data *td, struct io_u *io_u)
return io_u->xfer_buflen;
}
return io_u->xfer_buflen;
}
-static int fio_spliceio_queue(struct thread_data *td, struct io_u *io_u)
+static enum fio_q_status fio_spliceio_queue(struct thread_data *td,
+ struct io_u *io_u)
{
{
- struct spliceio_data *sd = td->io_ops
->
data;
+ struct spliceio_data *sd = td->io_ops
_
data;
int ret = 0;
fio_ro_check(td, io_u);
int ret = 0;
fio_ro_check(td, io_u);
@@
-247,7
+248,7
@@
static int fio_spliceio_queue(struct thread_data *td, struct io_u *io_u)
static void fio_spliceio_cleanup(struct thread_data *td)
{
static void fio_spliceio_cleanup(struct thread_data *td)
{
- struct spliceio_data *sd = td->io_ops
->
data;
+ struct spliceio_data *sd = td->io_ops
_
data;
if (sd) {
close(sd->pipe[0]);
if (sd) {
close(sd->pipe[0]);
@@
-277,14
+278,7
@@
static int fio_spliceio_init(struct thread_data *td)
*/
sd->vmsplice_to_user_map = 1;
*/
sd->vmsplice_to_user_map = 1;
- /*
- * And if vmsplice_to_user works, we definitely need aligned
- * buffers. Just set ->odirect to force that.
- */
- if (td_read(td))
- td->o.mem_align = 1;
-
- td->io_ops->data = sd;
+ td->io_ops_data = sd;
return 0;
}
return 0;
}