Messages in this thread Patch in this message | | | Date | Wed, 21 Sep 2016 07:15:39 -0700 | From | Christoph Hellwig <> | Subject | Re: BUG: aio/direct-io data corruption in 4.7 |
| |
Hi Jonathan,
please keep linux-fsdevel on the Cc list for something like, and if you already track down a commit the author of that commit.
> Description: "fs: simplify the generic_write_sync prototype" > Committed: Apr 7, 2016 > Hash: e259221763a40403d5bb232209998e8c45804ab8 > Affects: 4.7-rc1 - master > > I have confirmed a fix for the AIO/Direct-IO failure condition but > have not reviewed the rest of the changes associated with that commit. > If you would like a small patch for direct-io.c, let me know.
On travel right now, but I suspect you want something like this fix?
diff --git a/fs/direct-io.c b/fs/direct-io.c index 7c3ce73..891f71f 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -276,7 +276,7 @@ static ssize_t dio_complete(struct dio *dio, ssize_t ret, bool is_async) dio->iocb->ki_pos += transferred; if (dio->op == REQ_OP_WRITE) - ret = generic_write_sync(dio->iocb, transferred); + ret = generic_write_sync(dio->iocb, ret); dio->iocb->ki_complete(dio->iocb, ret, 0); }
| |