
This patch adapts OpenCAS Linux to compile and work with kernel v5.15 Commit id's from the kernel affecting OpenCAS: commit 0e0ccdecb3cff95a350b4364e7ebbaa754d0e47d block: remove bdget_disk commit 9c2b9dbafc067e173db30c4fd0636392d27944e8 block: remove alloc_disk and alloc_disk_node commit a8698707a1835be3abd12a3b28079a80999f8dee block: move bd_mutex to struct gendisk commit 2cece3778475abc855084d897a3cf61249798ad9 scsi: scsi_ioctl: Remove scsi_req_init() commit 2f4731dcd0bb73379fbb9e3eb07ae7324125caef block: remove bdput commit 14cf1dbb55bb07427babee425fd2a8a9300737cc block: remove bdgrab Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com>
57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
/*
|
|
* Copyright(c) 2012-2022 Intel Corporation
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
#ifndef __CASDISK_EXP_OBJ_H__
|
|
#define __CASDISK_EXP_OBJ_H__
|
|
|
|
#include <linux/kobject.h>
|
|
#include <linux/fs.h>
|
|
|
|
struct casdsk_disk;
|
|
|
|
struct casdsk_exp_obj_pt_io_ctx {
|
|
struct casdsk_disk *dsk;
|
|
struct bio *bio;
|
|
};
|
|
|
|
struct casdsk_exp_obj {
|
|
|
|
struct gendisk *gd;
|
|
struct request_queue *queue;
|
|
|
|
struct block_device *locked_bd;
|
|
|
|
struct module *owner;
|
|
|
|
bool activated;
|
|
|
|
struct casdsk_exp_obj_ops *ops;
|
|
|
|
const char *dev_name;
|
|
struct kobject kobj;
|
|
|
|
atomic_t pt_ios;
|
|
atomic_t *pending_rqs;
|
|
};
|
|
|
|
int __init casdsk_init_exp_objs(void);
|
|
void casdsk_deinit_exp_objs(void);
|
|
|
|
void casdsk_exp_obj_free(struct casdsk_disk *dsk);
|
|
|
|
int casdsk_exp_obj_detach(struct casdsk_disk *dsk);
|
|
int casdsk_exp_obj_attach(struct casdsk_disk *dsk, struct module *owner,
|
|
struct casdsk_exp_obj_ops *ops);
|
|
void casdsk_exp_obj_prepare_pt(struct casdsk_disk *dsk);
|
|
void casdsk_exp_obj_prepare_attached(struct casdsk_disk *dsk);
|
|
|
|
void casdsk_exp_obj_prepare_shutdown(struct casdsk_disk *dsk);
|
|
|
|
static inline struct casdsk_exp_obj *casdsk_kobj_to_exp_obj(struct kobject *kobj)
|
|
{
|
|
return container_of(kobj, struct casdsk_exp_obj, kobj);
|
|
}
|
|
|
|
#endif
|