nfs: count DIO good bytes correctly with mirroring
authorPeng Tao <tao.peng@primarydata.com>
Mon, 19 Jan 2015 04:41:16 +0000 (12:41 +0800)
committerTom Haynes <loghyr@primarydata.com>
Tue, 3 Feb 2015 19:06:52 +0000 (11:06 -0800)
commit5fadeb47dcc5c30d4b6cf481b4a78689eab59443
tree61144dbb7c04d5ddae49174c122ef1c686712b06
parentaa8a45ee974dfe3ffe290daaf5db457afae56fde
nfs: count DIO good bytes correctly with mirroring

When resending to MDS, we might resend multiple mirroring
requests to MDS. As a result, nfs_direct_good_bytes() ends
up counting bytes multiple times, causing application to
get wrong return results in read/write syscalls.

Fix it by tracking start of a dreq and checking the range of
pgio header.

Cc: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Peng Tao <tao.peng@primarydata.com>
fs/nfs/direct.c