ore: Must support none-PAGE-aligned IO
authorBoaz Harrosh <bharrosh@panasas.com>
Wed, 28 Dec 2011 17:21:45 +0000 (19:21 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 12 Jan 2012 19:29:29 +0000 (11:29 -0800)
commit673a3083dc48d45a798ee509995899e11625aa9d
treed3f545904a2f99deaadaaf877890c2fe04a21cf2
parent0889c179651f57c6fdf4ed72e5027c5dcc90bda2
ore: Must support none-PAGE-aligned IO

commit 724577ca355795b0a25c93ccbeee927871ca1a77 upstream.

NFS might send us offsets that are not PAGE aligned. So
we must read in the reminder of the first/last pages, in cases
we need it for Parity calculations.

We only add an sg segments to read the partial page. But
we don't mark it as read=true because it is a lock-for-write
page.

TODO: In some cases (IO spans a single unit) we can just
adjust the raid_unit offset/length, but this is left for
later Kernels.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/exofs/ore_raid.c