Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
3
-
9223372036854775807
Description
Newer kernel will reward iov iter back to original
position for direct IO, see following codes:
iov_iter_revert(from, write_len -iov_iter_count(from));--------->here out: return written; } EXPORT_SYMBOL(generic_file_direct_write);
This break assumptions from Lustre and caused problem
when Lustre need split one IO to several io loop, considering
4M block IO for 1 MiB stripe file, it will submit first 1MiB IO
4 times and caused data corruptions finally.
Since generic kernel varies from different kernel versions,
we'd better fix this problem by move iov iter forward by
Lustre itself.
Attachments
Issue Links
- is related to
-
LU-13835 reuse same cl_dio_aio for one IO
-
- Resolved
-