linux/include
Mike Christie 7a2514f35c target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors
commit 8a9ebe717a upstream.

In a couple places we are not converting to/from the Linux
block layer 512 bytes sectors.

1.

The request queue values and what we do are a mismatch of
things:

max_discard_sectors - This is in linux block layer 512 byte
sectors. We are just copying this to max_unmap_lba_count.

discard_granularity - This is in bytes. We are converting it
to Linux block layer 512 byte sectors.

discard_alignment - This is in bytes. We are just copying
this over.

The problem is that the core LIO code exports these values in
spc_emulate_evpd_b0 and we use them to test request arguments
in sbc_execute_unmap, but we never convert to the block size
we export to the initiator. If we are not using 512 byte sectors
then we are exporting the wrong values or are checks are off.
And, for the discard_alignment/bytes case we are just plain messed
up.

2.

blkdev_issue_discard's start and number of sector arguments
are supposed to be in linux block layer 512 byte sectors. We are
currently passing in the values we get from the initiator which
might be based on some other sector size.

There is a similar problem in iblock_execute_write_same where
the bio functions want values in 512 byte sectors but we are
passing in what we got from the initiator.

Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
[ luis: backported to 3.16:
  - dropped changes to attribute unmap_zeroes_data as 3.16 doesn't
    support LBPRZ
  - functions rename:
    * fd_execute_unmap -> fd_do_unmap
    * iblock_execute_unmap -> iblock_do_unmap
  - adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2016-02-25 00:18:38 +00:00
..
acpi ACPICA: Tables: Enable default 64-bit FADT addresses favor 2015-07-15 10:01:11 +01:00
asm-generic sched/preempt: Fix cond_resched_lock() and cond_resched_softirq() 2015-11-16 11:27:24 +00:00
clocksource drivers: clocksource: add support for ARM architected timer event stream 2013-09-26 09:48:00 +01:00
crypto crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path 2016-02-02 19:09:56 +00:00
drm drm: Fix an unwanted master inheritance v2 2016-01-05 12:08:21 +00:00
dt-bindings pinctrl: dra: dt-bindings: Fix output pull up/down 2014-11-27 11:22:05 +00:00
keys KEYS: Separate the kernel signature checking keyring from module signing 2013-09-25 17:17:01 +01:00
kvm arm/arm64: KVM: Require in-kernel vgic for the arch timers 2015-05-20 13:25:52 +01:00
linux cgroup: make sure a parent css isn't offlined before its children 2016-02-25 00:18:35 +00:00
math-emu math-emu: fix floating-point to integer overflow detection 2014-01-07 18:36:24 -06:00
media media: vb2: fix VBI/poll regression 2014-10-09 12:23:49 -07:00
memory ddr: add LPDDR2 data from JESD209-2 2012-05-02 00:04:06 -07:00
misc [media] altera-stapl: it is time to move out from staging 2011-09-23 15:00:57 -03:00
net sctp: start t5 timer only when peer rwnd is 0 and local state is SHUTDOWN_PENDING 2016-01-28 11:57:53 +00:00
pcmcia pcmcia/ds.h: introduce helper for pcmcia_driver module boilerplate 2013-03-15 12:26:03 -07:00
ras edac: add support for error type "Info" 2013-02-21 14:16:27 -03:00
rdma Merge branches 'core', 'cxgb3', 'cxgb4', 'iser', 'iwpm', 'misc', 'mlx4', 'mlx5', 'noio', 'ocrdma', 'qib', 'srp' and 'usnic' into for-next 2014-06-10 10:12:14 -07:00
rxrpc atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
scsi SCSI: add 1024 max sectors black list flag 2015-05-12 09:36:36 +01:00
sound ASoC: Use nested lock for snd_soc_dapm_mutex_lock 2016-01-25 10:44:05 +00:00
target target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors 2016-02-25 00:18:38 +00:00
trace regmap: introduce regmap_name to fix syscon regmap trace events 2015-04-10 10:03:57 +01:00
uapi PCI: Restore PCI_MSIX_FLAGS_BIRMASK definition 2015-08-27 12:08:04 +01:00
video Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-06-12 11:32:30 -07:00
xen xen: Add RING_COPY_REQUEST() 2016-01-25 10:43:42 +00:00
Kbuild UAPI: remove empty Kbuild files 2013-04-30 17:04:09 -07:00