Re: [PATCH 3/9] pnfs: add return_range method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 11, 2014 at 11:30:50PM +0800, Peng Tao wrote:
> It looks dangerous to have extents lurking around without matching
> layout segments. One example is NFS4ERR_EXPIRED and
> NFS4ERR_BAD_STATEID in nfs4_layoutget_done(), client needs to drop all
> layout segments but may keep the layout header, in which case blocks
> layout would still hold all extents at hand.

We never do I/O without a valid layout, but we keep the extents around
because we need to keep state like that it's been written to or has
a commit pending in a single place, and also need to keep it if a layout
goes away temporarily.

I hate the way it has been done in the old client, and tried moving the
extent tracking to a per-layout basis, and spent way too much time on it
but still couldn't get it to work, so I finally gave up.  I think we're
between a rock (the idiocy on rfc5663 that it tracks data in extents and not
in layouts) and a hard place (the forgetful Linux client and it's lose layout
coherency) here.
--
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




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux