ACK to both. Good catch, thanks! -dros > On Jul 27, 2015, at 10:34 AM, Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> wrote: > > If the function exits early, then we must put those requests that were > not processed back onto the &mirror->pg_list so they can be cleaned up > by nfs_pgio_error(). > > Fixes: a7d42ddb30997 ("nfs: add mirroring support to pgio layer") > Cc: stable@xxxxxxxxxxxxxxx # v4.0+ > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- > fs/nfs/pagelist.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git PATCH v2fs/nfs/pagelist.c b/fs/nfs/pagelist.c > index 1da68d3b1eda..8ea5920fb777 100644 > --- PATCH v2fs/nfs/pagelist.c > +++ b/fs/nfs/pagelist.c > @@ -1109,8 +1109,11 @@ static int nfs_do_recoalesce(struct nfs_pageio_descriptor *desc) > nfs_list_remove_request(req); > if (__nfs_pageio_add_request(desc, req)) > continue; > - if (desc->pg_error < 0) > + if (desc->pg_error < 0) { > + list_splice_tail(&head, &mirror->pg_list); > + mirror->pg_recoalesce = 1; > return 0; > + } > break; > } > } while (mirror->pg_recoalesce); > -- > 2.4.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html