From: Shiyong Li Date: Sat, 9 Dec 2017 01:37:20 +0000 (-0800) Subject: fs/exfat: fix every bio only has one block X-Git-Tag: MMI-QSB30.62-17~315 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=932c5d7875c2e338f97fd5d735ad6843d0e0fc6b;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git fs/exfat: fix every bio only has one block This patch fix the bug that exfat fs cannot write continuous blocks in one bio. This will cause every request submit in block layer only contains one block, cause write speed slower. Change-Id: Ia548a7d8051Defenderc1498d2d11d39e069bf683fdff Signed-off-by: haojl2 Signed-off-by: Shiyong Li Reviewed-on: https://gerrit.mot.com/1102183 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Igor Kovalenko Submit-Approved: Jira Key Reviewed-on: https://gerrit.mot.com/1276884 Reviewed-by: Hua Tan --- diff --git a/fs/exfat/exfat_super.c b/fs/exfat/exfat_super.c index da464a11474b..53e21a3db873 100644 --- a/fs/exfat/exfat_super.c +++ b/fs/exfat/exfat_super.c @@ -1630,8 +1630,8 @@ static int exfat_writepages(struct address_space *mapping, { if (exfat_readonly(mapping->host->i_sb)) return -EROFS; - /* get_block should be NULL to call ->writepage and catch end_io */ - return mpage_writepages(mapping, wbc, NULL); + + return mpage_writepages(mapping, wbc, exfat_get_block); } #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34)