sector_t drbd_bm_capacity(struct drbd_device *device)
 {
-       if (!expect(device->bitmap))
+       if (!expect(device, device->bitmap))
                return 0;
        return device->bitmap->bm_dev_capacity;
 }
  */
 void drbd_bm_cleanup(struct drbd_device *device)
 {
-       if (!expect(device->bitmap))
+       if (!expect(device, device->bitmap))
                return;
        bm_free_pages(device->bitmap->bm_pages, device->bitmap->bm_number_of_pages);
        bm_vk_free(device->bitmap->bm_pages);
        int err = 0;
        bool growing;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return -ENOMEM;
 
        drbd_bm_lock(device, "resize", BM_LOCKED_MASK);
        unsigned long s;
        unsigned long flags;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return 0;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return 0;
 
        spin_lock_irqsave(&b->bm_lock, flags);
 size_t drbd_bm_words(struct drbd_device *device)
 {
        struct drbd_bitmap *b = device->bitmap;
-       if (!expect(b))
+       if (!expect(device, b))
                return 0;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return 0;
 
        return b->bm_words;
 unsigned long drbd_bm_bits(struct drbd_device *device)
 {
        struct drbd_bitmap *b = device->bitmap;
-       if (!expect(b))
+       if (!expect(device, b))
                return 0;
 
        return b->bm_bits;
 
        end = offset + number;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return;
        if (number == 0)
                return;
 
        end = offset + number;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return;
 
        spin_lock_irq(&b->bm_lock);
 void drbd_bm_set_all(struct drbd_device *device)
 {
        struct drbd_bitmap *b = device->bitmap;
-       if (!expect(b))
+       if (!expect(device, b))
                return;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return;
 
        spin_lock_irq(&b->bm_lock);
 void drbd_bm_clear_all(struct drbd_device *device)
 {
        struct drbd_bitmap *b = device->bitmap;
-       if (!expect(b))
+       if (!expect(device, b))
                return;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return;
 
        spin_lock_irq(&b->bm_lock);
        struct drbd_bitmap *b = device->bitmap;
        unsigned long i = DRBD_END_OF_BITMAP;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return i;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return i;
 
        spin_lock_irq(&b->bm_lock);
        struct drbd_bitmap *b = device->bitmap;
        int c = 0;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return 1;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return 0;
 
        spin_lock_irqsave(&b->bm_lock, flags);
        unsigned long *p_addr;
        int i;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return 0;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return 0;
 
        spin_lock_irqsave(&b->bm_lock, flags);
         * robust in case we screwed up elsewhere, in that case pretend there
         * was one dirty bit in the requested area, so we won't try to do a
         * local read there (no bitmap probably implies no disk) */
-       if (!expect(b))
+       if (!expect(device, b))
                return 1;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return 1;
 
        spin_lock_irqsave(&b->bm_lock, flags);
                                bm_unmap(p_addr);
                        p_addr = bm_map_pidx(b, idx);
                }
-               if (expect(bitnr < b->bm_bits))
+               if (expect(device, bitnr < b->bm_bits))
                        c += (0 != test_bit_le(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr));
                else
                        drbd_err(device, "bitnr=%lu bm_bits=%lu\n", bitnr, b->bm_bits);
        unsigned long flags;
        unsigned long *p_addr, *bm;
 
-       if (!expect(b))
+       if (!expect(device, b))
                return 0;
-       if (!expect(b->bm_pages))
+       if (!expect(device, b->bm_pages))
                return 0;
 
        spin_lock_irqsave(&b->bm_lock, flags);
 
        drbd_free_pages(device, peer_req->pages, is_net);
        D_ASSERT(device, atomic_read(&peer_req->pending_bios) == 0);
        D_ASSERT(device, drbd_interval_empty(&peer_req->i));
-       if (!expect(!(peer_req->flags & EE_CALL_AL_COMPLETE_IO))) {
+       if (!expect(device, !(peer_req->flags & EE_CALL_AL_COMPLETE_IO))) {
                peer_req->flags &= ~EE_CALL_AL_COMPLETE_IO;
                drbd_al_complete_io(device, &peer_req->i);
        }
        /* assume request_size == data_size, but special case trim. */
        ds = data_size;
        if (trim) {
-               if (!expect(data_size == 0))
+               if (!expect(peer_device, data_size == 0))
                        return NULL;
                ds = be32_to_cpu(trim->size);
        } else if (zeroes) {
-               if (!expect(data_size == 0))
+               if (!expect(peer_device, data_size == 0))
                        return NULL;
                ds = be32_to_cpu(zeroes->size);
        }
 
-       if (!expect(IS_ALIGNED(ds, 512)))
+       if (!expect(peer_device, IS_ALIGNED(ds, 512)))
                return NULL;
        if (trim || zeroes) {
-               if (!expect(ds <= (DRBD_MAX_BBIO_SECTORS << 9)))
+               if (!expect(peer_device, ds <= (DRBD_MAX_BBIO_SECTORS << 9)))
                        return NULL;
-       } else if (!expect(ds <= DRBD_MAX_BIO_SIZE))
+       } else if (!expect(peer_device, ds <= DRBD_MAX_BIO_SIZE))
                return NULL;
 
        /* even though we trust out peer,