coreutils
[Top][All Lists]
Advanced

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

Re: [PATCH v3 8/9] VFS: In-kernel copy system call


From: Pádraig Brady
Subject: Re: [PATCH v3 8/9] VFS: In-kernel copy system call
Date: Mon, 28 Sep 2015 15:37:51 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

On 08/09/15 16:53, Pádraig Brady wrote:
> -------- Forwarded Message --------
> Subject: Re: [PATCH v1 0/8] VFS: In-kernel copy system call

FYI, this has changed slightly to...

> -------- Forwarded Message --------
> Subject: Re: [PATCH v3 8/9] vfs: copy_file_range() can do a pagecache copy 
> with splice
> Date: Fri, 25 Sep 2015 22:58:42 +0100

For cp(1), mv(1), install(1), this will avoid user space copies in the normal 
case,
client side copies in the network file system case,
and provide a more generalized interface to reflink().
It should not need a coreutils flag since it only pertains
to the data flow, rather than the final state.

coreutils pseudo code would be:

  unsigned int cfr_flags = COPY_FR_COPY;
  if (mode == mv)
    cfr_flags = 0; /* reflink falling back to normal */
  else if (mode == cp) {
    if --reflink || --reflink==always
      cfr_flags = COPY_FR_REFLINK;
    else if --reflink==auto
      cfr_flags = 0; /* reflink falling back to normal */
  }
  if vfs_copy_file_range(..., cfr_flags) == ENOTSUP
    normal_user_space_copy();

cheers,
Pádraig.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]