On Thu, Sep 27, 2018 at 11:07:31AM -0400, Brian Foster wrote: > On Thu, Sep 20, 2018 at 04:42:16PM +0200, Christoph Hellwig wrote: > > We need to make sure we have no outstanding COW blocks before we swap > > extents, as there is nothing preventing us from having COW preallocations > > on an inode that swapext is called on. That case can easily be > > reproduced by the upcoming always_cow mode. > > > > Why? Is the current code to swap the cow forks not sufficient or > problematic in some way? The code didn't seem happy with non-delalloc COW fork extents sticking around over swapext, but I'd have to go back and look up why. It seemed easiest to just cancel them as there is no reason to keep these alive over a swapext.