Re: [PATCH] xfs: Remove i_rwsem lock in buffered read
From: Christoph Hellwig
Date: Wed Jan 29 2025 - 00:20:34 EST
On Wed, Jan 29, 2025 at 11:59:53AM +1100, Dave Chinner wrote:
> Sure, but we don't think we need full file offset-scope IO exclusion
> to solve that problem. We can still safely do concurrent writes
> within EOF to occur whilst another buffered append write is doing
> file extension work.
Sure. The previous mail just sounded like you'd want to do away
with exclusion for assigning the offset.
> IOWs, where we really need to get to is a model that allows
> concurrent buffered IO at all times, except for the case where IO
> operations that change the inode size need to serialise against
> other similar operations (e.g. other EOF extending IOs, truncate,
> etc).
>
> Hence I think we can largely ignore O_APPEND for the
> purposes of prototyping shared buffered IO and getting rid of the
> IOLOCK from the XFS IO path. I may end up re-using the i_rwsem as
> a "EOF modification" serialisation mechanism for O_APPEND and
> extending writes in general, but I don't think we need a general
> write IO exclusion mechanism for this...
That might be a chance to also fix O_DIRECT while we're at it..