On Fri, Sep 01, 2017 at 05:59:07PM +0900, Naohiro Aota wrote: > __endio_write_update_ordered() repeats the search until it reaches the end > of the specified range. This works well with direct IO path, because before > the function is called, it's ensured that there are ordered extents filling > whole the range. It's not the case, however, when it's called from > run_delalloc_range(): it is possible to have error in the midle of the loop > in e.g. run_delalloc_nocow(), so that there exisits the range not covered > by any ordered extents. By cleaning such "uncomplete" range, > __endio_write_update_ordered() stucks at offset where there're no ordered > extents. > > Since the ordered extents are created from head to tail, we can stop the > search if there are no offset progress. >
Reviewed-by: Josef Bacik <jba...@fb.com> Thanks, Josef -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html