On Sun, Jun 6, 2021 at 10:14 PM Mikulas Patocka <[email protected]> wrote:

> When comitting superblock, we need to write just one block, we don't need
> to write full page. Some architectures have pages larger than 4k and
> committing full page is needless overhead.
>
> Signed-off-by: Mikulas Patocka <[email protected]>
>
> Index: linux-2.6/drivers/md/dm-writecache.c
> ===================================================================
> --- linux-2.6.orig/drivers/md/dm-writecache.c
> +++ linux-2.6/drivers/md/dm-writecache.c
> @@ -532,11 +532,7 @@ static void ssd_commit_superblock(struct
>
>         region.bdev = wc->ssd_dev->bdev;
>         region.sector = 0;
> -       region.count = PAGE_SIZE >> SECTOR_SHIFT;
> -
> -       if (unlikely(region.sector + region.count > wc->metadata_sectors))
> -               region.count = wc->metadata_sectors - region.sector;
> -
> +       region.count = wc->block_size >> SECTOR_SHIFT;
>

You can use to_sector() here.


>         region.sector += wc->start_sector;
>
>         req.bi_op = REQ_OP_WRITE;
>
> --
> dm-devel mailing list
> [email protected]
> https://listman.redhat.com/mailman/listinfo/dm-devel
>
>
--
dm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to