Details
-
Bug
-
Resolution: Not a Bug
-
Major
-
None
-
None
-
3
-
9223372036854775807
Description
LU-8515 modified osc_makes_rpc to remove a check which sent RPCs once the total number of pages == max_pages_per_rpc. This fixed an issue with > 1 writer per stripe where smaller, fragmented RPCs would be sent instead of full size RPCs.
However, it introduced a different issue with small random writes, particularly when sparse. Because small random writes will (in the large file/sparse case) not make complete, contiguous extents, no RPCs will be sent until the max_dirty_mb or grant limit is hit.
This means that in the small-random-sparse write case not enough RPCs will be sent.
The solution is to add an additional check for greater than max_pages_per_rpc pages. Details in patch.