Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8df1fdf authored by Mike Snitzer's avatar Mike Snitzer
Browse files

dm error: add DAX support



Allow the error target to replace an existing DAX-enabled target.

Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent 84b22f83
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -922,7 +922,8 @@ static int dm_table_determine_type(struct dm_table *t)
	if (bio_based) {
		/* We must use this table as bio-based */
		t->type = DM_TYPE_BIO_BASED;
		if (dm_table_supports_dax(t))
		if (dm_table_supports_dax(t) ||
		    (list_empty(devices) && live_md_type == DM_TYPE_DAX_BIO_BASED))
			t->type = DM_TYPE_DAX_BIO_BASED;
		return 0;
	}
+8 −1
Original line number Diff line number Diff line
@@ -148,9 +148,15 @@ static void io_err_release_clone_rq(struct request *clone)
{
}

static long io_err_direct_access(struct dm_target *ti, sector_t sector,
				 void __pmem **kaddr, pfn_t *pfn, long size)
{
	return -EIO;
}

static struct target_type error_target = {
	.name = "error",
	.version = {1, 4, 0},
	.version = {1, 5, 0},
	.features = DM_TARGET_WILDCARD,
	.ctr  = io_err_ctr,
	.dtr  = io_err_dtr,
@@ -158,6 +164,7 @@ static struct target_type error_target = {
	.map_rq = io_err_map_rq,
	.clone_and_map_rq = io_err_clone_and_map_rq,
	.release_clone_rq = io_err_release_clone_rq,
	.direct_access = io_err_direct_access,
};

int __init dm_target_init(void)