X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=engines%2Fe4defrag.c;h=4b444888aa9bb51c5a660aee67f385dd6f20c021;hb=0cf542af81751d7b318afe4429001c1aab6baee5;hp=e53636eb26e382b3e318abef48bd3b211d2695f1;hpb=a89ba4b12939c802875a3548a5de3eb64ce86a0a;p=fio.git diff --git a/engines/e4defrag.c b/engines/e4defrag.c index e53636eb..4b444888 100644 --- a/engines/e4defrag.c +++ b/engines/e4defrag.c @@ -95,7 +95,7 @@ static int fio_e4defrag_init(struct thread_data *td) ed->donor_fd = open(donor_name, O_CREAT|O_WRONLY, 0644); if (ed->donor_fd < 0) { td_verror(td, errno, "io_queue_init"); - log_err("Can't open donor file %s err:%d", donor_name, ed->donor_fd); + log_err("Can't open donor file %s err:%d\n", donor_name, ed->donor_fd); free(ed); return 1; } @@ -172,8 +172,13 @@ static int fio_e4defrag_queue(struct thread_data *td, struct io_u *io_u) len = io_u->xfer_buflen; if (len != io_u->xfer_buflen) { - io_u->resid = io_u->xfer_buflen - len; - io_u->error = 0; + if (len) { + io_u->resid = io_u->xfer_buflen - len; + io_u->error = 0; + } else { + /* access beyond i_size */ + io_u->error = EINVAL; + } } if (ret) io_u->error = errno;