[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x49twlpxxz3.fsf@segfault.boston.devel.redhat.com>
Date: Wed, 03 Feb 2016 16:53:04 -0500
From: Jeff Moyer <jmoyer@...hat.com>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: Christoph Hellwig <hch@....de>, linux-fsdevel@...r.kernel.org,
linux-ext4@...r.kernel.org, ocfs2-devel@....oracle.com,
xfs@....sgi.com
Subject: Re: vfs/xfs: directio updates to ease COW handling V2
"Darrick J. Wong" <darrick.wong@...cle.com> writes:
> On Wed, Feb 03, 2016 at 02:43:02PM -0500, Jeff Moyer wrote:
>> Hi, Christoph,
>>
>> Can you explain a bit what you mean by easing COW handling? Whenever I
>> see COW referenced near DIO, my mind always turns to g_u_p vs. fork.
>
> Just to clarify, I'm talking about copy on write for disk blocks, not for
> memory pages.
>
> Basically, XFS implements (disk block) copy on write for (perfectly block
> aligned) directio writes by allocating a set of replacement blocks, mapping the
> dio writes to the new blocks, and playing a punch/remap trick to map the new
> blocks into the file at the appropriate offset.
>
> If the write fails then we don't want do the remap, so the dio_complete handler
> has to know whether or not the IO succeeded, hence the new parameter.
> Furthermore, if the write succeeds but the remap fails, we also want to be able
> to report that to userspace, hence the change of return value from void to int.
>
> (If the dio write isn't block aligned, we fall back to the page cache.)
>
> Hope that helps,
Eric said the magic word: reflink. I think I've got it now.
Thanks!
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists