Path: blob/master/drivers/block/drbd/drbd_wrappers.h
15179 views
#ifndef _DRBD_WRAPPERS_H1#define _DRBD_WRAPPERS_H23#include <linux/ctype.h>4#include <linux/mm.h>56/* see get_sb_bdev and bd_claim */7extern char *drbd_sec_holder;89/* sets the number of 512 byte sectors of our virtual device */10static inline void drbd_set_my_capacity(struct drbd_conf *mdev,11sector_t size)12{13/* set_capacity(mdev->this_bdev->bd_disk, size); */14set_capacity(mdev->vdisk, size);15mdev->this_bdev->bd_inode->i_size = (loff_t)size << 9;16}1718#define drbd_bio_uptodate(bio) bio_flagged(bio, BIO_UPTODATE)1920/* bi_end_io handlers */21extern void drbd_md_io_complete(struct bio *bio, int error);22extern void drbd_endio_sec(struct bio *bio, int error);23extern void drbd_endio_pri(struct bio *bio, int error);2425/*26* used to submit our private bio27*/28static inline void drbd_generic_make_request(struct drbd_conf *mdev,29int fault_type, struct bio *bio)30{31__release(local);32if (!bio->bi_bdev) {33printk(KERN_ERR "drbd%d: drbd_generic_make_request: "34"bio->bi_bdev == NULL\n",35mdev_to_minor(mdev));36dump_stack();37bio_endio(bio, -ENODEV);38return;39}4041if (drbd_insert_fault(mdev, fault_type))42bio_endio(bio, -EIO);43else44generic_make_request(bio);45}4647static inline int drbd_crypto_is_hash(struct crypto_tfm *tfm)48{49return (crypto_tfm_alg_type(tfm) & CRYPTO_ALG_TYPE_HASH_MASK)50== CRYPTO_ALG_TYPE_HASH;51}5253#ifndef __CHECKER__54# undef __cond_lock55# define __cond_lock(x,c) (c)56#endif5758#endif596061