# Automatically generated by SCST Configurator v3.0.0-pre2.


HANDLER vdisk_fileio {
	DEVICE disk01 {
		filename /proc/cpuinfo
	}
}

TARGET_DRIVER ib_srpt {
	TARGET no_such_target {
		enabled 1
	}
}

TARGET_DRIVER scst_local {
	TARGET local1 {
		session_name local1_session

		LUN 0 disk01
		LUN 1 disk01

		GROUP initiator_group {
			LUN 0 disk01
			LUN 1 disk01 {
				read_only 1
			}
			LUN 2 disk01

			INITIATOR ini1

			INITIATOR ini2

			INITIATOR ini3
		}

		GROUP group_without_luns_with_attrs {

			addr_method FLAT
		}
	}
}

DEVICE_GROUP dg01 {
	DEVICE disk01

	TARGET_GROUP tg01a {
		group_id 1
		preferred 1
		state active

		TARGET tgt_a {
			rel_tgt_id 2
		}
	}

	TARGET_GROUP tg01b {
		group_id 2
		preferred 0
		state active

		TARGET tgt_b {
			rel_tgt_id 3
		}
	}
}

