fs/exfat: fix every bio only has one block
authorShiyong Li <a22381@motorola.com>
Sat, 9 Dec 2017 01:37:20 +0000 (17:37 -0800)
committerxiest1 <xiest1@lenovo.com>
Tue, 5 Nov 2019 09:30:26 +0000 (17:30 +0800)
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: Ia548a7d8051defc1498d2d11d39e069bf683fdff
Signed-off-by: haojl2 <haojl2@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102183
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1276884
Reviewed-by: Hua Tan <tanhua1@motorola.com>
fs/exfat/exfat_super.c

index da464a11474b7c72667354b61ffc87838cf8819f..53e21a3db873037a4d544265880dd53c8e42e6e4 100644 (file)
@@ -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)