On Wed, Jun 23, 2010 at 9:53 AM, Andy Adamson <andros@xxxxxxxxxx> wrote: > > On Jun 23, 2010, at 9:34 AM, Fred Isaman wrote: > >> On Tue, Jun 22, 2010 at 5:56 PM, <andros@xxxxxxxxxx> wrote: >>> >>> From: Andy Adamson <andros@xxxxxxxxxx> >>> >>> Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> >>> --- >>> fs/nfs/pnfs.c | 1 + >>> 1 files changed, 1 insertions(+), 0 deletions(-) >>> >>> diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c >>> index 9a295cf..c1a8066 100644 >>> --- a/fs/nfs/pnfs.c >>> +++ b/fs/nfs/pnfs.c >>> @@ -1454,6 +1454,7 @@ pnfs_writepages(struct nfs_write_data *wdata, int >>> how) >>> wdata); >>> >>> if (trypnfs == PNFS_NOT_ATTEMPTED) { >>> + wdata->req->wb_lseg = NULL; >> >> This is wrong. It will be taken care of by >> _pnfs_clear_lseg_from_pages called by pnfs_try_to_write_data. > > A partial write, e.g. one that uses nfs_write_partial_ops, does not set > nfs_write_data->pages, so _pnfs_clear_lseg_from_pages does not take care of > clearing the req->wb_lseg. > Hmmm, you are right. > Perhaps it would be cleaner to add this case to _pnfs_clear_lseg_from_pages. > I'll look into this, but for now your patch does the correct thing. Fred > -->Andy > >> >> Fred >> >>> wdata->pdata.lseg = NULL; >>> put_lseg(lseg); >>> } >>> -- >>> 1.6.6 >>> >>> -- >>> 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 >>> > > -- 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