+ ret = bt_component_set_destroy_cb(source, ctf_fs_destroy);
+ if (ret != BT_COMPONENT_STATUS_OK) {
+ goto error;
+ }
+
+ ret = bt_component_set_private_data(source, ctf_fs);
+ if (ret != BT_COMPONENT_STATUS_OK) {
+ goto error;
+ }
+
+ ret = bt_component_source_set_iterator_init_cb(source,
+ ctf_fs_iterator_init);
+ if (ret != BT_COMPONENT_STATUS_OK) {
+ goto error;
+ }
+end:
+ return ret;
+error:
+ (void) bt_component_set_private_data(source, NULL);
+ ctf_fs_destroy(ctf_fs);
+ return ret;
+}