diff --git a/modules/cas_disk/cas_disk_defs.h b/modules/cas_disk/cas_disk_defs.h index 4cc2b0c..e851348 100644 --- a/modules/cas_disk/cas_disk_defs.h +++ b/modules/cas_disk/cas_disk_defs.h @@ -28,43 +28,6 @@ struct casdsk_module { extern struct casdsk_module *casdsk_module; -#define CASDSK_LOGO "CAS Disk" - -static inline struct block_device *open_bdev_exclusive(const char *path, - fmode_t mode, - void *holder) -{ - return blkdev_get_by_path(path, mode | FMODE_EXCL, holder); -} - -static inline void close_bdev_exclusive(struct block_device *bdev, fmode_t mode) -{ - blkdev_put(bdev, mode | FMODE_EXCL); -} - -static inline int bd_claim_by_disk(struct block_device *bdev, void *holder, - struct gendisk *disk) -{ - return bd_link_disk_holder(bdev, disk); -} - -static inline void bd_release_from_disk(struct block_device *bdev, - struct gendisk *disk) -{ - return bd_unlink_disk_holder(bdev, disk); -} - -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) - #define KRETURN(x) ({ return (x); }) - #define MAKE_RQ_RET_TYPE blk_qc_t -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) - #define KRETURN(x) return - #define MAKE_RQ_RET_TYPE void -#else - #define KRETURN(x) ({ return (x); }) - #define MAKE_RQ_RET_TYPE int -#endif - #include "debug.h" #endif diff --git a/modules/cas_disk/disk.c b/modules/cas_disk/disk.c index 0ba35ba..12c8986 100644 --- a/modules/cas_disk/disk.c +++ b/modules/cas_disk/disk.c @@ -13,6 +13,18 @@ #define CASDSK_DISK_OPEN_FMODE (FMODE_READ | FMODE_WRITE) +static inline struct block_device *open_bdev_exclusive(const char *path, + fmode_t mode, + void *holder) +{ + return blkdev_get_by_path(path, mode | FMODE_EXCL, holder); +} + +static inline void close_bdev_exclusive(struct block_device *bdev, fmode_t mode) +{ + blkdev_put(bdev, mode | FMODE_EXCL); +} + static void _casdsk_disk_release(struct kobject *kobj) { struct casdsk_disk *dsk; diff --git a/modules/cas_disk/exp_obj.c b/modules/cas_disk/exp_obj.c index 2d44c54..5113656 100644 --- a/modules/cas_disk/exp_obj.c +++ b/modules/cas_disk/exp_obj.c @@ -19,6 +19,29 @@ #define CASDSK_DEV_MINORS 16 #define KMEM_CACHE_MIN_SIZE sizeof(void *) +static inline int bd_claim_by_disk(struct block_device *bdev, void *holder, + struct gendisk *disk) +{ + return bd_link_disk_holder(bdev, disk); +} + +static inline void bd_release_from_disk(struct block_device *bdev, + struct gendisk *disk) +{ + return bd_unlink_disk_holder(bdev, disk); +} + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) + #define KRETURN(x) ({ return (x); }) + #define MAKE_RQ_RET_TYPE blk_qc_t +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) + #define KRETURN(x) return + #define MAKE_RQ_RET_TYPE void +#else + #define KRETURN(x) ({ return (x); }) + #define MAKE_RQ_RET_TYPE int +#endif + int __init casdsk_init_exp_objs(void) { CASDSK_DEBUG_TRACE(); diff --git a/modules/cas_disk/main.c b/modules/cas_disk/main.c index bdf290a..7d5e964 100644 --- a/modules/cas_disk/main.c +++ b/modules/cas_disk/main.c @@ -11,6 +11,8 @@ #include "disk.h" #include "exp_obj.h" +#define CASDSK_LOGO "CAS Disk" + /* Layer information. */ MODULE_AUTHOR("Intel(R) Corporation"); MODULE_LICENSE("Dual BSD/GPL");