Description of problem: Currently, it's possible for a write to occur while a read-ahead is in progress, and nothing is done to interrupt or cancel that read-ahead. As a result, a user read which is fully subsequent to that write (even if it's O_SYNC) could still get the read-ahead data which is now stale. How reproducible: It's a race, found by inspection, so it's probably pretty hard to hit (hasn't been observed in practice except by stopping things in a debugger). It might be possible to construct a log-tailing test case, as that would leave one process reading just behind where another was writing on the same client. Meanwhile, since read-ahead is just a performance optimization, it should be safe to disable it when the risk can be anticipated.
CHANGE: http://review.gluster.com/2666 (Fix race between read-ahead and write.) merged in master by Anand Avati (avati)
This bug was filed as part of the review and was not able to reproduce it. So moving this to verified.