diff options
author | Florian Weimer <fw@deneb.enyo.de> | 2020-01-31 19:38:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-31 13:38:41 -0500 |
commit | a7ba1d42d0b09377aa7060158859febc292b2228 (patch) | |
tree | 42bc94fd80c5ff46283352ed9921e928ca5472f9 /include/fuse.h | |
parent | 81ab7d8c8c3e9524d93a0459b72e6950347135ac (diff) | |
download | libfuse-a7ba1d42d0b09377aa7060158859febc292b2228.tar.gz |
Update comment for the copy_file_range operation (#497)
copy_file_range was first implemented with copy-based emulation in
glibc 2.27, but the emulation was subsequently removed again because
correct emulation depends on why the application attempted to make a
copy. Therefore, file systems cannot rely on low-level userspace
performing emulation.
Diffstat (limited to 'include/fuse.h')
-rw-r--r-- | include/fuse.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/fuse.h b/include/fuse.h index 3df61b1..a92d5ee 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -772,9 +772,10 @@ struct fuse_operations { * additional cost of transferring data through the FUSE kernel module * to user space (glibc) and then back into the FUSE filesystem again. * - * In case this method is not implemented, glibc falls back to reading - * data from the source and writing to the destination. Effectively - * doing an inefficient copy of the data. + * In case this method is not implemented, applications are expected to + * fall back to a regular file copy. (Some glibc versions did this + * emulation automatically, but the emulation has been removed from all + * glibc release branches.) */ ssize_t (*copy_file_range) (const char *path_in, struct fuse_file_info *fi_in, |