drbd_wrappers.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef _DRBD_WRAPPERS_H
  2. #define _DRBD_WRAPPERS_H
  3. #include <linux/ctype.h>
  4. #include <linux/mm.h>
  5. /* see get_sb_bdev and bd_claim */
  6. extern char *drbd_sec_holder;
  7. /* sets the number of 512 byte sectors of our virtual device */
  8. static inline void drbd_set_my_capacity(struct drbd_conf *mdev,
  9. sector_t size)
  10. {
  11. /* set_capacity(mdev->this_bdev->bd_disk, size); */
  12. set_capacity(mdev->vdisk, size);
  13. mdev->this_bdev->bd_inode->i_size = (loff_t)size << 9;
  14. }
  15. #define drbd_bio_uptodate(bio) bio_flagged(bio, BIO_UPTODATE)
  16. /* bi_end_io handlers */
  17. extern void drbd_md_io_complete(struct bio *bio, int error);
  18. extern void drbd_endio_sec(struct bio *bio, int error);
  19. extern void drbd_endio_pri(struct bio *bio, int error);
  20. /*
  21. * used to submit our private bio
  22. */
  23. static inline void drbd_generic_make_request(struct drbd_conf *mdev,
  24. int fault_type, struct bio *bio)
  25. {
  26. __release(local);
  27. if (!bio->bi_bdev) {
  28. printk(KERN_ERR "drbd%d: drbd_generic_make_request: "
  29. "bio->bi_bdev == NULL\n",
  30. mdev_to_minor(mdev));
  31. dump_stack();
  32. bio_endio(bio, -ENODEV);
  33. return;
  34. }
  35. if (drbd_insert_fault(mdev, fault_type))
  36. bio_endio(bio, -EIO);
  37. else
  38. generic_make_request(bio);
  39. }
  40. static inline int drbd_crypto_is_hash(struct crypto_tfm *tfm)
  41. {
  42. return (crypto_tfm_alg_type(tfm) & CRYPTO_ALG_TYPE_HASH_MASK)
  43. == CRYPTO_ALG_TYPE_HASH;
  44. }
  45. #ifndef __CHECKER__
  46. # undef __cond_lock
  47. # define __cond_lock(x,c) (c)
  48. #endif
  49. #endif