diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2017-08-19 10:10:34 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-09-13 14:20:54 -0700 |
commit | 41a5f0a2a8323077533ebc32d1d7cfeb5454457d (patch) | |
tree | 3bf51e1f92a2b9455a76bdd8f1012eaec924b81d /fs/xfs/xfs_linux.h | |
parent | 1c8c0359f0a03864e24a5a5877a69c35bf0b2f92 (diff) | |
download | linux-41a5f0a2a8323077533ebc32d1d7cfeb5454457d.tar.gz |
NFSv4: Fix up mirror allocation
commit 14abcb0bf59a30cf65a74f6c6f53974cd7224bc6 upstream.
There are a number of callers of nfs_pageio_complete() that want to
continue using the nfs_pageio_descriptor without needing to call
nfs_pageio_init() again. Examples include nfs_pageio_resend() and
nfs_pageio_cond_complete().
The problem is that nfs_pageio_complete() also calls
nfs_pageio_cleanup_mirroring(), which frees up the array of mirrors.
This can lead to writeback errors, in the next call to
nfs_pageio_setup_mirroring().
Fix by simply moving the allocation of the mirrors to
nfs_pageio_setup_mirroring().
Link: https://bugzilla.kernel.org/show_bug.cgi?id=196709
Reported-by: JianhongYin <yin-jianhong@163.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/xfs/xfs_linux.h')
0 files changed, 0 insertions, 0 deletions