linux/include
Boaz Harrosh aad560b7f6 ore: Fix wrong math in allocation of per device BIO
At IO preparation we calculate the max pages at each device and
allocate a BIO per device of that size. The calculation was wrong
on some unaligned corner cases offset/length combination and would
make prepare return with -ENOMEM. This would be bad for pnfs-objects
that would in that case IO through MDS. And fatal for exofs were it
would fail writes with EIO.

Fix it by doing the proper math, that will work in all cases. (I
ran a test with all possible offset/length combinations this time
round).

Also when reading we do not need to allocate for the parity units
since we jump over them.

Also lower the max_io_length to take into account the parity pages
so not to allocate BIOs bigger than PAGE_SIZE

CC: Stable Kernel <stable@vger.kernel.org>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
2014-01-23 10:55:03 +02:00
..
acpi ACPI / PM: Drop two functions that are not used any more 2013-10-17 15:44:48 +02:00
asm-generic mm: Fix generic hugetlb pte check return type. 2013-10-02 20:02:35 -04:00
clocksource
crypto
drm Revert "drm: mark context support as a legacy subsystem" 2013-09-20 08:32:59 +10:00
dt-bindings ARM: dts: Fix pinctrl mask for omap3 2013-10-08 10:37:29 -07:00
keys
kvm
linux ipc, msg: forbid negative values for "msg{max,mnb,mni}" 2013-11-03 10:53:11 -08:00
math-emu
media
memory
misc
net mac802154: correct a typo in ieee802154_alloc_device() prototype 2013-10-21 18:56:23 -04:00
pcmcia
ras
rdma
rxrpc
scsi ore: Fix wrong math in allocation of per device BIO 2014-01-23 10:55:03 +02:00
sound ASoC: rcar: fixup generation checker 2013-10-11 19:52:32 +01:00
target
trace target: Fix assignment of LUN in tracepoints 2013-10-09 01:54:44 -07:00
uapi perf: Fix perf ring buffer memory ordering 2013-10-29 12:01:19 +01:00
video
xen
Kbuild