2022-04-08 03:43:02

by [email protected]

[permalink] [raw]
Subject: [PATCH v3 1/2] block: add sync_blockdev_range()

sync_blockdev_range() is to support syncing multiple sectors
with as few block device requests as possible, it is helpful
to make the block device to give full play to its performance.

Signed-off-by: Yuezhang Mo <[email protected]>
Suggested-by: Christoph Hellwig <[email protected]>
Reviewed-by: Andy Wu <[email protected]>
Reviewed-by: Aoyama Wataru <[email protected]>
cc: Jens Axboe <[email protected]>
---
block/bdev.c | 7 +++++++
include/linux/blkdev.h | 1 +
2 files changed, 8 insertions(+)

diff --git a/block/bdev.c b/block/bdev.c
index 13de871fa816..8b549b071bd6 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -200,6 +200,13 @@ int sync_blockdev(struct block_device *bdev)
}
EXPORT_SYMBOL(sync_blockdev);

+int sync_blockdev_range(struct block_device *bdev, loff_t lstart, loff_t lend)
+{
+ return filemap_write_and_wait_range(bdev->bd_inode->i_mapping,
+ lstart, lend);
+}
+EXPORT_SYMBOL(sync_blockdev_range);
+
/*
* Write out and wait upon all dirty data associated with this
* device. Filesystem data as well as the underlying block
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 60d016138997..331cc6918ee9 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1547,6 +1547,7 @@ int truncate_bdev_range(struct block_device *bdev, fmode_t mode, loff_t lstart,
#ifdef CONFIG_BLOCK
void invalidate_bdev(struct block_device *bdev);
int sync_blockdev(struct block_device *bdev);
+int sync_blockdev_range(struct block_device *bdev, loff_t lstart, loff_t lend);
int sync_blockdev_nowait(struct block_device *bdev);
void sync_bdevs(bool wait);
void printk_all_partitions(void);
--
2.25.1


Attachments:
v3-0001-block-add-sync_blockdev_range.patch (1.63 kB)
v3-0001-block-add-sync_blockdev_range.patch

2022-04-08 05:42:35

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] block: add sync_blockdev_range()

Looks good:

Reviewed-by: Christoph Hellwig <[email protected]>

2022-04-11 09:13:42

by Namjae Jeon

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] block: add sync_blockdev_range()

2022-04-08 14:09 GMT+09:00, Christoph Hellwig <[email protected]>:
> Looks good:
>
> Reviewed-by: Christoph Hellwig <[email protected]>
Thanks for your review!

Hi Jens,

Can I apply this patch with your Ack to exfat #dev ?

Thanks!

>

2022-04-12 12:21:09

by Namjae Jeon

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] block: add sync_blockdev_range()

2022-04-12 10:12 GMT+09:00, Jens Axboe <[email protected]>:
> On 4/10/22 8:08 PM, Namjae Jeon wrote:
>> 2022-04-08 14:09 GMT+09:00, Christoph Hellwig <[email protected]>:
>>> Looks good:
>>>
>>> Reviewed-by: Christoph Hellwig <[email protected]>
>> Thanks for your review!
>>
>> Hi Jens,
>>
>> Can I apply this patch with your Ack to exfat #dev ?
>
> Yes go ahead:
>
> Reviewed-by: Jens Axboe <[email protected]>
Applied, Thanks for your review!

>
> --
> Jens Axboe
>
>

2022-04-12 21:57:40

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] block: add sync_blockdev_range()

On 4/10/22 8:08 PM, Namjae Jeon wrote:
> 2022-04-08 14:09 GMT+09:00, Christoph Hellwig <[email protected]>:
>> Looks good:
>>
>> Reviewed-by: Christoph Hellwig <[email protected]>
> Thanks for your review!
>
> Hi Jens,
>
> Can I apply this patch with your Ack to exfat #dev ?

Yes go ahead:

Reviewed-by: Jens Axboe <[email protected]>

--
Jens Axboe