btrfs: add "no file data" flag to btrfs send ioctl
authorMark Fasheh <mfasheh@suse.de>
Mon, 4 Feb 2013 20:54:57 +0000 (20:54 +0000)
committerJosef Bacik <jbacik@fusionio.com>
Wed, 20 Feb 2013 17:59:39 +0000 (12:59 -0500)
commitcb95e7bf7ba481c3d35b238b1cd671b63f54238a
tree0b2d4906688ca6447a191bcb5f6fe91e0628bda9
parent2f697dc6a648d3a16f512fe7a53281d55cce1570
btrfs: add "no file data" flag to btrfs send ioctl

This patch adds the flag, BTRFS_SEND_FLAG_NO_FILE_DATA to the btrfs send
ioctl code. When this flag is set, the btrfs send code will never write file
data into the stream (thus also avoiding expensive reads of that data in the
first place). BTRFS_SEND_C_UPDATE_EXTENT commands will be sent (instead of
BTRFS_SEND_C_WRITE) with an offset, length pair indicating the extent in
question.

This patch does not affect the operation of BTRFS_SEND_C_CLONE commands -
they will continue to be sent when a search finds an appropriate extent to
clone from.

Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/send.c
fs/btrfs/send.h
include/uapi/linux/btrfs.h