drbd_wrappers.h 1.3 KB

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