]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
target: Add/check max_write_same_len device attribute + update block limits VPD
authorNicholas Bellinger <nab@linux-iscsi.org>
Thu, 15 Nov 2012 19:02:49 +0000 (11:02 -0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Thu, 15 Nov 2012 20:27:21 +0000 (12:27 -0800)
commit773cbaf7460aa58c67d4dca83c3f8bca10323bbe
tree91e6015ade8d62c34c64861f1f3810b3c15a6a25
parentcd063bef414c51d79b9c6ea7a8ef8f9d319529bc
target: Add/check max_write_same_len device attribute + update block limits VPD

This patch adds a new max_write_same_len device attribute for use with
WRITE_SAME w/ UNMAP=0 backend emulation.  This can be useful for
lowering the default backend value (IBLOCK uses 0xFFFF).

Also, update block limits VPD emulation code in spc_emulate_evpd_b0() to
report MAXIMUM WRITE SAME LENGTH, and enforce max_write_same_len during
sbc_parse() -> sbc_setup_write_same() CDB sanity checking for all emulated
WRITE_SAME w/ UNMAP=0 cases.

(Robert: Move max_write_same_len check in sbc_setup_write_same() to
         check both WRITE_SAME w/ UNMAP=1 and w/ UNMAP=0 cases)

Cc: Christoph Hellwig <hch@lst.de>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Robert Elliott <Elliott@hp.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_configfs.c
drivers/target/target_core_device.c
drivers/target/target_core_internal.h
drivers/target/target_core_sbc.c
drivers/target/target_core_spc.c
include/target/target_core_base.h