Add an ioctl to set 'nodatacow' flag on per file basis.

Signed-off-by: Amit Gud <g...@ksu.edu>

Index: newformat2/fs/btrfs/ioctl.h
===================================================================
--- newformat2.orig/fs/btrfs/ioctl.h
+++ newformat2/fs/btrfs/ioctl.h
@@ -67,5 +67,7 @@ struct btrfs_ioctl_clone_range_args {
                                   struct btrfs_ioctl_vol_args)
 #define BTRFS_IOC_COMPRESS _IOW(BTRFS_IOCTL_MAGIC, 15, \
                           struct btrfs_ioctl_vol_args)
+#define BTRFS_IOC_NODATACOW _IOW(BTRFS_IOCTL_MAGIC, 16, \
+                          struct btrfs_ioctl_vol_args)

 #endif
Index: newformat2/fs/btrfs/ioctl.c
===================================================================
--- newformat2.orig/fs/btrfs/ioctl.c
+++ newformat2/fs/btrfs/ioctl.c
@@ -1328,6 +1328,8 @@ long btrfs_ioctl(struct file *file, unsi
                return 0;
        case BTRFS_IOC_COMPRESS:
                return btrfs_ioctl_inode_flag(file, BTRFS_INODE_NOCOMPRESS, 0);
+       case BTRFS_IOC_NODATACOW:
+               return btrfs_ioctl_inode_flag(file, BTRFS_INODE_NODATACOW, 1);
        }

        return -ENOTTY;

-- 
May the source be with you.
http://www.cis.ksu.edu/~gud
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to