pNFS/flexfiles: Fix list corruption if the mirror count changes
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 22 Jun 2020 19:04:15 +0000 (15:04 -0400)
committerSasha Levin <sashal@kernel.org>
Wed, 1 Jul 2020 03:17:18 +0000 (23:17 -0400)
commite6efe9b152c5188cd2fcd817b7edf73c5dcccc20
treee5b79006de2d525376fbfbba5abc73a05f7cfdb0
parent0ebb986361f01bffd2b53d6e7ba89899753a3252
pNFS/flexfiles: Fix list corruption if the mirror count changes

commit 8b04013737341442ed914b336cde866b902664ae upstream.

If the mirror count changes in the new layout we pick up inside
ff_layout_pg_init_write(), then we can end up adding the
request to the wrong mirror and corrupting the mirror->pg_list.

Fixes: d600ad1f2bdb ("NFS41: pop some layoutget errors to application")
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfs/flexfilelayout/flexfilelayout.c