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.