Skip to content

Commit 79fa974

Browse files
rhvgoyaldjbw
authored andcommitted
s390,dcssblk,dax: Add dax zero_page_range operation to dcssblk driver
Add dax operation zero_page_range for dcssblk driver. Suggested-by: Christoph Hellwig <[email protected]> Signed-off-by: Vivek Goyal <[email protected]> Reviewed-by: Gerald Schaefer <[email protected]> CC: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dan Williams <[email protected]>
1 parent f605a26 commit 79fa974

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

drivers/s390/block/dcssblk.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,26 @@ static size_t dcssblk_dax_copy_to_iter(struct dax_device *dax_dev,
5757
return copy_to_iter(addr, bytes, i);
5858
}
5959

60+
static int dcssblk_dax_zero_page_range(struct dax_device *dax_dev,
61+
pgoff_t pgoff, size_t nr_pages)
62+
{
63+
long rc;
64+
void *kaddr;
65+
66+
rc = dax_direct_access(dax_dev, pgoff, nr_pages, &kaddr, NULL);
67+
if (rc < 0)
68+
return rc;
69+
memset(kaddr, 0, nr_pages << PAGE_SHIFT);
70+
dax_flush(dax_dev, kaddr, nr_pages << PAGE_SHIFT);
71+
return 0;
72+
}
73+
6074
static const struct dax_operations dcssblk_dax_ops = {
6175
.direct_access = dcssblk_dax_direct_access,
6276
.dax_supported = generic_fsdax_supported,
6377
.copy_from_iter = dcssblk_dax_copy_from_iter,
6478
.copy_to_iter = dcssblk_dax_copy_to_iter,
79+
.zero_page_range = dcssblk_dax_zero_page_range,
6580
};
6681

6782
struct dcssblk_dev_info {

0 commit comments

Comments
 (0)