From 0e8d4c71ab877e1498ab1f0f63be54430e24945a Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Thu, 27 Feb 2020 17:58:24 +0100 Subject: usb: gadget: fastboot: call discard_range for sparse files as well We can save some time by explicitly telling the block layer that a range is unused before overwriting it. This brought time my sample write from 445s to 376s. Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- drivers/usb/gadget/f_fastboot.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers') diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c index 35c4b8cf4c..96aecacc27 100644 --- a/drivers/usb/gadget/f_fastboot.c +++ b/drivers/usb/gadget/f_fastboot.c @@ -957,6 +957,8 @@ static int fastboot_handle_sparse(struct f_fastboot *f_fb, if (ret) goto out; } else { + discard_range(fd, retlen, pos); + pos = lseek(fd, pos, SEEK_SET); if (pos == -1) { ret = -errno; -- cgit v1.2.3