示例#1
0
void init_ait3_ssc(struct lu_phy_attr *lu)
{
	MHVTL_DBG(3, "+++ Trace mode pages at %p +++", &lu->mode_pg);

	ssc_pm.name = name_ait_3;
	ssc_pm.lu = lu;
	personality_module_register(&ssc_pm);

	/* Drive capabilities need to be defined before mode pages */
	ssc_pm.drive_supports_append_only_mode = FALSE;
	ssc_pm.drive_supports_early_warning = TRUE;
	ssc_pm.drive_supports_prog_early_warning = FALSE;

	init_ait_inquiry(lu);
	init_ait_mode_pages(lu);

	add_log_write_err_counter(lu);
	add_log_read_err_counter(lu);
	add_log_sequential_access(lu);
	add_log_temperature_page(lu);
	add_log_tape_alert(lu);
	add_log_tape_usage(lu);
	add_log_tape_capacity(lu);
	add_log_data_compression(lu);
	ssc_pm.native_drive_density = &density_ait3;
	add_density_support(&lu->den_list, &density_ait1, 0);
	add_density_support(&lu->den_list, &density_ait2, 1);
	add_density_support(&lu->den_list, &density_ait3, 1);
	add_drive_media_list(lu, LOAD_RO, "AIT1");
	add_drive_media_list(lu, LOAD_RO, "AIT1 Clean");
	add_drive_media_list(lu, LOAD_RW, "AIT2");
	add_drive_media_list(lu, LOAD_RO, "AIT2 Clean");
	add_drive_media_list(lu, LOAD_RW, "AIT3");
	add_drive_media_list(lu, LOAD_RO, "AIT3 Clean");
}
示例#2
0
void init_ait3_ssc(struct lu_phy_attr *lu)
{
	MHVTL_DBG(3, "+++ Trace mode pages at %p +++", sm);

	init_ait_inquiry(lu);
	ssc_pm.name = name_ait_3;
	ssc_pm.drive_native_density = medium_density_code_ait3;
	ssc_pm.media_capabilities = ait3_media_handling;
	personality_module_register(&ssc_pm);
	init_default_ssc_mode_pages(sm);	/* init default mode pages */
	lu->mode_pages = sm;
}
示例#3
0
void init_ait4_ssc(struct lu_phy_attr *lu)
{
	MHVTL_DBG(3, "+++ Trace mode pages at %p +++", sm);

	init_ait_inquiry(lu);
	ssc_pm.name = name_ait_4;
	ssc_pm.drive_native_density = medium_density_code_ait4;
	ssc_pm.media_capabilities = ait4_media_handling;
	ssc_pm.clear_WORM	= clear_ait_WORM,
	ssc_pm.set_WORM		= set_ait_WORM,
	personality_module_register(&ssc_pm);
	init_default_ssc_mode_pages(sm);	/* init default mode pages */
	init_ait4_mode_pages(lu, sm);	/* init AIT uniq mode pages */
	lu->mode_pages = sm;
	((struct priv_lu_ssc *)lu->lu_private)->capacity_unit = 1L << 10; /* Capacity units in KBytes */
	register_ops(lu, SECURITY_PROTOCOL_IN, ssc_spin);
	register_ops(lu, SECURITY_PROTOCOL_OUT, ssc_spout);
}
示例#4
0
void init_ait4_ssc(struct lu_phy_attr *lu)
{
	MHVTL_DBG(3, "+++ Trace mode pages at %p +++", &lu->mode_pg);

	ssc_pm.name = name_ait_4;
	ssc_pm.lu = lu;
	personality_module_register(&ssc_pm);

	/* Drive capabilities need to be defined before mode pages */
	ssc_pm.drive_supports_append_only_mode = FALSE;
	ssc_pm.drive_supports_early_warning = TRUE;
	ssc_pm.drive_supports_prog_early_warning = FALSE;

	init_ait_inquiry(lu);
	init_ait_mode_pages(lu);

	add_log_write_err_counter(lu);
	add_log_read_err_counter(lu);
	add_log_sequential_access(lu);
	add_log_temperature_page(lu);
	add_log_tape_alert(lu);
	add_log_tape_usage(lu);
	add_log_tape_capacity(lu);
	add_log_data_compression(lu);
	ssc_pm.native_drive_density = &density_ait4;
	ssc_pm.clear_WORM = clear_ait_WORM,
	ssc_pm.set_WORM	= set_ait_WORM,
	((struct priv_lu_ssc *)lu->lu_private)->capacity_unit = 1L << 10; /* Capacity units in KBytes */

	register_ops(lu, SECURITY_PROTOCOL_IN, ssc_spin);
	register_ops(lu, SECURITY_PROTOCOL_OUT, ssc_spout);

	add_density_support(&lu->den_list, &density_ait2, 0);
	add_density_support(&lu->den_list, &density_ait3, 1);
	add_density_support(&lu->den_list, &density_ait4, 1);
	add_drive_media_list(lu, LOAD_RO, "AIT2");
	add_drive_media_list(lu, LOAD_RO, "AIT2 Clean");
	add_drive_media_list(lu, LOAD_RW, "AIT3");
	add_drive_media_list(lu, LOAD_RO, "AIT3 Clean");
	add_drive_media_list(lu, LOAD_RW, "AIT4");
	add_drive_media_list(lu, LOAD_RO, "AIT4 Clean");
	add_drive_media_list(lu, LOAD_RW, "AIT4 WORM");
}