diff options
| author | Gilad Broner <gbroner@codeaurora.org> | 2016-03-02 14:24:34 +0200 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:24:15 -0700 |
| commit | c3b854ad6c8a904494df0e1e1e328a73b40d679c (patch) | |
| tree | f54954ef2f71a7dc4677825a046dd6d1701ae34b /include/linux | |
| parent | ca838eec7c60585c1b198675655de89207257f2d (diff) | |
dm: add snapshot of dm-req-crypt
This snapshot is taken as of msm-3.18 commit:
5684450d70 ("Promotion of kernel.lnx.3.18-151201").
dm-req-crypt is necessary for full disk encryption.
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/blk_types.h | 6 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 3 | ||||
| -rw-r--r-- | include/linux/device-mapper.h | 7 |
3 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index b054edb07e49..da8ca5a7da58 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -134,6 +134,12 @@ struct bio { */ #define BIO_RESET_BITS 13 #define BIO_OWNS_VEC 13 /* bio_free() should free bvec */ +/* + * Added for Req based dm which need to perform post processing. This flag + * ensures blk_update_request does not free the bios or request, this is done + * at the dm level + */ +#define BIO_DONTFREE 14 #define BIO_INLINECRYPT 15 /* diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 4c1110ed0881..45bae2b85f46 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -796,6 +796,7 @@ extern int scsi_cmd_ioctl(struct request_queue *, struct gendisk *, fmode_t, extern int sg_scsi_ioctl(struct request_queue *, struct gendisk *, fmode_t, struct scsi_ioctl_command __user *); +extern void blk_recalc_rq_segments(struct request *rq); extern int blk_queue_enter(struct request_queue *q, gfp_t gfp); extern void blk_queue_exit(struct request_queue *q); extern void blk_start_queue(struct request_queue *q); @@ -1008,6 +1009,8 @@ extern void blk_queue_flush_queueable(struct request_queue *q, bool queueable); extern struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev); extern int blk_rq_map_sg(struct request_queue *, struct request *, struct scatterlist *); +extern int blk_rq_map_sg_no_cluster + (struct request_queue *, struct request *, struct scatterlist *); extern void blk_dump_rq_flags(struct request *, char *); extern long nr_blockdev_pages(void); diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index ec1c61c87d89..2151ebfe0902 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -601,4 +601,11 @@ static inline unsigned long to_bytes(sector_t n) return (n << SECTOR_SHIFT); } +/*----------------------------------------------------------------- + * Helper for block layer and dm core operations + *----------------------------------------------------------------- + */ +void dm_dispatch_request(struct request *rq); +void dm_kill_unmapped_request(struct request *rq, int error); +void dm_end_request(struct request *clone, int error); #endif /* _LINUX_DEVICE_MAPPER_H */ |
