]> git.baikalelectronics.ru Git - kernel.git/commit
nfs: fix DIO good bytes calculation
authorPeng Tao <tao.peng@primarydata.com>
Thu, 9 Apr 2015 15:02:16 +0000 (23:02 +0800)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 23 Apr 2015 19:05:18 +0000 (15:05 -0400)
commitd1875c752aa2dde3da4ced9136bc30083812f51b
tree6bf27072c4383cffc77e15c553d6b294394a472e
parenta445506ed9d1f9f95d7c63ec966750ec4674a488
nfs: fix DIO good bytes calculation

For direct read that has IO size larger than rsize, we'll split
it into several READ requests and nfs_direct_good_bytes() would
count completed bytes incorrectly by eating last zero count reply.

Fix it by handling mirror and non-mirror cases differently such that
we only count mirrored writes differently.

This fixes 57372d69("nfs: count DIO good bytes correctly with mirroring").

Reported-by: Jean Spector <jean@primarydata.com>
Cc: <stable@vger.kernel.org> # v3.19+
Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/direct.c