]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge remote-tracking branch 'djwong/ocfs2-vfs-reflink-6' into for-linus
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 16 Dec 2016 21:21:05 +0000 (16:21 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 16 Dec 2016 21:21:05 +0000 (16:21 -0500)
1  2 
fs/btrfs/ioctl.c
include/linux/fs.h

diff --combined fs/btrfs/ioctl.c
index 8270f4338b35e84f3ce7ba36b0d9253a65f27a1d,dab746298758f43a213ad5b3997a41ef72f9d6e1..70eebc6c4c16003f5d7a871d454fc42f9ace073e
@@@ -836,7 -836,7 +836,7 @@@ static inline int btrfs_may_create(stru
   * sys_mkdirat and vfs_mkdir, but we only do a single component lookup
   * inside this filesystem so it's quite a bit simpler.
   */
 -static noinline int btrfs_mksubvol(struct path *parent,
 +static noinline int btrfs_mksubvol(const struct path *parent,
                                   char *name, int namelen,
                                   struct btrfs_root *snap_src,
                                   u64 *async_transid, bool readonly,
@@@ -3980,18 -3980,6 +3980,6 @@@ out_unlock
        return ret;
  }
  
- ssize_t btrfs_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)
- {
-       ssize_t ret;
-       ret = btrfs_clone_files(file_out, file_in, pos_in, len, pos_out);
-       if (ret == 0)
-               ret = len;
-       return ret;
- }
  int btrfs_clone_file_range(struct file *src_file, loff_t off,
                struct file *dst_file, loff_t destoff, u64 len)
  {
diff --combined include/linux/fs.h
index 0e177d395efbf5940639aab175a6ba87a53fe1dc,caea736fa09cd125d78cd6015b58e47fa583fd08..087813ff849c2c7a1e69f4c02cf9de77339a7584
@@@ -1778,8 -1778,14 +1778,14 @@@ extern ssize_t vfs_writev(struct file *
                unsigned long, loff_t *, int);
  extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
                                   loff_t, size_t, unsigned int);
+ extern int vfs_clone_file_prep_inodes(struct inode *inode_in, loff_t pos_in,
+                                     struct inode *inode_out, loff_t pos_out,
+                                     u64 *len, bool is_dedupe);
  extern int vfs_clone_file_range(struct file *file_in, loff_t pos_in,
                struct file *file_out, loff_t pos_out, u64 len);
+ extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff,
+                                        struct inode *dest, loff_t destoff,
+                                        loff_t len, bool *is_same);
  extern int vfs_dedupe_file_range(struct file *file,
                                 struct file_dedupe_range *same);
  
@@@ -2123,11 -2129,11 +2129,11 @@@ extern int may_umount_tree(struct vfsmo
  extern int may_umount(struct vfsmount *);
  extern long do_mount(const char *, const char __user *,
                     const char *, unsigned long, void *);
 -extern struct vfsmount *collect_mounts(struct path *);
 +extern struct vfsmount *collect_mounts(const struct path *);
  extern void drop_collected_mounts(struct vfsmount *);
  extern int iterate_mounts(int (*)(struct vfsmount *, void *), void *,
                          struct vfsmount *);
 -extern int vfs_statfs(struct path *, struct kstatfs *);
 +extern int vfs_statfs(const struct path *, struct kstatfs *);
  extern int user_statfs(const char __user *, struct kstatfs *);
  extern int fd_statfs(int, struct kstatfs *);
  extern int vfs_ustat(dev_t, struct kstatfs *);
@@@ -2709,7 -2715,7 +2715,7 @@@ extern struct file * open_exec(const ch
   
  /* fs/dcache.c -- generic fs support functions */
  extern bool is_subdir(struct dentry *, struct dentry *);
 -extern bool path_is_under(struct path *, struct path *);
 +extern bool path_is_under(const struct path *, const struct path *);
  
  extern char *file_path(struct file *, char *, int);