@@ -8197,7 +8197,13 @@ static inline blk_status_t btrfs_submit_dio_bio(struct bio *bio,
bool write = btrfs_op(bio) == BTRFS_MAP_WRITE;
blk_status_t ret;
- /* Check btrfs_submit_bio_hook() for rules about async submit. */
+ /*
+ * Check btrfs_submit_data_bio() for rules about async submit.
+ *
+ * The only exception is for RAID56, when there are more than one bios
+ * to submit, async submit seems to make it harder to collect csums
+ * for the full stripe.
+ */
if (async_submit)
async_submit = !atomic_read(&BTRFS_I(inode)->sync_writers);
This function is renamed to btrfs_submit_data_bio(), update the comment and add extra reason why it doesn't completely follow the same rule in btrfs_submit_data_bio(). Signed-off-by: Qu Wenruo <wqu@suse.com> --- fs/btrfs/inode.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)