linux/drivers/target
Roland Dreier d4b2b86719 target: Refactor MODE SENSE emulation
Convert spc_emulate_modesense() to use a table of mode pages, rather
than a switch statement.  This makes it possible to add more pages
sanely -- in particular we no longer need to make sure we keep the
0x3f (return all mode pages) case in sync.

While we're touching this code, make our MODE SENSE emulation a bit
better in a couple of ways:
 - When the initiator passes PC == 1 asking for changeable values,
   return all 0s to show we don't support setting anything.
 - Return a block descriptor for disk devices.

(nab: fix up device attribute references to use dev->dev_attrib
      in for-next code)

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-11-06 20:55:46 -08:00
..
iscsi iscsi-target: Use list_first_entry() where appropriate 2012-11-06 20:55:45 -08:00
loopback target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
sbp sbp-target: fix return value check in sbp_register_configfs() 2012-09-22 16:29:52 -07:00
tcm_fc tcm_fc: move the dereference below the NULL test 2012-09-17 18:04:09 -07:00
Kconfig sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
Makefile target: move code for CDB emulation 2012-07-16 17:27:45 -07:00
target_core_alua.c target: simplify alua support 2012-11-06 20:55:45 -08:00
target_core_alua.h target: simplify alua support 2012-11-06 20:55:45 -08:00
target_core_configfs.c target: simplify alua support 2012-11-06 20:55:45 -08:00
target_core_device.c target: remove ->get_device_rev 2012-11-06 20:55:45 -08:00
target_core_fabric_configfs.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_fabric_lib.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_file.c target: remove ->get_device_rev 2012-11-06 20:55:45 -08:00
target_core_file.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_hba.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_iblock.c target: remove ->get_device_rev 2012-11-06 20:55:45 -08:00
target_core_iblock.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_internal.h target: move REPORT LUNS emulation to target_core_spc.c 2012-11-06 20:55:44 -08:00
target_core_pr.c target: simplify reservations code 2012-11-06 20:55:45 -08:00
target_core_pr.h target: simplify reservations code 2012-11-06 20:55:45 -08:00
target_core_pscsi.c target: remove ->get_device_rev 2012-11-06 20:55:45 -08:00
target_core_pscsi.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_rd.c target: remove ->get_device_rev 2012-11-06 20:55:45 -08:00
target_core_rd.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_sbc.c target: remove ->get_device_rev 2012-11-06 20:55:45 -08:00
target_core_spc.c target: Refactor MODE SENSE emulation 2012-11-06 20:55:46 -08:00
target_core_stat.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_tmr.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_tpg.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_transport.c target: simplify alua support 2012-11-06 20:55:45 -08:00
target_core_ua.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_ua.h