On Tue, Jan 09, 2018 at 02:52:57PM -0800, harshads wrote: > This patch fixes a race between the shutdown path and bio completion > handling. In the ext4 direct io path with async io, after submitting a > bio to the block layer, if journal starting fails, > ext4_direct_IO_write() would bail out pretending that the IO > failed. The caller would have had no way of knowing whether or not the > IO was successfully submitted. So instead, we return -EIOCBQUEUED in > this case. Now, the caller knows that the IO was submitted. The bio > completion handler takes care of the error. > > Tested: Ran the shutdown xfstest test 461 in loop for over 2 hours across > 4 machines resulting in over 400 runs. Verified that the race didn't > occur. Usually the race was seen in about 20-30 iterations. > > Signed-off-by: Harshad Shirwadkar <harshads@xxxxxxxxxx> Thanks, applied. - Ted