Thread (1 message) 1 message, 1 author, 2015-10-13

Re: [PATCH v5 8/9] vfs: Add vfs_copy_file_range() support for pagecache copies

flat view

From: Anna Schumaker <hidden>
Date: 2015-10-13 19:45:28
Also in: linux-btrfs, linux-fsdevel, linux-nfs

On 10/07/2015 09:40 PM, Neil Brown wrote:
Anna Schumaker [off-list ref] writes:
quoted
@@ -1338,34 +1362,26 @@ ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in,
 			    struct file *file_out, loff_t pos_out,
 			    size_t len, unsigned int flags)
 {
-	struct inode *inode_in;
-	struct inode *inode_out;
 	ssize_t ret;
 
-	if (flags)
+	/* Flags should only be used exclusively. */
+	if ((flags & COPY_FR_COPY) && (flags & ~COPY_FR_COPY))
+		return -EINVAL;
+	if ((flags & COPY_FR_REFLINK) && (flags & ~COPY_FR_REFLINK))
+		return -EINVAL;
+	if ((flags & COPY_FR_DEDUP) && (flags & ~COPY_FR_DEDUP))
 		return -EINVAL;
 
Do you also need:

   if (flags & ~(COPY_FR_COPY | COPY_FR_REFLINK | COPY_FR_DEDUP))
   	return -EINVAL;

so that future user-space can test if the kernel supports new flags?
Probably.  I'll add that in!

Thanks,
Anna
NeilBrown
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help