Message ID | b763205a723aff19e895b7634a19d92a6897a868.1524233244.git.dsterba@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 7cde72683b8e..772cb4ccc5f7 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -679,6 +679,7 @@ struct btrfs_stripe_hash { */ enum btrfs_clear_op_type { BTRFS_CLEAR_OP_DISCARD = 0, + BTRFS_CLEAR_OP_ZERO, BTRFS_NR_CLEAR_OP_TYPES, }; diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index b317f8ee42a9..800aaf45e6bd 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -2041,6 +2041,9 @@ static int btrfs_issue_clear_op(struct block_device *bdev, u64 start, u64 size, case BTRFS_CLEAR_OP_DISCARD: return blkdev_issue_discard(bdev, start >> 9, size >> 9, GFP_NOFS, 0); + case BTRFS_CLEAR_OP_ZERO: + return blkdev_issue_zeroout(bdev, start >> 9, size >> 9, + GFP_NOFS, 0); default: return -EOPNOTSUPP; }
Signed-off-by: David Sterba <dsterba@suse.com> --- fs/btrfs/ctree.h | 1 + fs/btrfs/extent-tree.c | 3 +++ 2 files changed, 4 insertions(+)