# Automatically generated by SCST Configurator v...


HANDLER vdisk_fileio {
	DEVICE disk0 {
		filename /dev/scstadmin-regression-test-vdisk
		read_only 1
	}

	DEVICE disk1 {
		filename /dev/scstadmin-regression-test-vdisk
		nv_cache 1
	}
}

HANDLER vdisk_nullio {
	DEVICE nodev {
		dummy 1
	}
}

TARGET_DRIVER scst_local {
	TARGET local {
		LUN 0 nodev

		GROUP ig {
			LUN 0 disk0 {
				read_only 1
			}
			LUN 1 disk1

			INITIATOR ini1

			INITIATOR ini2
		}
	}
}

DEVICE_GROUP dgroup1 {
	TARGET_GROUP tgroup1 {
		group_id 256
		state active

		TARGET local
	}

	TARGET_GROUP tgroup2 {
		group_id 257
		state active

		TARGET remote {
			rel_tgt_id 11
		}
	}
}

DEVICE_GROUP dgroup2 {
	TARGET_GROUP tgroup1 {
		group_id 258
		state active

		TARGET local
	}

	TARGET_GROUP tgroup2 {
		group_id 259
		state active

		TARGET remote {
			rel_tgt_id 12
		}
	}
}

