Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2018-09-14 12:39:24 +0200
committerJan Kara <jack@suse.cz>2018-09-14 12:41:46 +0200
commitc0bf4383d323c55e485d1ee5853325f1e9f92da3 (patch)
tree623096ed26c14a3e7f009631428df8e72c96e466
parent95fd13c33e610e87bace6a215b16f6bf40a5999e (diff)
kABI placeholder for "dax: Introduce a ->copy_to_iter dax
operation" (bsc#1098782). suse-commit: 734ee0f76476b304f6e9555ec92b06377a9356bd
-rw-r--r--include/linux/dax.h3
-rw-r--r--include/linux/device-mapper.h5
2 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/dax.h b/include/linux/dax.h
index 1abbc3e1fbd1..ae2d680c03bf 100644
--- a/include/linux/dax.h
+++ b/include/linux/dax.h
@@ -19,6 +19,9 @@ struct dax_operations {
/* copy_from_iter: dax-driver override for default copy_from_iter */
size_t (*copy_from_iter)(struct dax_device *, pgoff_t, void *, size_t,
struct iov_iter *);
+ /* copy_to_iter: required operation for fs-dax direct-i/o */
+ size_t (*copy_to_iter)(struct dax_device *, pgoff_t, void *, size_t,
+ struct iov_iter *);
};
extern struct attribute_group dax_attribute_group;
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index d010aec164d5..4356b198fb55 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -132,7 +132,7 @@ typedef int (*dm_busy_fn) (struct dm_target *ti);
*/
typedef long (*dm_dax_direct_access_fn) (struct dm_target *ti, pgoff_t pgoff,
long nr_pages, void **kaddr, pfn_t *pfn);
-typedef size_t (*dm_dax_copy_from_iter_fn)(struct dm_target *ti, pgoff_t pgoff,
+typedef size_t (*dm_dax_copy_iter_fn)(struct dm_target *ti, pgoff_t pgoff,
void *addr, size_t bytes, struct iov_iter *i);
#define PAGE_SECTORS (PAGE_SIZE / 512)
@@ -183,7 +183,8 @@ struct target_type {
dm_iterate_devices_fn iterate_devices;
dm_io_hints_fn io_hints;
dm_dax_direct_access_fn direct_access;
- dm_dax_copy_from_iter_fn dax_copy_from_iter;
+ dm_dax_copy_iter_fn dax_copy_from_iter;
+ dm_dax_copy_iter_fn dax_copy_to_iter;
/* For internal device-mapper use. */
struct list_head list;