diff --git a/src/include/libpmem2.h b/src/include/libpmem2.h
index 56f4280fbc4da680c2b24fee489a7479097a37aa..f20182e30c2a36562c4b0f5ddc7632d30b58323a 100644
--- a/src/include/libpmem2.h
+++ b/src/include/libpmem2.h
@@ -92,23 +92,23 @@ int pmem2_source_device_idU(const struct pmem2_source *src,
 
 int pmem2_source_device_usc(const struct pmem2_source *src, uint64_t *usc);
 
-struct pmem2_badblock_iterator;
+struct pmem2_badblock_context;
 
 struct pmem2_badblock {
 	size_t offset;
 	size_t length;
 };
 
-int pmem2_badblock_iterator_new(const struct pmem2_source *cfg,
-		struct pmem2_badblock_iterator **pbb);
+int pmem2_badblock_context_new(const struct pmem2_source *src,
+		struct pmem2_badblock_context **bbctx);
 
-int pmem2_badblock_next(struct pmem2_badblock_iterator *pbb,
+int pmem2_badblock_next(struct pmem2_badblock_context *bbctx,
 		struct pmem2_badblock *bb);
 
-void pmem2_badblock_iterator_delete(
-		struct pmem2_badblock_iterator **pbb);
+void pmem2_badblock_context_delete(
+		struct pmem2_badblock_context **bbctx);
 
-int pmem2_badblock_clear(const struct pmem2_source *cfg,
+int pmem2_badblock_clear(struct pmem2_badblock_context *bbctx,
 		const struct pmem2_badblock *bb);
 
 /* config setup */
diff --git a/src/libpmem2/libpmem2.def b/src/libpmem2/libpmem2.def
index 38086117a690616ca2a5dc65d9a61cb1bd167459..15561b902c22a99adeb662e274484f8806315c98 100644
--- a/src/libpmem2/libpmem2.def
+++ b/src/libpmem2/libpmem2.def
@@ -27,9 +27,9 @@ EXPORTS
 	pmem2_get_memmove_fn
 	pmem2_get_memcpy_fn
 	pmem2_get_memset_fn
-	pmem2_badblock_iterator_new
+	pmem2_badblock_context_new
 	pmem2_badblock_next
-	pmem2_badblock_iterator_delete
+	pmem2_badblock_context_delete
 	pmem2_badblock_clear
 	pmem2_source_from_fd
 	pmem2_source_from_anon
diff --git a/src/libpmem2/libpmem2.link.in b/src/libpmem2/libpmem2.link.in
index 547c30f163eaae8c7a547e0d26c42841b9bc6450..f9c267b38354637fefa776c20451396be69f7b62 100644
--- a/src/libpmem2/libpmem2.link.in
+++ b/src/libpmem2/libpmem2.link.in
@@ -26,9 +26,9 @@ LIBPMEM2_1.0 {
 		pmem2_get_memmove_fn;
 		pmem2_get_memcpy_fn;
 		pmem2_get_memset_fn;
-		pmem2_badblock_iterator_new;
+		pmem2_badblock_context_new;
 		pmem2_badblock_next;
-		pmem2_badblock_iterator_delete;
+		pmem2_badblock_context_delete;
 		pmem2_badblock_clear;
 		pmem2_source_from_fd;
 		pmem2_source_from_anon;
diff --git a/src/libpmem2/source.c b/src/libpmem2/source.c
index 55bc0493b87d6c89f598f4295c1c3c44d460cd93..fa4f115312c281fc2cc96d2ef8218deeb569f25d 100644
--- a/src/libpmem2/source.c
+++ b/src/libpmem2/source.c
@@ -23,26 +23,26 @@ pmem2_source_delete(struct pmem2_source **src)
 }
 
 int
-pmem2_badblock_iterator_new(const struct pmem2_source *src,
-	struct pmem2_badblock_iterator **pbb)
+pmem2_badblock_context_new(const struct pmem2_source *src,
+	struct pmem2_badblock_context **bbctx)
 {
 	return PMEM2_E_NOSUPP;
 }
 
 int
-pmem2_badblock_next(struct pmem2_badblock_iterator *pbb,
+pmem2_badblock_next(struct pmem2_badblock_context *bbctx,
 	struct pmem2_badblock *bb)
 {
 	return PMEM2_E_NOSUPP;
 }
 
-void pmem2_badblock_iterator_delete(
-	struct pmem2_badblock_iterator **pbb)
+void pmem2_badblock_context_delete(
+	struct pmem2_badblock_context **bbctx)
 {
 }
 
 int
-pmem2_badblock_clear(const struct pmem2_source *src,
+pmem2_badblock_clear(struct pmem2_badblock_context *bbctx,
 	const struct pmem2_badblock *bb)
 {
 	return PMEM2_E_NOSUPP;
diff --git a/src/test/scope/out13.log.match b/src/test/scope/out13.log.match
index f5d48d59c2bc1c56092274a4e74ba00ffabaf294..0b2af7f5101ad2a14baec2744a9fc749018d62ad 100644
--- a/src/test/scope/out13.log.match
+++ b/src/test/scope/out13.log.match
@@ -1,6 +1,6 @@
 pmem2_badblock_clear
-pmem2_badblock_iterator_delete
-pmem2_badblock_iterator_new
+pmem2_badblock_context_delete
+pmem2_badblock_context_new
 pmem2_badblock_next
 pmem2_config_clear_address
 pmem2_config_delete