• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/block/drbd/
1#ifndef _DRBD_WRAPPERS_H
2#define _DRBD_WRAPPERS_H
3
4#include <linux/ctype.h>
5#include <linux/mm.h>
6
7/* see get_sb_bdev and bd_claim */
8extern char *drbd_sec_holder;
9
10/* sets the number of 512 byte sectors of our virtual device */
11static inline void drbd_set_my_capacity(struct drbd_conf *mdev,
12					sector_t size)
13{
14	/* set_capacity(mdev->this_bdev->bd_disk, size); */
15	set_capacity(mdev->vdisk, size);
16	mdev->this_bdev->bd_inode->i_size = (loff_t)size << 9;
17}
18
19#define drbd_bio_uptodate(bio) bio_flagged(bio, BIO_UPTODATE)
20
21/* bi_end_io handlers */
22extern void drbd_md_io_complete(struct bio *bio, int error);
23extern void drbd_endio_sec(struct bio *bio, int error);
24extern void drbd_endio_pri(struct bio *bio, int error);
25
26/*
27 * used to submit our private bio
28 */
29static inline void drbd_generic_make_request(struct drbd_conf *mdev,
30					     int fault_type, struct bio *bio)
31{
32	__release(local);
33	if (!bio->bi_bdev) {
34		printk(KERN_ERR "drbd%d: drbd_generic_make_request: "
35				"bio->bi_bdev == NULL\n",
36		       mdev_to_minor(mdev));
37		dump_stack();
38		bio_endio(bio, -ENODEV);
39		return;
40	}
41
42	if (FAULT_ACTIVE(mdev, fault_type))
43		bio_endio(bio, -EIO);
44	else
45		generic_make_request(bio);
46}
47
48static inline void drbd_plug_device(struct drbd_conf *mdev)
49{
50	struct request_queue *q;
51	q = bdev_get_queue(mdev->this_bdev);
52
53	spin_lock_irq(q->queue_lock);
54
55
56	if (!blk_queue_plugged(q)) {
57		blk_plug_device(q);
58		del_timer(&q->unplug_timer);
59		/* unplugging should not happen automatically... */
60	}
61	spin_unlock_irq(q->queue_lock);
62}
63
64static inline int drbd_crypto_is_hash(struct crypto_tfm *tfm)
65{
66        return (crypto_tfm_alg_type(tfm) & CRYPTO_ALG_TYPE_HASH_MASK)
67                == CRYPTO_ALG_TYPE_HASH;
68}
69
70#ifndef __CHECKER__
71# undef __cond_lock
72# define __cond_lock(x,c) (c)
73#endif
74
75#endif
76