Re: [PATCH 07/12] xfs: implement failure-atomic writes

2017-03-01 Thread Christoph Hellwig
On Tue, Feb 28, 2017 at 03:09:40PM -0800, Darrick J. Wong wrote: > By the way, the copy on write code remembers the extents it has > allocated for CoW staging in the refcount btree so that it can free them > after a crash, which means that O_ATOMIC requires reflink to be enabled. Yeah. > There

Re: [PATCH 07/12] xfs: implement failure-atomic writes

2017-02-28 Thread Darrick J. Wong
On Tue, Feb 28, 2017 at 06:57:32AM -0800, Christoph Hellwig wrote: > If O_ATOMIC is specified in the open flags this will cause XFS to > allocate new extents in the COW for even if overwriting existing data, "COW fork"^^^ The previous patch's commit message also has that

[PATCH 07/12] xfs: implement failure-atomic writes

2017-02-28 Thread Christoph Hellwig
If O_ATOMIC is specified in the open flags this will cause XFS to allocate new extents in the COW for even if overwriting existing data, and not remap them into the data fork until ->fsync is called, at which point the whole range will be atomically remapped into the data fork. This allows