Initial commit
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
59
modules/cas_disk/exp_obj.h
Normal file
59
modules/cas_disk/exp_obj.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright(c) 2012-2019 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
*/
|
||||
#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;
|
||||
spinlock_t rq_lock;
|
||||
|
||||
struct block_device *locked_bd;
|
||||
|
||||
struct module *owner;
|
||||
|
||||
bool activated;
|
||||
|
||||
struct casdsk_exp_obj_ops *ops;
|
||||
|
||||
make_request_fn *mk_rq_fn;
|
||||
|
||||
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_dettach(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
|
Reference in New Issue
Block a user