Commit 54761697 authored by Andreas Gruenbacher's avatar Andreas Gruenbacher Committed by Philipp Reisner

drbd: Rename struct drbd_conf -> struct drbd_device

sed -i -e 's:\<drbd_conf\>:drbd_device:g'
Signed-off-by: default avatarAndreas Gruenbacher <agruen@linbit.com>
Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
parent a3603a6e
......@@ -105,7 +105,7 @@ struct update_al_work {
};
void *drbd_md_get_buffer(struct drbd_conf *mdev)
void *drbd_md_get_buffer(struct drbd_device *mdev)
{
int r;
......@@ -116,13 +116,13 @@ void *drbd_md_get_buffer(struct drbd_conf *mdev)
return r ? NULL : page_address(mdev->md_io_page);
}
void drbd_md_put_buffer(struct drbd_conf *mdev)
void drbd_md_put_buffer(struct drbd_device *mdev)
{
if (atomic_dec_and_test(&mdev->md_io_in_use))
wake_up(&mdev->misc_wait);
}
void wait_until_done_or_force_detached(struct drbd_conf *mdev, struct drbd_backing_dev *bdev,
void wait_until_done_or_force_detached(struct drbd_device *mdev, struct drbd_backing_dev *bdev,
unsigned int *done)
{
long dt;
......@@ -142,7 +142,7 @@ void wait_until_done_or_force_detached(struct drbd_conf *mdev, struct drbd_backi
}
}
static int _drbd_md_sync_page_io(struct drbd_conf *mdev,
static int _drbd_md_sync_page_io(struct drbd_device *mdev,
struct drbd_backing_dev *bdev,
struct page *page, sector_t sector,
int rw, int size)
......@@ -192,7 +192,7 @@ static int _drbd_md_sync_page_io(struct drbd_conf *mdev,
return err;
}
int drbd_md_sync_page_io(struct drbd_conf *mdev, struct drbd_backing_dev *bdev,
int drbd_md_sync_page_io(struct drbd_device *mdev, struct drbd_backing_dev *bdev,
sector_t sector, int rw)
{
int err;
......@@ -222,7 +222,7 @@ int drbd_md_sync_page_io(struct drbd_conf *mdev, struct drbd_backing_dev *bdev,
return err;
}
static struct bm_extent *find_active_resync_extent(struct drbd_conf *mdev, unsigned int enr)
static struct bm_extent *find_active_resync_extent(struct drbd_device *mdev, unsigned int enr)
{
struct lc_element *tmp;
tmp = lc_find(mdev->resync, enr/AL_EXT_PER_BM_SECT);
......@@ -234,7 +234,7 @@ static struct bm_extent *find_active_resync_extent(struct drbd_conf *mdev, unsig
return NULL;
}
static struct lc_element *_al_get(struct drbd_conf *mdev, unsigned int enr, bool nonblock)
static struct lc_element *_al_get(struct drbd_device *mdev, unsigned int enr, bool nonblock)
{
struct lc_element *al_ext;
struct bm_extent *bm_ext;
......@@ -257,7 +257,7 @@ static struct lc_element *_al_get(struct drbd_conf *mdev, unsigned int enr, bool
return al_ext;
}
bool drbd_al_begin_io_fastpath(struct drbd_conf *mdev, struct drbd_interval *i)
bool drbd_al_begin_io_fastpath(struct drbd_device *mdev, struct drbd_interval *i)
{
/* for bios crossing activity log extent boundaries,
* we may need to activate two extents in one go */
......@@ -275,7 +275,7 @@ bool drbd_al_begin_io_fastpath(struct drbd_conf *mdev, struct drbd_interval *i)
}
static
bool drbd_al_begin_io_prepare(struct drbd_conf *mdev, struct drbd_interval *i)
bool drbd_al_begin_io_prepare(struct drbd_device *mdev, struct drbd_interval *i)
{
/* for bios crossing activity log extent boundaries,
* we may need to activate two extents in one go */
......@@ -297,7 +297,7 @@ bool drbd_al_begin_io_prepare(struct drbd_conf *mdev, struct drbd_interval *i)
return need_transaction;
}
static int al_write_transaction(struct drbd_conf *mdev, bool delegate);
static int al_write_transaction(struct drbd_device *mdev, bool delegate);
/* When called through generic_make_request(), we must delegate
* activity log I/O to the worker thread: a further request
......@@ -311,7 +311,7 @@ static int al_write_transaction(struct drbd_conf *mdev, bool delegate);
/*
* @delegate: delegate activity log I/O to the worker thread
*/
void drbd_al_begin_io_commit(struct drbd_conf *mdev, bool delegate)
void drbd_al_begin_io_commit(struct drbd_device *mdev, bool delegate)
{
bool locked = false;
......@@ -352,7 +352,7 @@ void drbd_al_begin_io_commit(struct drbd_conf *mdev, bool delegate)
/*
* @delegate: delegate activity log I/O to the worker thread
*/
void drbd_al_begin_io(struct drbd_conf *mdev, struct drbd_interval *i, bool delegate)
void drbd_al_begin_io(struct drbd_device *mdev, struct drbd_interval *i, bool delegate)
{
BUG_ON(delegate && current == mdev->tconn->worker.task);
......@@ -360,7 +360,7 @@ void drbd_al_begin_io(struct drbd_conf *mdev, struct drbd_interval *i, bool dele
drbd_al_begin_io_commit(mdev, delegate);
}
int drbd_al_begin_io_nonblock(struct drbd_conf *mdev, struct drbd_interval *i)
int drbd_al_begin_io_nonblock(struct drbd_device *mdev, struct drbd_interval *i)
{
struct lru_cache *al = mdev->act_log;
/* for bios crossing activity log extent boundaries,
......@@ -409,7 +409,7 @@ int drbd_al_begin_io_nonblock(struct drbd_conf *mdev, struct drbd_interval *i)
return 0;
}
void drbd_al_complete_io(struct drbd_conf *mdev, struct drbd_interval *i)
void drbd_al_complete_io(struct drbd_device *mdev, struct drbd_interval *i)
{
/* for bios crossing activity log extent boundaries,
* we may need to activate two extents in one go */
......@@ -461,7 +461,7 @@ static unsigned int rs_extent_to_bm_page(unsigned int rs_enr)
(BM_EXT_SHIFT - BM_BLOCK_SHIFT));
}
static sector_t al_tr_number_to_on_disk_sector(struct drbd_conf *mdev)
static sector_t al_tr_number_to_on_disk_sector(struct drbd_device *mdev)
{
const unsigned int stripes = mdev->ldev->md.al_stripes;
const unsigned int stripe_size_4kB = mdev->ldev->md.al_stripe_size_4k;
......@@ -480,7 +480,7 @@ static sector_t al_tr_number_to_on_disk_sector(struct drbd_conf *mdev)
}
static int
_al_write_transaction(struct drbd_conf *mdev)
_al_write_transaction(struct drbd_device *mdev)
{
struct al_transaction_on_disk *buffer;
struct lc_element *e;
......@@ -594,7 +594,7 @@ _al_write_transaction(struct drbd_conf *mdev)
static int w_al_write_transaction(struct drbd_work *w, int unused)
{
struct update_al_work *aw = container_of(w, struct update_al_work, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
int err;
err = _al_write_transaction(mdev);
......@@ -607,7 +607,7 @@ static int w_al_write_transaction(struct drbd_work *w, int unused)
/* Calls from worker context (see w_restart_disk_io()) need to write the
transaction directly. Others came through generic_make_request(),
those need to delegate it to the worker. */
static int al_write_transaction(struct drbd_conf *mdev, bool delegate)
static int al_write_transaction(struct drbd_device *mdev, bool delegate)
{
if (delegate) {
struct update_al_work al_work;
......@@ -621,7 +621,7 @@ static int al_write_transaction(struct drbd_conf *mdev, bool delegate)
return _al_write_transaction(mdev);
}
static int _try_lc_del(struct drbd_conf *mdev, struct lc_element *al_ext)
static int _try_lc_del(struct drbd_device *mdev, struct lc_element *al_ext)
{
int rv;
......@@ -643,7 +643,7 @@ static int _try_lc_del(struct drbd_conf *mdev, struct lc_element *al_ext)
*
* You need to lock mdev->act_log with lc_try_lock() / lc_unlock()
*/
void drbd_al_shrink(struct drbd_conf *mdev)
void drbd_al_shrink(struct drbd_device *mdev)
{
struct lc_element *al_ext;
int i;
......@@ -660,7 +660,7 @@ void drbd_al_shrink(struct drbd_conf *mdev)
wake_up(&mdev->al_wait);
}
int drbd_initialize_al(struct drbd_conf *mdev, void *buffer)
int drbd_initialize_al(struct drbd_device *mdev, void *buffer)
{
struct al_transaction_on_disk *al = buffer;
struct drbd_md *md = &mdev->ldev->md;
......@@ -684,7 +684,7 @@ int drbd_initialize_al(struct drbd_conf *mdev, void *buffer)
static int w_update_odbm(struct drbd_work *w, int unused)
{
struct update_odbm_work *udw = container_of(w, struct update_odbm_work, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct sib_info sib = { .sib_reason = SIB_SYNC_PROGRESS, };
if (!get_ldev(mdev)) {
......@@ -721,7 +721,7 @@ static int w_update_odbm(struct drbd_work *w, int unused)
*
* TODO will be obsoleted once we have a caching lru of the on disk bitmap
*/
static void drbd_try_clear_on_disk_bm(struct drbd_conf *mdev, sector_t sector,
static void drbd_try_clear_on_disk_bm(struct drbd_device *mdev, sector_t sector,
int count, int success)
{
struct lc_element *e;
......@@ -809,7 +809,7 @@ static void drbd_try_clear_on_disk_bm(struct drbd_conf *mdev, sector_t sector,
}
}
void drbd_advance_rs_marks(struct drbd_conf *mdev, unsigned long still_to_go)
void drbd_advance_rs_marks(struct drbd_device *mdev, unsigned long still_to_go)
{
unsigned long now = jiffies;
unsigned long last = mdev->rs_mark_time[mdev->rs_last_mark];
......@@ -832,7 +832,7 @@ void drbd_advance_rs_marks(struct drbd_conf *mdev, unsigned long still_to_go)
* called by worker on C_SYNC_TARGET and receiver on SyncSource.
*
*/
void __drbd_set_in_sync(struct drbd_conf *mdev, sector_t sector, int size,
void __drbd_set_in_sync(struct drbd_device *mdev, sector_t sector, int size,
const char *file, const unsigned int line)
{
/* Is called from worker and receiver context _only_ */
......@@ -904,7 +904,7 @@ void __drbd_set_in_sync(struct drbd_conf *mdev, sector_t sector, int size,
* called by tl_clear and drbd_send_dblock (==drbd_make_request).
* so this can be _any_ process.
*/
int __drbd_set_out_of_sync(struct drbd_conf *mdev, sector_t sector, int size,
int __drbd_set_out_of_sync(struct drbd_device *mdev, sector_t sector, int size,
const char *file, const unsigned int line)
{
unsigned long sbnr, ebnr, flags;
......@@ -956,7 +956,7 @@ int __drbd_set_out_of_sync(struct drbd_conf *mdev, sector_t sector, int size,
}
static
struct bm_extent *_bme_get(struct drbd_conf *mdev, unsigned int enr)
struct bm_extent *_bme_get(struct drbd_device *mdev, unsigned int enr)
{
struct lc_element *e;
struct bm_extent *bm_ext;
......@@ -996,7 +996,7 @@ struct bm_extent *_bme_get(struct drbd_conf *mdev, unsigned int enr)
return bm_ext;
}
static int _is_in_al(struct drbd_conf *mdev, unsigned int enr)
static int _is_in_al(struct drbd_device *mdev, unsigned int enr)
{
int rv;
......@@ -1014,7 +1014,7 @@ static int _is_in_al(struct drbd_conf *mdev, unsigned int enr)
*
* This functions sleeps on al_wait. Returns 0 on success, -EINTR if interrupted.
*/
int drbd_rs_begin_io(struct drbd_conf *mdev, sector_t sector)
int drbd_rs_begin_io(struct drbd_device *mdev, sector_t sector)
{
unsigned int enr = BM_SECT_TO_EXT(sector);
struct bm_extent *bm_ext;
......@@ -1067,7 +1067,7 @@ int drbd_rs_begin_io(struct drbd_conf *mdev, sector_t sector)
* tries to set it to BME_LOCKED. Returns 0 upon success, and -EAGAIN
* if there is still application IO going on in this area.
*/
int drbd_try_rs_begin_io(struct drbd_conf *mdev, sector_t sector)
int drbd_try_rs_begin_io(struct drbd_device *mdev, sector_t sector)
{
unsigned int enr = BM_SECT_TO_EXT(sector);
const unsigned int al_enr = enr*AL_EXT_PER_BM_SECT;
......@@ -1166,7 +1166,7 @@ int drbd_try_rs_begin_io(struct drbd_conf *mdev, sector_t sector)
return -EAGAIN;
}
void drbd_rs_complete_io(struct drbd_conf *mdev, sector_t sector)
void drbd_rs_complete_io(struct drbd_device *mdev, sector_t sector)
{
unsigned int enr = BM_SECT_TO_EXT(sector);
struct lc_element *e;
......@@ -1204,7 +1204,7 @@ void drbd_rs_complete_io(struct drbd_conf *mdev, sector_t sector)
* drbd_rs_cancel_all() - Removes all extents from the resync LRU (even BME_LOCKED)
* @mdev: DRBD device.
*/
void drbd_rs_cancel_all(struct drbd_conf *mdev)
void drbd_rs_cancel_all(struct drbd_device *mdev)
{
spin_lock_irq(&mdev->al_lock);
......@@ -1225,7 +1225,7 @@ void drbd_rs_cancel_all(struct drbd_conf *mdev)
* Returns 0 upon success, -EAGAIN if at least one reference count was
* not zero.
*/
int drbd_rs_del_all(struct drbd_conf *mdev)
int drbd_rs_del_all(struct drbd_device *mdev)
{
struct lc_element *e;
struct bm_extent *bm_ext;
......@@ -1276,7 +1276,7 @@ int drbd_rs_del_all(struct drbd_conf *mdev)
* @sector: The sector number.
* @size: Size of failed IO operation, in byte.
*/
void drbd_rs_failed_io(struct drbd_conf *mdev, sector_t sector, int size)
void drbd_rs_failed_io(struct drbd_device *mdev, sector_t sector, int size)
{
/* Is called from worker and receiver context _only_ */
unsigned long sbnr, ebnr, lbnr;
......
......@@ -113,7 +113,7 @@ struct drbd_bitmap {
};
#define bm_print_lock_info(m) __bm_print_lock_info(m, __func__)
static void __bm_print_lock_info(struct drbd_conf *mdev, const char *func)
static void __bm_print_lock_info(struct drbd_device *mdev, const char *func)
{
struct drbd_bitmap *b = mdev->bitmap;
if (!__ratelimit(&drbd_ratelimit_state))
......@@ -124,7 +124,7 @@ static void __bm_print_lock_info(struct drbd_conf *mdev, const char *func)
drbd_task_to_thread_name(mdev->tconn, b->bm_task));
}
void drbd_bm_lock(struct drbd_conf *mdev, char *why, enum bm_flag flags)
void drbd_bm_lock(struct drbd_device *mdev, char *why, enum bm_flag flags)
{
struct drbd_bitmap *b = mdev->bitmap;
int trylock_failed;
......@@ -151,7 +151,7 @@ void drbd_bm_lock(struct drbd_conf *mdev, char *why, enum bm_flag flags)
b->bm_task = current;
}
void drbd_bm_unlock(struct drbd_conf *mdev)
void drbd_bm_unlock(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
if (!b) {
......@@ -211,14 +211,14 @@ static unsigned long bm_page_to_idx(struct page *page)
/* As is very unlikely that the same page is under IO from more than one
* context, we can get away with a bit per page and one wait queue per bitmap.
*/
static void bm_page_lock_io(struct drbd_conf *mdev, int page_nr)
static void bm_page_lock_io(struct drbd_device *mdev, int page_nr)
{
struct drbd_bitmap *b = mdev->bitmap;
void *addr = &page_private(b->bm_pages[page_nr]);
wait_event(b->bm_io_wait, !test_and_set_bit(BM_PAGE_IO_LOCK, addr));
}
static void bm_page_unlock_io(struct drbd_conf *mdev, int page_nr)
static void bm_page_unlock_io(struct drbd_device *mdev, int page_nr)
{
struct drbd_bitmap *b = mdev->bitmap;
void *addr = &page_private(b->bm_pages[page_nr]);
......@@ -249,7 +249,7 @@ static void bm_set_page_need_writeout(struct page *page)
* hints, then call drbd_bm_write_hinted(), which will only write out changed
* pages which are flagged with this mark.
*/
void drbd_bm_mark_for_writeout(struct drbd_conf *mdev, int page_nr)
void drbd_bm_mark_for_writeout(struct drbd_device *mdev, int page_nr)
{
struct page *page;
if (page_nr >= mdev->bitmap->bm_number_of_pages) {
......@@ -340,7 +340,7 @@ static void bm_unmap(unsigned long *p_addr)
/*
* actually most functions herein should take a struct drbd_bitmap*, not a
* struct drbd_conf*, but for the debug macros I like to have the mdev around
* struct drbd_device*, but for the debug macros I like to have the mdev around
* to be able to report device specific.
*/
......@@ -438,7 +438,7 @@ static struct page **bm_realloc_pages(struct drbd_bitmap *b, unsigned long want)
* called on driver init only. TODO call when a device is created.
* allocates the drbd_bitmap, and stores it in mdev->bitmap.
*/
int drbd_bm_init(struct drbd_conf *mdev)
int drbd_bm_init(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
WARN_ON(b != NULL);
......@@ -454,7 +454,7 @@ int drbd_bm_init(struct drbd_conf *mdev)
return 0;
}
sector_t drbd_bm_capacity(struct drbd_conf *mdev)
sector_t drbd_bm_capacity(struct drbd_device *mdev)
{
if (!expect(mdev->bitmap))
return 0;
......@@ -463,7 +463,7 @@ sector_t drbd_bm_capacity(struct drbd_conf *mdev)
/* called on driver unload. TODO: call when a device is destroyed.
*/
void drbd_bm_cleanup(struct drbd_conf *mdev)
void drbd_bm_cleanup(struct drbd_device *mdev)
{
if (!expect(mdev->bitmap))
return;
......@@ -631,7 +631,7 @@ static u64 drbd_md_on_disk_bits(struct drbd_backing_dev *ldev)
* In case this is actually a resize, we copy the old bitmap into the new one.
* Otherwise, the bitmap is initialized to all bits set.
*/
int drbd_bm_resize(struct drbd_conf *mdev, sector_t capacity, int set_new_bits)
int drbd_bm_resize(struct drbd_device *mdev, sector_t capacity, int set_new_bits)
{
struct drbd_bitmap *b = mdev->bitmap;
unsigned long bits, words, owords, obits;
......@@ -757,7 +757,7 @@ int drbd_bm_resize(struct drbd_conf *mdev, sector_t capacity, int set_new_bits)
*
* maybe bm_set should be atomic_t ?
*/
unsigned long _drbd_bm_total_weight(struct drbd_conf *mdev)
unsigned long _drbd_bm_total_weight(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
unsigned long s;
......@@ -775,7 +775,7 @@ unsigned long _drbd_bm_total_weight(struct drbd_conf *mdev)
return s;
}
unsigned long drbd_bm_total_weight(struct drbd_conf *mdev)
unsigned long drbd_bm_total_weight(struct drbd_device *mdev)
{
unsigned long s;
/* if I don't have a disk, I don't know about out-of-sync status */
......@@ -786,7 +786,7 @@ unsigned long drbd_bm_total_weight(struct drbd_conf *mdev)
return s;
}
size_t drbd_bm_words(struct drbd_conf *mdev)
size_t drbd_bm_words(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
if (!expect(b))
......@@ -797,7 +797,7 @@ size_t drbd_bm_words(struct drbd_conf *mdev)
return b->bm_words;
}
unsigned long drbd_bm_bits(struct drbd_conf *mdev)
unsigned long drbd_bm_bits(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
if (!expect(b))
......@@ -811,7 +811,7 @@ unsigned long drbd_bm_bits(struct drbd_conf *mdev)
* bitmap must be locked by drbd_bm_lock.
* currently only used from receive_bitmap.
*/
void drbd_bm_merge_lel(struct drbd_conf *mdev, size_t offset, size_t number,
void drbd_bm_merge_lel(struct drbd_device *mdev, size_t offset, size_t number,
unsigned long *buffer)
{
struct drbd_bitmap *b = mdev->bitmap;
......@@ -860,7 +860,7 @@ void drbd_bm_merge_lel(struct drbd_conf *mdev, size_t offset, size_t number,
/* copy number words from the bitmap starting at offset into the buffer.
* buffer[i] will be little endian unsigned long.
*/
void drbd_bm_get_lel(struct drbd_conf *mdev, size_t offset, size_t number,
void drbd_bm_get_lel(struct drbd_device *mdev, size_t offset, size_t number,
unsigned long *buffer)
{
struct drbd_bitmap *b = mdev->bitmap;
......@@ -897,7 +897,7 @@ void drbd_bm_get_lel(struct drbd_conf *mdev, size_t offset, size_t number,
}
/* set all bits in the bitmap */
void drbd_bm_set_all(struct drbd_conf *mdev)
void drbd_bm_set_all(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
if (!expect(b))
......@@ -913,7 +913,7 @@ void drbd_bm_set_all(struct drbd_conf *mdev)
}
/* clear all bits in the bitmap */
void drbd_bm_clear_all(struct drbd_conf *mdev)
void drbd_bm_clear_all(struct drbd_device *mdev)
{
struct drbd_bitmap *b = mdev->bitmap;
if (!expect(b))
......@@ -928,7 +928,7 @@ void drbd_bm_clear_all(struct drbd_conf *mdev)
}
struct bm_aio_ctx {
struct drbd_conf *mdev;
struct drbd_device *mdev;
atomic_t in_flight;
unsigned int done;
unsigned flags;
......@@ -951,7 +951,7 @@ static void bm_aio_ctx_destroy(struct kref *kref)
static void bm_async_io_complete(struct bio *bio, int error)
{
struct bm_aio_ctx *ctx = bio->bi_private;
struct drbd_conf *mdev = ctx->mdev;
struct drbd_device *mdev = ctx->mdev;
struct drbd_bitmap *b = mdev->bitmap;
unsigned int idx = bm_page_to_idx(bio->bi_io_vec[0].bv_page);
int uptodate = bio_flagged(bio, BIO_UPTODATE);
......@@ -1000,7 +1000,7 @@ static void bm_async_io_complete(struct bio *bio, int error)
static void bm_page_io_async(struct bm_aio_ctx *ctx, int page_nr, int rw) __must_hold(local)
{
struct bio *bio = bio_alloc_drbd(GFP_NOIO);
struct drbd_conf *mdev = ctx->mdev;
struct drbd_device *mdev = ctx->mdev;
struct drbd_bitmap *b = mdev->bitmap;
struct page *page;
unsigned int len;
......@@ -1049,7 +1049,7 @@ static void bm_page_io_async(struct bm_aio_ctx *ctx, int page_nr, int rw) __must
/*
* bm_rw: read/write the whole bitmap from/to its on disk location.
*/
static int bm_rw(struct drbd_conf *mdev, int rw, unsigned flags, unsigned lazy_writeout_upper_idx) __must_hold(local)
static int bm_rw(struct drbd_device *mdev, int rw, unsigned flags, unsigned lazy_writeout_upper_idx) __must_hold(local)
{
struct bm_aio_ctx *ctx;
struct drbd_bitmap *b = mdev->bitmap;
......@@ -1173,7 +1173,7 @@ static int bm_rw(struct drbd_conf *mdev, int rw, unsigned flags, unsigned lazy_w
* drbd_bm_read() - Read the whole bitmap from its on disk location.
* @mdev: DRBD device.
*/
int drbd_bm_read(struct drbd_conf *mdev) __must_hold(local)
int drbd_bm_read(struct drbd_device *mdev) __must_hold(local)
{
return bm_rw(mdev, READ, 0, 0);
}
......@@ -1184,7 +1184,7 @@ int drbd_bm_read(struct drbd_conf *mdev) __must_hold(local)
*
* Will only write pages that have changed since last IO.
*/
int drbd_bm_write(struct drbd_conf *mdev) __must_hold(local)
int drbd_bm_write(struct drbd_device *mdev) __must_hold(local)
{
return bm_rw(mdev, WRITE, 0, 0);
}
......@@ -1195,7 +1195,7 @@ int drbd_bm_write(struct drbd_conf *mdev) __must_hold(local)
*
* Will write all pages.
*/
int drbd_bm_write_all(struct drbd_conf *mdev) __must_hold(local)
int drbd_bm_write_all(struct drbd_device *mdev) __must_hold(local)
{
return bm_rw(mdev, WRITE, BM_WRITE_ALL_PAGES, 0);
}
......@@ -1211,7 +1211,7 @@ int drbd_bm_write_all(struct drbd_conf *mdev) __must_hold(local)
* verify is aborted due to a failed peer disk, while local IO continues, or
* pending resync acks are still being processed.
*/
int drbd_bm_write_copy_pages(struct drbd_conf *mdev) __must_hold(local)
int drbd_bm_write_copy_pages(struct drbd_device *mdev) __must_hold(local)
{
return bm_rw(mdev, WRITE, BM_AIO_COPY_PAGES, 0);
}
......@@ -1220,7 +1220,7 @@ int drbd_bm_write_copy_pages(struct drbd_conf *mdev) __must_hold(local)
* drbd_bm_write_hinted() - Write bitmap pages with "hint" marks, if they have changed.
* @mdev: DRBD device.
*/
int drbd_bm_write_hinted(struct drbd_conf *mdev) __must_hold(local)
int drbd_bm_write_hinted(struct drbd_device *mdev) __must_hold(local)
{
return bm_rw(mdev, WRITE, BM_AIO_WRITE_HINTED | BM_AIO_COPY_PAGES, 0);
}
......@@ -1237,7 +1237,7 @@ int drbd_bm_write_hinted(struct drbd_conf *mdev) __must_hold(local)
* In case this becomes an issue on systems with larger PAGE_SIZE,
* we may want to change this again to write 4k aligned 4k pieces.
*/
int drbd_bm_write_page(struct drbd_conf *mdev, unsigned int idx) __must_hold(local)
int drbd_bm_write_page(struct drbd_device *mdev, unsigned int idx) __must_hold(local)
{
struct bm_aio_ctx *ctx;
int err;
......@@ -1288,7 +1288,7 @@ int drbd_bm_write_page(struct drbd_conf *mdev, unsigned int idx) __must_hold(loc
*
* this returns a bit number, NOT a sector!
*/
static unsigned long __bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo,
static unsigned long __bm_find_next(struct drbd_device *mdev, unsigned long bm_fo,
const int find_zero_bit)
{
struct drbd_bitmap *b = mdev->bitmap;
......@@ -1328,7 +1328,7 @@ static unsigned long __bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo,
return bm_fo;
}
static unsigned long bm_find_next(struct drbd_conf *mdev,
static unsigned long bm_find_next(struct drbd_device *mdev,
unsigned long bm_fo, const int find_zero_bit)
{
struct drbd_bitmap *b = mdev->bitmap;
......@@ -1349,14 +1349,14 @@ static unsigned long bm_find_next(struct drbd_conf *mdev,
return i;
}
unsigned long drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo)
unsigned long drbd_bm_find_next(struct drbd_device *mdev, unsigned long bm_fo)
{
return bm_find_next(mdev, bm_fo, 0);
}
#if 0
/* not yet needed for anything. */
unsigned long drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo)
unsigned long drbd_bm_find_next_zero(struct drbd_device *mdev, unsigned long bm_fo)
{
return bm_find_next(mdev, bm_fo, 1);
}
......@@ -1364,13 +1364,13 @@ unsigned long drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo
/* does not spin_lock_irqsave.
* you must take drbd_bm_lock() first */
unsigned long _drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo)
unsigned long _drbd_bm_find_next(struct drbd_device *mdev, unsigned long bm_fo)
{
/* WARN_ON(!(BM_DONT_SET & mdev->b->bm_flags)); */
return __bm_find_next(mdev, bm_fo, 0);
}
unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo)
unsigned long _drbd_bm_find_next_zero(struct drbd_device *mdev, unsigned long bm_fo)
{
/* WARN_ON(!(BM_DONT_SET & mdev->b->bm_flags)); */
return __bm_find_next(mdev, bm_fo, 1);
......@@ -1382,7 +1382,7 @@ unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_f
* wants bitnr, not sector.
* expected to be called for only a few bits (e - s about BITS_PER_LONG).
* Must hold bitmap lock already. */
static int __bm_change_bits_to(struct drbd_conf *mdev, const unsigned long s,
static int __bm_change_bits_to(struct drbd_device *mdev, const unsigned long s,
unsigned long e, int val)
{
struct drbd_bitmap *b = mdev->bitmap;
......@@ -1431,7 +1431,7 @@ static int __bm_change_bits_to(struct drbd_conf *mdev, const unsigned long s,
* for val != 0, we change 0 -> 1, return code positive
* for val == 0, we change 1 -> 0, return code negative
* wants bitnr, not sector */
static int bm_change_bits_to(struct drbd_conf *mdev, const unsigned long s,
static int bm_change_bits_to(struct drbd_device *mdev, const unsigned long s,
const unsigned long e, int val)
{
unsigned long flags;
......@@ -1454,13 +1454,13 @@ static int bm_change_bits_to(struct drbd_conf *mdev, const unsigned long s,
}
/* returns number of bits changed 0 -> 1 */
int drbd_bm_set_bits(struct drbd_conf *mdev, const unsigned long s, const unsigned long e)
int drbd_bm_set_bits(struct drbd_device *mdev, const unsigned long s, const unsigned long e)
{
return bm_change_bits_to(mdev, s, e, 1);
}
/* returns number of bits changed 1 -> 0 */
int drbd_bm_clear_bits(struct drbd_conf *mdev, const unsigned long s, const unsigned long e)
int drbd_bm_clear_bits(struct drbd_device *mdev, const unsigned long s, const unsigned long e)
{
return -bm_change_bits_to(mdev, s, e, 0);
}
......@@ -1494,7 +1494,7 @@ static inline void bm_set_full_words_within_one_page(struct drbd_bitmap *b,
* You must first drbd_bm_lock().
* Can be called to set the whole bitmap in one go.
* Sets bits from s to e _inclusive_. */
void _drbd_bm_set_bits(struct drbd_conf *mdev, const unsigned long s, const unsigned long e)
void _drbd_bm_set_bits(struct drbd_device *mdev, const unsigned long s, const unsigned long e)
{
/* First set_bit from the first bit (s)
* up to the next long boundary (sl),
......@@ -1574,7 +1574,7 @@ void _drbd_bm_set_bits(struct drbd_conf *mdev, const unsigned long s, const unsi
* 0 ... bit not set
* -1 ... first out of bounds access, stop testing for bits!
*/
int drbd_bm_test_bit(struct drbd_conf *mdev, const unsigned long bitnr)
int drbd_bm_test_bit(struct drbd_device *mdev, const unsigned long bitnr)
{
unsigned long flags;
struct drbd_bitmap *b = mdev->bitmap;
......@@ -1605,7 +1605,7 @@ int drbd_bm_test_bit(struct drbd_conf *mdev, const unsigned long bitnr)
}
/* returns number of bits set in the range [s, e] */
int drbd_bm_count_bits(struct drbd_conf *mdev, const unsigned long s, const unsigned long e)
int drbd_bm_count_bits(struct drbd_device *mdev, const unsigned long s, const unsigned long e)
{
unsigned long flags;
struct drbd_bitmap *b = mdev->bitmap;
......@@ -1660,7 +1660,7 @@ int drbd_bm_count_bits(struct drbd_conf *mdev, const unsigned long s, const unsi
* reference count of some bitmap extent element from some lru instead...
*
*/
int drbd_bm_e_weight(struct drbd_conf *mdev, unsigned long enr)
int drbd_bm_e_weight(struct drbd_device *mdev, unsigned long enr)
{
struct drbd_bitmap *b = mdev->bitmap;
int count, s, e;
......
......@@ -66,7 +66,7 @@
extern unsigned int minor_count;
extern bool disable_sendpage;
extern bool allow_oos;
void tl_abort_disk_io(struct drbd_conf *mdev);
void tl_abort_disk_io(struct drbd_device *mdev);
#ifdef CONFIG_DRBD_FAULT_INJECTION
extern int enable_faults;
......@@ -97,7 +97,7 @@ extern char usermode_helper[];
#define UUID_NEW_BM_OFFSET ((u64)0x0001000000000000ULL)
struct drbd_conf;
struct drbd_device;
struct drbd_tconn;
......@@ -147,10 +147,10 @@ enum {
};
extern unsigned int
_drbd_insert_fault(struct drbd_conf *mdev, unsigned int type);
_drbd_insert_fault(struct drbd_device *mdev, unsigned int type);
static inline int
drbd_insert_fault(struct drbd_conf *mdev, unsigned int type) {
drbd_insert_fault(struct drbd_device *mdev, unsigned int type) {
#ifdef CONFIG_DRBD_FAULT_INJECTION
return fault_rate &&
(enable_faults & (1<<type)) &&
......@@ -189,7 +189,7 @@ struct bm_xfer_ctx {
unsigned bytes[2];
};
extern void INFO_bm_xfer_stats(struct drbd_conf *mdev,
extern void INFO_bm_xfer_stats(struct drbd_device *mdev,
const char *direction, struct bm_xfer_ctx *c);
static inline void bm_xfer_ctx_bit_to_word_offset(struct bm_xfer_ctx *c)
......@@ -246,14 +246,14 @@ struct drbd_work {
struct list_head list;
int (*cb)(struct drbd_work *, int cancel);
union {
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct drbd_tconn *tconn;
};
};
#include "drbd_interval.h"
extern int drbd_wait_misc(struct drbd_conf *, struct drbd_interval *);
extern int drbd_wait_misc(struct drbd_device *, struct drbd_interval *);
struct drbd_request {
struct drbd_work w;
......@@ -409,7 +409,7 @@ enum {
READ_BALANCE_RR,
};
struct drbd_bitmap; /* opaque for drbd_conf */
struct drbd_bitmap; /* opaque for drbd_device */
/* definition of bits in bm_flags to be used in drbd_bm_lock
* and drbd_bitmap_io and friends. */
......@@ -496,8 +496,8 @@ struct bm_io_work {
struct drbd_work w;
char *why;
enum bm_flag flags;
int (*io_fn)(struct drbd_conf *mdev);
void (*done)(struct drbd_conf *mdev, int rv);
int (*io_fn)(struct drbd_device *mdev);
void (*done)(struct drbd_device *mdev, int rv);
};
enum write_ordering_e {
......@@ -617,7 +617,7 @@ struct submit_worker {
struct list_head writes;
};
struct drbd_conf {
struct drbd_device {
struct drbd_tconn *tconn;
int vnr; /* volume number within the connection */
struct kref kref;
......@@ -763,19 +763,19 @@ struct drbd_conf {
struct submit_worker submit;
};
static inline struct drbd_conf *minor_to_mdev(unsigned int minor)
static inline struct drbd_device *minor_to_mdev(unsigned int minor)
{
return (struct drbd_conf *)idr_find(&minors, minor);
return (struct drbd_device *)idr_find(&minors, minor);
}
static inline unsigned int mdev_to_minor(struct drbd_conf *mdev)
static inline unsigned int mdev_to_minor(struct drbd_device *mdev)
{
return mdev->minor;
}
static inline struct drbd_conf *vnr_to_mdev(struct drbd_tconn *tconn, int vnr)
static inline struct drbd_device *vnr_to_mdev(struct drbd_tconn *tconn, int vnr)
{
return (struct drbd_conf *)idr_find(&tconn->volumes, vnr);
return (struct drbd_device *)idr_find(&tconn->volumes, vnr);
}
/*
......@@ -789,7 +789,7 @@ enum dds_flags {
DDSF_NO_RESYNC = 2, /* Do not run a resync for the new space */
};
extern void drbd_init_set_defaults(struct drbd_conf *mdev);
extern void drbd_init_set_defaults(struct drbd_device *mdev);
extern int drbd_thread_start(struct drbd_thread *thi);
extern void _drbd_thread_stop(struct drbd_thread *thi, int restart, int wait);
extern char *drbd_task_to_thread_name(struct drbd_tconn *tconn, struct task_struct *task);
......@@ -811,74 +811,74 @@ extern int drbd_send_all(struct drbd_tconn *, struct socket *, void *, size_t,
extern int __drbd_send_protocol(struct drbd_tconn *tconn, enum drbd_packet cmd);
extern int drbd_send_protocol(struct drbd_tconn *tconn);
extern int drbd_send_uuids(struct drbd_conf *mdev);
extern int drbd_send_uuids_skip_initial_sync(struct drbd_conf *mdev);
extern void drbd_gen_and_send_sync_uuid(struct drbd_conf *mdev);
extern int drbd_send_sizes(struct drbd_conf *mdev, int trigger_reply, enum dds_flags flags);
extern int drbd_send_state(struct drbd_conf *mdev, union drbd_state s);
extern int drbd_send_current_state(struct drbd_conf *mdev);
extern int drbd_send_sync_param(struct drbd_conf *mdev);
extern int drbd_send_uuids(struct drbd_device *mdev);
extern int drbd_send_uuids_skip_initial_sync(struct drbd_device *mdev);
extern void drbd_gen_and_send_sync_uuid(struct drbd_device *mdev);
extern int drbd_send_sizes(struct drbd_device *mdev, int trigger_reply, enum dds_flags flags);
extern int drbd_send_state(struct drbd_device *mdev, union drbd_state s);
extern int drbd_send_current_state(struct drbd_device *mdev);
extern int drbd_send_sync_param(struct drbd_device *mdev);
extern void drbd_send_b_ack(struct drbd_tconn *tconn, u32 barrier_nr,
u32 set_size);
extern int drbd_send_ack(struct drbd_conf *, enum drbd_packet,
extern int drbd_send_ack(struct drbd_device *, enum drbd_packet,
struct drbd_peer_request *);
extern void drbd_send_ack_rp(struct drbd_conf *mdev, enum drbd_packet cmd,
extern void drbd_send_ack_rp(struct drbd_device *mdev, enum drbd_packet cmd,
struct p_block_req *rp);
extern void drbd_send_ack_dp(struct drbd_conf *mdev, enum drbd_packet cmd,
extern void drbd_send_ack_dp(struct drbd_device *mdev, enum drbd_packet cmd,
struct p_data *dp, int data_size);
extern int drbd_send_ack_ex(struct drbd_conf *mdev, enum drbd_packet cmd,
extern int drbd_send_ack_ex(struct drbd_device *mdev, enum drbd_packet cmd,
sector_t sector, int blksize, u64 block_id);
extern int drbd_send_out_of_sync(struct drbd_conf *, struct drbd_request *);
extern int drbd_send_block(struct drbd_conf *, enum drbd_packet,
extern int drbd_send_out_of_sync(struct drbd_device *, struct drbd_request *);
extern int drbd_send_block(struct drbd_device *, enum drbd_packet,
struct drbd_peer_request *);
extern int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req);
extern int drbd_send_drequest(struct drbd_conf *mdev, int cmd,
extern int drbd_send_dblock(struct drbd_device *mdev, struct drbd_request *req);
extern int drbd_send_drequest(struct drbd_device *mdev, int cmd,
sector_t sector, int size, u64 block_id);
extern int drbd_send_drequest_csum(struct drbd_conf *mdev, sector_t sector,
extern int drbd_send_drequest_csum(struct drbd_device *mdev, sector_t sector,
int size, void *digest, int digest_size,
enum drbd_packet cmd);
extern int drbd_send_ov_request(struct drbd_conf *mdev,sector_t sector,int size);
extern int drbd_send_ov_request(struct drbd_device *mdev, sector_t sector, int size);
extern int drbd_send_bitmap(struct drbd_conf *mdev);
extern void drbd_send_sr_reply(struct drbd_conf *mdev, enum drbd_state_rv retcode);
extern int drbd_send_bitmap(struct drbd_device *mdev);
extern void drbd_send_sr_reply(struct drbd_device *mdev, enum drbd_state_rv retcode);
extern void conn_send_sr_reply(struct drbd_tconn *tconn, enum drbd_state_rv retcode);
extern void drbd_free_bc(struct drbd_backing_dev *ldev);
extern void drbd_mdev_cleanup(struct drbd_conf *mdev);
void drbd_print_uuids(struct drbd_conf *mdev, const char *text);
extern void drbd_mdev_cleanup(struct drbd_device *mdev);
void drbd_print_uuids(struct drbd_device *mdev, const char *text);
extern void conn_md_sync(struct drbd_tconn *tconn);
extern void drbd_md_write(struct drbd_conf *mdev, void *buffer);
extern void drbd_md_sync(struct drbd_conf *mdev);
extern int drbd_md_read(struct drbd_conf *mdev, struct drbd_backing_dev *bdev);
extern void drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local);
extern void _drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local);
extern void drbd_uuid_new_current(struct drbd_conf *mdev) __must_hold(local);
extern void drbd_uuid_set_bm(struct drbd_conf *mdev, u64 val) __must_hold(local);
extern void drbd_uuid_move_history(struct drbd_conf *mdev) __must_hold(local);
extern void __drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local);
extern void drbd_md_set_flag(struct drbd_conf *mdev, int flags) __must_hold(local);
extern void drbd_md_clear_flag(struct drbd_conf *mdev, int flags)__must_hold(local);
extern void drbd_md_write(struct drbd_device *mdev, void *buffer);
extern void drbd_md_sync(struct drbd_device *mdev);
extern int drbd_md_read(struct drbd_device *mdev, struct drbd_backing_dev *bdev);
extern void drbd_uuid_set(struct drbd_device *mdev, int idx, u64 val) __must_hold(local);
extern void _drbd_uuid_set(struct drbd_device *mdev, int idx, u64 val) __must_hold(local);
extern void drbd_uuid_new_current(struct drbd_device *mdev) __must_hold(local);
extern void drbd_uuid_set_bm(struct drbd_device *mdev, u64 val) __must_hold(local);
extern void drbd_uuid_move_history(struct drbd_device *mdev) __must_hold(local);
extern void __drbd_uuid_set(struct drbd_device *mdev, int idx, u64 val) __must_hold(local);
extern void drbd_md_set_flag(struct drbd_device *mdev, int flags) __must_hold(local);
extern void drbd_md_clear_flag(struct drbd_device *mdev, int flags)__must_hold(local);
extern int drbd_md_test_flag(struct drbd_backing_dev *, int);
#ifndef DRBD_DEBUG_MD_SYNC
extern void drbd_md_mark_dirty(struct drbd_conf *mdev);
extern void drbd_md_mark_dirty(struct drbd_device *mdev);
#else
#define drbd_md_mark_dirty(m) drbd_md_mark_dirty_(m, __LINE__ , __func__ )
extern void drbd_md_mark_dirty_(struct drbd_conf *mdev,
extern void drbd_md_mark_dirty_(struct drbd_device *mdev,
unsigned int line, const char *func);
#endif
extern void drbd_queue_bitmap_io(struct drbd_conf *mdev,
int (*io_fn)(struct drbd_conf *),
void (*done)(struct drbd_conf *, int),
extern void drbd_queue_bitmap_io(struct drbd_device *mdev,
int (*io_fn)(struct drbd_device *),
void (*done)(struct drbd_device *, int),
char *why, enum bm_flag flags);
extern int drbd_bitmap_io(struct drbd_conf *mdev,
int (*io_fn)(struct drbd_conf *),
extern int drbd_bitmap_io(struct drbd_device *mdev,
int (*io_fn)(struct drbd_device *),
char *why, enum bm_flag flags);
extern int drbd_bitmap_io_from_worker(struct drbd_conf *mdev,
int (*io_fn)(struct drbd_conf *),
extern int drbd_bitmap_io_from_worker(struct drbd_device *mdev,
int (*io_fn)(struct drbd_device *),
char *why, enum bm_flag flags);
extern int drbd_bmio_set_n_write(struct drbd_conf *mdev);
extern int drbd_bmio_clear_n_write(struct drbd_conf *mdev);
extern void drbd_ldev_destroy(struct drbd_conf *mdev);
extern int drbd_bmio_set_n_write(struct drbd_device *mdev);
extern int drbd_bmio_clear_n_write(struct drbd_device *mdev);
extern void drbd_ldev_destroy(struct drbd_device *mdev);
/* Meta data layout
*
......@@ -1064,52 +1064,52 @@ struct bm_extent {
#define DRBD_MAX_SIZE_H80_PACKET (1U << 15) /* Header 80 only allows packets up to 32KiB data */
#define DRBD_MAX_BIO_SIZE_P95 (1U << 17) /* Protocol 95 to 99 allows bios up to 128KiB */
extern int drbd_bm_init(struct drbd_conf *mdev);
extern int drbd_bm_resize(struct drbd_conf *mdev, sector_t sectors, int set_new_bits);
extern void drbd_bm_cleanup(struct drbd_conf *mdev);
extern void drbd_bm_set_all(struct drbd_conf *mdev);
extern void drbd_bm_clear_all(struct drbd_conf *mdev);
extern int drbd_bm_init(struct drbd_device *mdev);
extern int drbd_bm_resize(struct drbd_device *mdev, sector_t sectors, int set_new_bits);
extern void drbd_bm_cleanup(struct drbd_device *mdev);
extern void drbd_bm_set_all(struct drbd_device *mdev);
extern void drbd_bm_clear_all(struct drbd_device *mdev);
/* set/clear/test only a few bits at a time */
extern int drbd_bm_set_bits(
struct drbd_conf *mdev, unsigned long s, unsigned long e);
struct drbd_device *mdev, unsigned long s, unsigned long e);
extern int drbd_bm_clear_bits(
struct drbd_conf *mdev, unsigned long s, unsigned long e);
struct drbd_device *mdev, unsigned long s, unsigned long e);
extern int drbd_bm_count_bits(
struct drbd_conf *mdev, const unsigned long s, const unsigned long e);
struct drbd_device *mdev, const unsigned long s, const unsigned long e);
/* bm_set_bits variant for use while holding drbd_bm_lock,
* may process the whole bitmap in one go */
extern void _drbd_bm_set_bits(struct drbd_conf *mdev,
extern void _drbd_bm_set_bits(struct drbd_device *mdev,
const unsigned long s, const unsigned long e);
extern int drbd_bm_test_bit(struct drbd_conf *mdev, unsigned long bitnr);
extern int drbd_bm_e_weight(struct drbd_conf *mdev, unsigned long enr);
extern int drbd_bm_write_page(struct drbd_conf *mdev, unsigned int idx) __must_hold(local);
extern int drbd_bm_read(struct drbd_conf *mdev) __must_hold(local);
extern void drbd_bm_mark_for_writeout(struct drbd_conf *mdev, int page_nr);
extern int drbd_bm_write(struct drbd_conf *mdev) __must_hold(local);
extern int drbd_bm_write_hinted(struct drbd_conf *mdev) __must_hold(local);
extern int drbd_bm_write_all(struct drbd_conf *mdev) __must_hold(local);
extern int drbd_bm_write_copy_pages(struct drbd_conf *mdev) __must_hold(local);
extern size_t drbd_bm_words(struct drbd_conf *mdev);
extern unsigned long drbd_bm_bits(struct drbd_conf *mdev);
extern sector_t drbd_bm_capacity(struct drbd_conf *mdev);
extern int drbd_bm_test_bit(struct drbd_device *mdev, unsigned long bitnr);
extern int drbd_bm_e_weight(struct drbd_device *mdev, unsigned long enr);
extern int drbd_bm_write_page(struct drbd_device *mdev, unsigned int idx) __must_hold(local);
extern int drbd_bm_read(struct drbd_device *mdev) __must_hold(local);
extern void drbd_bm_mark_for_writeout(struct drbd_device *mdev, int page_nr);
extern int drbd_bm_write(struct drbd_device *mdev) __must_hold(local);
extern int drbd_bm_write_hinted(struct drbd_device *mdev) __must_hold(local);
extern int drbd_bm_write_all(struct drbd_device *mdev) __must_hold(local);
extern int drbd_bm_write_copy_pages(struct drbd_device *mdev) __must_hold(local);
extern size_t drbd_bm_words(struct drbd_device *mdev);
extern unsigned long drbd_bm_bits(struct drbd_device *mdev);
extern sector_t drbd_bm_capacity(struct drbd_device *mdev);
#define DRBD_END_OF_BITMAP (~(unsigned long)0)
extern unsigned long drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo);
extern unsigned long drbd_bm_find_next(struct drbd_device *mdev, unsigned long bm_fo);
/* bm_find_next variants for use while you hold drbd_bm_lock() */
extern unsigned long _drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo);
extern unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo);
extern unsigned long _drbd_bm_total_weight(struct drbd_conf *mdev);
extern unsigned long drbd_bm_total_weight(struct drbd_conf *mdev);
extern int drbd_bm_rs_done(struct drbd_conf *mdev);
extern unsigned long _drbd_bm_find_next(struct drbd_device *mdev, unsigned long bm_fo);
extern unsigned long _drbd_bm_find_next_zero(struct drbd_device *mdev, unsigned long bm_fo);
extern unsigned long _drbd_bm_total_weight(struct drbd_device *mdev);
extern unsigned long drbd_bm_total_weight(struct drbd_device *mdev);
extern int drbd_bm_rs_done(struct drbd_device *mdev);
/* for receive_bitmap */
extern void drbd_bm_merge_lel(struct drbd_conf *mdev, size_t offset,
extern void drbd_bm_merge_lel(struct drbd_device *mdev, size_t offset,
size_t number, unsigned long *buffer);
/* for _drbd_send_bitmap */
extern void drbd_bm_get_lel(struct drbd_conf *mdev, size_t offset,
extern void drbd_bm_get_lel(struct drbd_device *mdev, size_t offset,
size_t number, unsigned long *buffer);
extern void drbd_bm_lock(struct drbd_conf *mdev, char *why, enum bm_flag flags);
extern void drbd_bm_unlock(struct drbd_conf *mdev);
extern void drbd_bm_lock(struct drbd_device *mdev, char *why, enum bm_flag flags);
extern void drbd_bm_unlock(struct drbd_device *mdev);
/* drbd_main.c */
extern struct kmem_cache *drbd_request_cache;
......@@ -1169,19 +1169,19 @@ extern int proc_details;
/* drbd_req */
extern void do_submit(struct work_struct *ws);
extern void __drbd_make_request(struct drbd_conf *, struct bio *, unsigned long);
extern void __drbd_make_request(struct drbd_device *, struct bio *, unsigned long);
extern void drbd_make_request(struct request_queue *q, struct bio *bio);
extern int drbd_read_remote(struct drbd_conf *mdev, struct drbd_request *req);
extern int drbd_read_remote(struct drbd_device *mdev, struct drbd_request *req);
extern int drbd_merge_bvec(struct request_queue *q, struct bvec_merge_data *bvm, struct bio_vec *bvec);
extern int is_valid_ar_handle(struct drbd_request *, sector_t);
/* drbd_nl.c */
extern int drbd_msg_put_info(const char *info);
extern void drbd_suspend_io(struct drbd_conf *mdev);
extern void drbd_resume_io(struct drbd_conf *mdev);
extern void drbd_suspend_io(struct drbd_device *mdev);
extern void drbd_resume_io(struct drbd_device *mdev);
extern char *ppsize(char *buf, unsigned long long size);
extern sector_t drbd_new_dev_size(struct drbd_conf *, struct drbd_backing_dev *, sector_t, int);
extern sector_t drbd_new_dev_size(struct drbd_device *, struct drbd_backing_dev *, sector_t, int);
enum determine_dev_size {
DS_ERROR_SHRINK = -3,
DS_ERROR_SPACE_MD = -2,
......@@ -1192,35 +1192,35 @@ enum determine_dev_size {
DS_GREW_FROM_ZERO = 3,
};
extern enum determine_dev_size
drbd_determine_dev_size(struct drbd_conf *, enum dds_flags, struct resize_parms *) __must_hold(local);
extern void resync_after_online_grow(struct drbd_conf *);
extern void drbd_reconsider_max_bio_size(struct drbd_conf *mdev);
extern enum drbd_state_rv drbd_set_role(struct drbd_conf *mdev,
drbd_determine_dev_size(struct drbd_device *, enum dds_flags, struct resize_parms *) __must_hold(local);
extern void resync_after_online_grow(struct drbd_device *);
extern void drbd_reconsider_max_bio_size(struct drbd_device *mdev);
extern enum drbd_state_rv drbd_set_role(struct drbd_device *mdev,
enum drbd_role new_role,
int force);
extern bool conn_try_outdate_peer(struct drbd_tconn *tconn);
extern void conn_try_outdate_peer_async(struct drbd_tconn *tconn);
extern int drbd_khelper(struct drbd_conf *mdev, char *cmd);
extern int drbd_khelper(struct drbd_device *mdev, char *cmd);
/* drbd_worker.c */
extern int drbd_worker(struct drbd_thread *thi);
enum drbd_ret_code drbd_resync_after_valid(struct drbd_conf *mdev, int o_minor);
void drbd_resync_after_changed(struct drbd_conf *mdev);
extern void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side);
extern void resume_next_sg(struct drbd_conf *mdev);
extern void suspend_other_sg(struct drbd_conf *mdev);
extern int drbd_resync_finished(struct drbd_conf *mdev);
enum drbd_ret_code drbd_resync_after_valid(struct drbd_device *mdev, int o_minor);
void drbd_resync_after_changed(struct drbd_device *mdev);
extern void drbd_start_resync(struct drbd_device *mdev, enum drbd_conns side);
extern void resume_next_sg(struct drbd_device *mdev);
extern void suspend_other_sg(struct drbd_device *mdev);
extern int drbd_resync_finished(struct drbd_device *mdev);
/* maybe rather drbd_main.c ? */
extern void *drbd_md_get_buffer(struct drbd_conf *mdev);
extern void drbd_md_put_buffer(struct drbd_conf *mdev);
extern int drbd_md_sync_page_io(struct drbd_conf *mdev,
extern void *drbd_md_get_buffer(struct drbd_device *mdev);
extern void drbd_md_put_buffer(struct drbd_device *mdev);
extern int drbd_md_sync_page_io(struct drbd_device *mdev,
struct drbd_backing_dev *bdev, sector_t sector, int rw);
extern void drbd_ov_out_of_sync_found(struct drbd_conf *, sector_t, int);
extern void wait_until_done_or_force_detached(struct drbd_conf *mdev,
extern void drbd_ov_out_of_sync_found(struct drbd_device *, sector_t, int);
extern void wait_until_done_or_force_detached(struct drbd_device *mdev,
struct drbd_backing_dev *bdev, unsigned int *done);
extern void drbd_rs_controller_reset(struct drbd_conf *mdev);
extern void drbd_rs_controller_reset(struct drbd_device *mdev);
static inline void ov_out_of_sync_print(struct drbd_conf *mdev)
static inline void ov_out_of_sync_print(struct drbd_device *mdev)
{
if (mdev->ov_last_oos_size) {
dev_err(DEV, "Out of sync: start=%llu, size=%lu (sectors)\n",
......@@ -1231,8 +1231,8 @@ static inline void ov_out_of_sync_print(struct drbd_conf *mdev)
}
extern void drbd_csum_bio(struct drbd_conf *, struct crypto_hash *, struct bio *, void *);
extern void drbd_csum_ee(struct drbd_conf *, struct crypto_hash *,
extern void drbd_csum_bio(struct drbd_device *, struct crypto_hash *, struct bio *, void *);
extern void drbd_csum_ee(struct drbd_device *, struct crypto_hash *,
struct drbd_peer_request *, void *);
/* worker callbacks */
extern int w_e_end_data_req(struct drbd_work *, int);
......@@ -1256,24 +1256,24 @@ extern void resync_timer_fn(unsigned long data);
extern void start_resync_timer_fn(unsigned long data);
/* drbd_receiver.c */
extern int drbd_rs_should_slow_down(struct drbd_conf *mdev, sector_t sector);
extern int drbd_submit_peer_request(struct drbd_conf *,
extern int drbd_rs_should_slow_down(struct drbd_device *mdev, sector_t sector);
extern int drbd_submit_peer_request(struct drbd_device *,
struct drbd_peer_request *, const unsigned,
const int);
extern int drbd_free_peer_reqs(struct drbd_conf *, struct list_head *);
extern struct drbd_peer_request *drbd_alloc_peer_req(struct drbd_conf *, u64,
extern int drbd_free_peer_reqs(struct drbd_device *, struct list_head *);
extern struct drbd_peer_request *drbd_alloc_peer_req(struct drbd_device *, u64,
sector_t, unsigned int,
gfp_t) __must_hold(local);
extern void __drbd_free_peer_req(struct drbd_conf *, struct drbd_peer_request *,
extern void __drbd_free_peer_req(struct drbd_device *, struct drbd_peer_request *,
int);
#define drbd_free_peer_req(m,e) __drbd_free_peer_req(m, e, 0)
#define drbd_free_net_peer_req(m,e) __drbd_free_peer_req(m, e, 1)
extern struct page *drbd_alloc_pages(struct drbd_conf *, unsigned int, bool);
extern void drbd_set_recv_tcq(struct drbd_conf *mdev, int tcq_enabled);
extern void _drbd_clear_done_ee(struct drbd_conf *mdev, struct list_head *to_be_freed);
extern struct page *drbd_alloc_pages(struct drbd_device *, unsigned int, bool);
extern void drbd_set_recv_tcq(struct drbd_device *mdev, int tcq_enabled);
extern void _drbd_clear_done_ee(struct drbd_device *mdev, struct list_head *to_be_freed);
extern void conn_flush_workqueue(struct drbd_tconn *tconn);
extern int drbd_connected(struct drbd_conf *mdev);
static inline void drbd_flush_workqueue(struct drbd_conf *mdev)
extern int drbd_connected(struct drbd_device *mdev);
static inline void drbd_flush_workqueue(struct drbd_device *mdev)
{
conn_flush_workqueue(mdev->tconn);
}
......@@ -1336,29 +1336,29 @@ extern const char *drbd_conn_str(enum drbd_conns s);
extern const char *drbd_role_str(enum drbd_role s);
/* drbd_actlog.c */
extern int drbd_al_begin_io_nonblock(struct drbd_conf *mdev, struct drbd_interval *i);
extern void drbd_al_begin_io_commit(struct drbd_conf *mdev, bool delegate);
extern bool drbd_al_begin_io_fastpath(struct drbd_conf *mdev, struct drbd_interval *i);
extern void drbd_al_begin_io(struct drbd_conf *mdev, struct drbd_interval *i, bool delegate);
extern void drbd_al_complete_io(struct drbd_conf *mdev, struct drbd_interval *i);
extern void drbd_rs_complete_io(struct drbd_conf *mdev, sector_t sector);
extern int drbd_rs_begin_io(struct drbd_conf *mdev, sector_t sector);
extern int drbd_try_rs_begin_io(struct drbd_conf *mdev, sector_t sector);
extern void drbd_rs_cancel_all(struct drbd_conf *mdev);
extern int drbd_rs_del_all(struct drbd_conf *mdev);
extern void drbd_rs_failed_io(struct drbd_conf *mdev,
extern int drbd_al_begin_io_nonblock(struct drbd_device *mdev, struct drbd_interval *i);
extern void drbd_al_begin_io_commit(struct drbd_device *mdev, bool delegate);
extern bool drbd_al_begin_io_fastpath(struct drbd_device *mdev, struct drbd_interval *i);
extern void drbd_al_begin_io(struct drbd_device *mdev, struct drbd_interval *i, bool delegate);
extern void drbd_al_complete_io(struct drbd_device *mdev, struct drbd_interval *i);
extern void drbd_rs_complete_io(struct drbd_device *mdev, sector_t sector);
extern int drbd_rs_begin_io(struct drbd_device *mdev, sector_t sector);
extern int drbd_try_rs_begin_io(struct drbd_device *mdev, sector_t sector);
extern void drbd_rs_cancel_all(struct drbd_device *mdev);
extern int drbd_rs_del_all(struct drbd_device *mdev);
extern void drbd_rs_failed_io(struct drbd_device *mdev,
sector_t sector, int size);
extern void drbd_advance_rs_marks(struct drbd_conf *mdev, unsigned long still_to_go);
extern void __drbd_set_in_sync(struct drbd_conf *mdev, sector_t sector,
extern void drbd_advance_rs_marks(struct drbd_device *mdev, unsigned long still_to_go);
extern void __drbd_set_in_sync(struct drbd_device *mdev, sector_t sector,
int size, const char *file, const unsigned int line);
#define drbd_set_in_sync(mdev, sector, size) \
__drbd_set_in_sync(mdev, sector, size, __FILE__, __LINE__)
extern int __drbd_set_out_of_sync(struct drbd_conf *mdev, sector_t sector,
extern int __drbd_set_out_of_sync(struct drbd_device *mdev, sector_t sector,
int size, const char *file, const unsigned int line);
#define drbd_set_out_of_sync(mdev, sector, size) \
__drbd_set_out_of_sync(mdev, sector, size, __FILE__, __LINE__)
extern void drbd_al_shrink(struct drbd_conf *mdev);
extern int drbd_initialize_al(struct drbd_conf *, void *);
extern void drbd_al_shrink(struct drbd_device *mdev);
extern int drbd_initialize_al(struct drbd_device *, void *);
/* drbd_nl.c */
/* state info broadcast */
......@@ -1375,7 +1375,7 @@ struct sib_info {
};
};
};
void drbd_bcast_event(struct drbd_conf *mdev, const struct sib_info *sib);
void drbd_bcast_event(struct drbd_device *mdev, const struct sib_info *sib);
/*
* inline helper functions
......@@ -1404,7 +1404,7 @@ static inline int drbd_peer_req_has_active_page(struct drbd_peer_request *peer_r
}
static inline enum drbd_state_rv
_drbd_set_state(struct drbd_conf *mdev, union drbd_state ns,
_drbd_set_state(struct drbd_device *mdev, union drbd_state ns,
enum chg_state_flags flags, struct completion *done)
{
enum drbd_state_rv rv;
......@@ -1416,7 +1416,7 @@ _drbd_set_state(struct drbd_conf *mdev, union drbd_state ns,
return rv;
}
static inline union drbd_state drbd_read_state(struct drbd_conf *mdev)
static inline union drbd_state drbd_read_state(struct drbd_device *mdev)
{
union drbd_state rv;
......@@ -1436,7 +1436,7 @@ enum drbd_force_detach_flags {
};
#define __drbd_chk_io_error(m,f) __drbd_chk_io_error_(m,f, __func__)
static inline void __drbd_chk_io_error_(struct drbd_conf *mdev,
static inline void __drbd_chk_io_error_(struct drbd_device *mdev,
enum drbd_force_detach_flags df,
const char *where)
{
......@@ -1500,7 +1500,7 @@ static inline void __drbd_chk_io_error_(struct drbd_conf *mdev,
* See also drbd_main.c:after_state_ch() if (os.disk > D_FAILED && ns.disk == D_FAILED)
*/
#define drbd_chk_io_error(m,e,f) drbd_chk_io_error_(m,e,f, __func__)
static inline void drbd_chk_io_error_(struct drbd_conf *mdev,
static inline void drbd_chk_io_error_(struct drbd_device *mdev,
int error, enum drbd_force_detach_flags forcedetach, const char *where)
{
if (error) {
......@@ -1643,17 +1643,17 @@ static inline void request_ping(struct drbd_tconn *tconn)
}
extern void *conn_prepare_command(struct drbd_tconn *, struct drbd_socket *);
extern void *drbd_prepare_command(struct drbd_conf *, struct drbd_socket *);
extern void *drbd_prepare_command(struct drbd_device *, struct drbd_socket *);
extern int conn_send_command(struct drbd_tconn *, struct drbd_socket *,
enum drbd_packet, unsigned int, void *,
unsigned int);
extern int drbd_send_command(struct drbd_conf *, struct drbd_socket *,
extern int drbd_send_command(struct drbd_device *, struct drbd_socket *,
enum drbd_packet, unsigned int, void *,
unsigned int);
extern int drbd_send_ping(struct drbd_tconn *tconn);
extern int drbd_send_ping_ack(struct drbd_tconn *tconn);
extern int drbd_send_state_req(struct drbd_conf *, union drbd_state, union drbd_state);
extern int drbd_send_state_req(struct drbd_device *, union drbd_state, union drbd_state);
extern int conn_send_state_req(struct drbd_tconn *, union drbd_state, union drbd_state);
static inline void drbd_thread_stop(struct drbd_thread *thi)
......@@ -1693,7 +1693,7 @@ static inline void drbd_thread_restart_nowait(struct drbd_thread *thi)
* _req_mod(req, CONNECTION_LOST_WHILE_PENDING)
* [from tl_clear_barrier]
*/
static inline void inc_ap_pending(struct drbd_conf *mdev)
static inline void inc_ap_pending(struct drbd_device *mdev)
{
atomic_inc(&mdev->ap_pending_cnt);
}
......@@ -1705,7 +1705,7 @@ static inline void inc_ap_pending(struct drbd_conf *mdev)
atomic_read(&mdev->which))
#define dec_ap_pending(mdev) _dec_ap_pending(mdev, __FUNCTION__, __LINE__)
static inline void _dec_ap_pending(struct drbd_conf *mdev, const char *func, int line)
static inline void _dec_ap_pending(struct drbd_device *mdev, const char *func, int line)
{
if (atomic_dec_and_test(&mdev->ap_pending_cnt))
wake_up(&mdev->misc_wait);
......@@ -1718,13 +1718,13 @@ static inline void _dec_ap_pending(struct drbd_conf *mdev, const char *func, int
* C_SYNC_SOURCE sends P_RS_DATA_REPLY (and expects P_WRITE_ACK with ID_SYNCER)
* (or P_NEG_ACK with ID_SYNCER)
*/
static inline void inc_rs_pending(struct drbd_conf *mdev)
static inline void inc_rs_pending(struct drbd_device *mdev)
{
atomic_inc(&mdev->rs_pending_cnt);
}
#define dec_rs_pending(mdev) _dec_rs_pending(mdev, __FUNCTION__, __LINE__)
static inline void _dec_rs_pending(struct drbd_conf *mdev, const char *func, int line)
static inline void _dec_rs_pending(struct drbd_device *mdev, const char *func, int line)
{
atomic_dec(&mdev->rs_pending_cnt);
ERR_IF_CNT_IS_NEGATIVE(rs_pending_cnt, func, line);
......@@ -1739,20 +1739,20 @@ static inline void _dec_rs_pending(struct drbd_conf *mdev, const char *func, int
* receive_DataRequest (receive_RSDataRequest) we need to send back P_DATA
* receive_Barrier_* we need to send a P_BARRIER_ACK
*/
static inline void inc_unacked(struct drbd_conf *mdev)
static inline void inc_unacked(struct drbd_device *mdev)
{
atomic_inc(&mdev->unacked_cnt);
}
#define dec_unacked(mdev) _dec_unacked(mdev, __FUNCTION__, __LINE__)
static inline void _dec_unacked(struct drbd_conf *mdev, const char *func, int line)
static inline void _dec_unacked(struct drbd_device *mdev, const char *func, int line)
{
atomic_dec(&mdev->unacked_cnt);
ERR_IF_CNT_IS_NEGATIVE(unacked_cnt, func, line);
}
#define sub_unacked(mdev, n) _sub_unacked(mdev, n, __FUNCTION__, __LINE__)
static inline void _sub_unacked(struct drbd_conf *mdev, int n, const char *func, int line)
static inline void _sub_unacked(struct drbd_device *mdev, int n, const char *func, int line)
{
atomic_sub(n, &mdev->unacked_cnt);
ERR_IF_CNT_IS_NEGATIVE(unacked_cnt, func, line);
......@@ -1767,7 +1767,7 @@ static inline void _sub_unacked(struct drbd_conf *mdev, int n, const char *func,
#define get_ldev(M) __cond_lock(local, _get_ldev_if_state(M,D_INCONSISTENT))
#define get_ldev_if_state(M,MINS) __cond_lock(local, _get_ldev_if_state(M,MINS))
static inline void put_ldev(struct drbd_conf *mdev)
static inline void put_ldev(struct drbd_device *mdev)
{
int i = atomic_dec_return(&mdev->local_cnt);
......@@ -1790,7 +1790,7 @@ static inline void put_ldev(struct drbd_conf *mdev)
}
#ifndef __CHECKER__
static inline int _get_ldev_if_state(struct drbd_conf *mdev, enum drbd_disk_state mins)
static inline int _get_ldev_if_state(struct drbd_device *mdev, enum drbd_disk_state mins)
{
int io_allowed;
......@@ -1805,11 +1805,11 @@ static inline int _get_ldev_if_state(struct drbd_conf *mdev, enum drbd_disk_stat
return io_allowed;
}
#else
extern int _get_ldev_if_state(struct drbd_conf *mdev, enum drbd_disk_state mins);
extern int _get_ldev_if_state(struct drbd_device *mdev, enum drbd_disk_state mins);
#endif
/* you must have an "get_ldev" reference */
static inline void drbd_get_syncer_progress(struct drbd_conf *mdev,
static inline void drbd_get_syncer_progress(struct drbd_device *mdev,
unsigned long *bits_left, unsigned int *per_mil_done)
{
/* this is to break it at compile time when we change that, in case we
......@@ -1859,7 +1859,7 @@ static inline void drbd_get_syncer_progress(struct drbd_conf *mdev,
/* this throttles on-the-fly application requests
* according to max_buffers settings;
* maybe re-implement using semaphores? */
static inline int drbd_get_max_buffers(struct drbd_conf *mdev)
static inline int drbd_get_max_buffers(struct drbd_device *mdev)
{
struct net_conf *nc;
int mxb;
......@@ -1872,7 +1872,7 @@ static inline int drbd_get_max_buffers(struct drbd_conf *mdev)
return mxb;
}
static inline int drbd_state_is_stable(struct drbd_conf *mdev)
static inline int drbd_state_is_stable(struct drbd_device *mdev)
{
union drbd_dev_state s = mdev->state;
......@@ -1942,14 +1942,14 @@ static inline int drbd_state_is_stable(struct drbd_conf *mdev)
return 1;
}
static inline int drbd_suspended(struct drbd_conf *mdev)
static inline int drbd_suspended(struct drbd_device *mdev)
{
struct drbd_tconn *tconn = mdev->tconn;
return tconn->susp || tconn->susp_fen || tconn->susp_nod;
}
static inline bool may_inc_ap_bio(struct drbd_conf *mdev)
static inline bool may_inc_ap_bio(struct drbd_device *mdev)
{
int mxb = drbd_get_max_buffers(mdev);
......@@ -1975,7 +1975,7 @@ static inline bool may_inc_ap_bio(struct drbd_conf *mdev)
return true;
}
static inline bool inc_ap_bio_cond(struct drbd_conf *mdev)
static inline bool inc_ap_bio_cond(struct drbd_device *mdev)
{
bool rv = false;
......@@ -1988,7 +1988,7 @@ static inline bool inc_ap_bio_cond(struct drbd_conf *mdev)
return rv;
}
static inline void inc_ap_bio(struct drbd_conf *mdev)
static inline void inc_ap_bio(struct drbd_device *mdev)
{
/* we wait here
* as long as the device is suspended
......@@ -2001,7 +2001,7 @@ static inline void inc_ap_bio(struct drbd_conf *mdev)
wait_event(mdev->misc_wait, inc_ap_bio_cond(mdev));
}
static inline void dec_ap_bio(struct drbd_conf *mdev)
static inline void dec_ap_bio(struct drbd_device *mdev)
{
int mxb = drbd_get_max_buffers(mdev);
int ap_bio = atomic_dec_return(&mdev->ap_bio_cnt);
......@@ -2020,20 +2020,20 @@ static inline void dec_ap_bio(struct drbd_conf *mdev)
wake_up(&mdev->misc_wait);
}
static inline bool verify_can_do_stop_sector(struct drbd_conf *mdev)
static inline bool verify_can_do_stop_sector(struct drbd_device *mdev)
{
return mdev->tconn->agreed_pro_version >= 97 &&
mdev->tconn->agreed_pro_version != 100;
}
static inline int drbd_set_ed_uuid(struct drbd_conf *mdev, u64 val)
static inline int drbd_set_ed_uuid(struct drbd_device *mdev, u64 val)
{
int changed = mdev->ed_uuid != val;
mdev->ed_uuid = val;
return changed;
}
static inline int drbd_queue_order_type(struct drbd_conf *mdev)
static inline int drbd_queue_order_type(struct drbd_device *mdev)
{
/* sorry, we currently have no working implementation
* of distributed TCQ stuff */
......@@ -2043,7 +2043,7 @@ static inline int drbd_queue_order_type(struct drbd_conf *mdev)
return QUEUE_ORDERED_NONE;
}
static inline void drbd_md_flush(struct drbd_conf *mdev)
static inline void drbd_md_flush(struct drbd_device *mdev)
{
int r;
......
......@@ -165,7 +165,7 @@ struct bio *bio_alloc_drbd(gfp_t gfp_mask)
/* When checking with sparse, and this is an inline function, sparse will
give tons of false positives. When this is a real functions sparse works.
*/
int _get_ldev_if_state(struct drbd_conf *mdev, enum drbd_disk_state mins)
int _get_ldev_if_state(struct drbd_device *mdev, enum drbd_disk_state mins)
{
int io_allowed;
......@@ -306,7 +306,7 @@ void tl_clear(struct drbd_tconn *tconn)
* tl_abort_disk_io() - Abort disk I/O for all requests for a certain mdev in the TL
* @mdev: DRBD device.
*/
void tl_abort_disk_io(struct drbd_conf *mdev)
void tl_abort_disk_io(struct drbd_device *mdev)
{
struct drbd_tconn *tconn = mdev->tconn;
struct drbd_request *req, *r;
......@@ -495,7 +495,7 @@ char *drbd_task_to_thread_name(struct drbd_tconn *tconn, struct task_struct *tas
int conn_lowest_minor(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr = 0, m;
rcu_read_lock();
......@@ -631,7 +631,7 @@ void *conn_prepare_command(struct drbd_tconn *tconn, struct drbd_socket *sock)
return p;
}
void *drbd_prepare_command(struct drbd_conf *mdev, struct drbd_socket *sock)
void *drbd_prepare_command(struct drbd_device *mdev, struct drbd_socket *sock)
{
return conn_prepare_command(mdev->tconn, sock);
}
......@@ -680,7 +680,7 @@ int conn_send_command(struct drbd_tconn *tconn, struct drbd_socket *sock,
return err;
}
int drbd_send_command(struct drbd_conf *mdev, struct drbd_socket *sock,
int drbd_send_command(struct drbd_device *mdev, struct drbd_socket *sock,
enum drbd_packet cmd, unsigned int header_size,
void *data, unsigned int size)
{
......@@ -712,7 +712,7 @@ int drbd_send_ping_ack(struct drbd_tconn *tconn)
return conn_send_command(tconn, sock, P_PING_ACK, 0, NULL, 0);
}
int drbd_send_sync_param(struct drbd_conf *mdev)
int drbd_send_sync_param(struct drbd_device *mdev)
{
struct drbd_socket *sock;
struct p_rs_param_95 *p;
......@@ -822,7 +822,7 @@ int drbd_send_protocol(struct drbd_tconn *tconn)
return err;
}
static int _drbd_send_uuids(struct drbd_conf *mdev, u64 uuid_flags)
static int _drbd_send_uuids(struct drbd_device *mdev, u64 uuid_flags)
{
struct drbd_socket *sock;
struct p_uuids *p;
......@@ -855,17 +855,17 @@ static int _drbd_send_uuids(struct drbd_conf *mdev, u64 uuid_flags)
return drbd_send_command(mdev, sock, P_UUIDS, sizeof(*p), NULL, 0);
}
int drbd_send_uuids(struct drbd_conf *mdev)
int drbd_send_uuids(struct drbd_device *mdev)
{
return _drbd_send_uuids(mdev, 0);
}
int drbd_send_uuids_skip_initial_sync(struct drbd_conf *mdev)
int drbd_send_uuids_skip_initial_sync(struct drbd_device *mdev)
{
return _drbd_send_uuids(mdev, 8);
}
void drbd_print_uuids(struct drbd_conf *mdev, const char *text)
void drbd_print_uuids(struct drbd_device *mdev, const char *text)
{
if (get_ldev_if_state(mdev, D_NEGOTIATING)) {
u64 *uuid = mdev->ldev->md.uuid;
......@@ -883,7 +883,7 @@ void drbd_print_uuids(struct drbd_conf *mdev, const char *text)
}
}
void drbd_gen_and_send_sync_uuid(struct drbd_conf *mdev)
void drbd_gen_and_send_sync_uuid(struct drbd_device *mdev)
{
struct drbd_socket *sock;
struct p_rs_uuid *p;
......@@ -908,7 +908,7 @@ void drbd_gen_and_send_sync_uuid(struct drbd_conf *mdev)
}
}
int drbd_send_sizes(struct drbd_conf *mdev, int trigger_reply, enum dds_flags flags)
int drbd_send_sizes(struct drbd_device *mdev, int trigger_reply, enum dds_flags flags)
{
struct drbd_socket *sock;
struct p_sizes *p;
......@@ -956,7 +956,7 @@ int drbd_send_sizes(struct drbd_conf *mdev, int trigger_reply, enum dds_flags fl
* drbd_send_current_state() - Sends the drbd state to the peer
* @mdev: DRBD device.
*/
int drbd_send_current_state(struct drbd_conf *mdev)
int drbd_send_current_state(struct drbd_device *mdev)
{
struct drbd_socket *sock;
struct p_state *p;
......@@ -979,7 +979,7 @@ int drbd_send_current_state(struct drbd_conf *mdev)
* between queuing and processing of the after_state_ch work, we still
* want to send each intermediary state in the order it occurred.
*/
int drbd_send_state(struct drbd_conf *mdev, union drbd_state state)
int drbd_send_state(struct drbd_device *mdev, union drbd_state state)
{
struct drbd_socket *sock;
struct p_state *p;
......@@ -992,7 +992,7 @@ int drbd_send_state(struct drbd_conf *mdev, union drbd_state state)
return drbd_send_command(mdev, sock, P_STATE, sizeof(*p), NULL, 0);
}
int drbd_send_state_req(struct drbd_conf *mdev, union drbd_state mask, union drbd_state val)
int drbd_send_state_req(struct drbd_device *mdev, union drbd_state mask, union drbd_state val)
{
struct drbd_socket *sock;
struct p_req_state *p;
......@@ -1022,7 +1022,7 @@ int conn_send_state_req(struct drbd_tconn *tconn, union drbd_state mask, union d
return conn_send_command(tconn, sock, cmd, sizeof(*p), NULL, 0);
}
void drbd_send_sr_reply(struct drbd_conf *mdev, enum drbd_state_rv retcode)
void drbd_send_sr_reply(struct drbd_device *mdev, enum drbd_state_rv retcode)
{
struct drbd_socket *sock;
struct p_req_state_reply *p;
......@@ -1066,7 +1066,7 @@ static void dcbp_set_pad_bits(struct p_compressed_bm *p, int n)
p->encoding = (p->encoding & (~0x7 << 4)) | (n << 4);
}
static int fill_bitmap_rle_bits(struct drbd_conf *mdev,
static int fill_bitmap_rle_bits(struct drbd_device *mdev,
struct p_compressed_bm *p,
unsigned int size,
struct bm_xfer_ctx *c)
......@@ -1170,7 +1170,7 @@ static int fill_bitmap_rle_bits(struct drbd_conf *mdev,
* code upon failure.
*/
static int
send_bitmap_rle_or_plain(struct drbd_conf *mdev, struct bm_xfer_ctx *c)
send_bitmap_rle_or_plain(struct drbd_device *mdev, struct bm_xfer_ctx *c)
{
struct drbd_socket *sock = &mdev->tconn->data;
unsigned int header_size = drbd_header_size(mdev->tconn);
......@@ -1226,7 +1226,7 @@ send_bitmap_rle_or_plain(struct drbd_conf *mdev, struct bm_xfer_ctx *c)
}
/* See the comment at receive_bitmap() */
static int _drbd_send_bitmap(struct drbd_conf *mdev)
static int _drbd_send_bitmap(struct drbd_device *mdev)
{
struct bm_xfer_ctx c;
int err;
......@@ -1263,7 +1263,7 @@ static int _drbd_send_bitmap(struct drbd_conf *mdev)
return err == 0;
}
int drbd_send_bitmap(struct drbd_conf *mdev)
int drbd_send_bitmap(struct drbd_device *mdev)
{
struct drbd_socket *sock = &mdev->tconn->data;
int err = -1;
......@@ -1300,7 +1300,7 @@ void drbd_send_b_ack(struct drbd_tconn *tconn, u32 barrier_nr, u32 set_size)
* @blksize: size in byte, needs to be in big endian byte order
* @block_id: Id, big endian byte order
*/
static int _drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd,
static int _drbd_send_ack(struct drbd_device *mdev, enum drbd_packet cmd,
u64 sector, u32 blksize, u64 block_id)
{
struct drbd_socket *sock;
......@@ -1323,7 +1323,7 @@ static int _drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd,
/* dp->sector and dp->block_id already/still in network byte order,
* data_size is payload size according to dp->head,
* and may need to be corrected for digest size. */
void drbd_send_ack_dp(struct drbd_conf *mdev, enum drbd_packet cmd,
void drbd_send_ack_dp(struct drbd_device *mdev, enum drbd_packet cmd,
struct p_data *dp, int data_size)
{
if (mdev->tconn->peer_integrity_tfm)
......@@ -1332,7 +1332,7 @@ void drbd_send_ack_dp(struct drbd_conf *mdev, enum drbd_packet cmd,
dp->block_id);
}
void drbd_send_ack_rp(struct drbd_conf *mdev, enum drbd_packet cmd,
void drbd_send_ack_rp(struct drbd_device *mdev, enum drbd_packet cmd,
struct p_block_req *rp)
{
_drbd_send_ack(mdev, cmd, rp->sector, rp->blksize, rp->block_id);
......@@ -1344,7 +1344,7 @@ void drbd_send_ack_rp(struct drbd_conf *mdev, enum drbd_packet cmd,
* @cmd: packet command code
* @peer_req: peer request
*/
int drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd,
int drbd_send_ack(struct drbd_device *mdev, enum drbd_packet cmd,
struct drbd_peer_request *peer_req)
{
return _drbd_send_ack(mdev, cmd,
......@@ -1355,7 +1355,7 @@ int drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd,
/* This function misuses the block_id field to signal if the blocks
* are is sync or not. */
int drbd_send_ack_ex(struct drbd_conf *mdev, enum drbd_packet cmd,
int drbd_send_ack_ex(struct drbd_device *mdev, enum drbd_packet cmd,
sector_t sector, int blksize, u64 block_id)
{
return _drbd_send_ack(mdev, cmd,
......@@ -1364,7 +1364,7 @@ int drbd_send_ack_ex(struct drbd_conf *mdev, enum drbd_packet cmd,
cpu_to_be64(block_id));
}
int drbd_send_drequest(struct drbd_conf *mdev, int cmd,
int drbd_send_drequest(struct drbd_device *mdev, int cmd,
sector_t sector, int size, u64 block_id)
{
struct drbd_socket *sock;
......@@ -1380,7 +1380,7 @@ int drbd_send_drequest(struct drbd_conf *mdev, int cmd,
return drbd_send_command(mdev, sock, cmd, sizeof(*p), NULL, 0);
}
int drbd_send_drequest_csum(struct drbd_conf *mdev, sector_t sector, int size,
int drbd_send_drequest_csum(struct drbd_device *mdev, sector_t sector, int size,
void *digest, int digest_size, enum drbd_packet cmd)
{
struct drbd_socket *sock;
......@@ -1399,7 +1399,7 @@ int drbd_send_drequest_csum(struct drbd_conf *mdev, sector_t sector, int size,
digest, digest_size);
}
int drbd_send_ov_request(struct drbd_conf *mdev, sector_t sector, int size)
int drbd_send_ov_request(struct drbd_device *mdev, sector_t sector, int size)
{
struct drbd_socket *sock;
struct p_block_req *p;
......@@ -1469,7 +1469,7 @@ static void drbd_update_congested(struct drbd_tconn *tconn)
* As a workaround, we disable sendpage on pages
* with page_count == 0 or PageSlab.
*/
static int _drbd_no_send_page(struct drbd_conf *mdev, struct page *page,
static int _drbd_no_send_page(struct drbd_device *mdev, struct page *page,
int offset, size_t size, unsigned msg_flags)
{
struct socket *socket;
......@@ -1485,7 +1485,7 @@ static int _drbd_no_send_page(struct drbd_conf *mdev, struct page *page,
return err;
}
static int _drbd_send_page(struct drbd_conf *mdev, struct page *page,
static int _drbd_send_page(struct drbd_device *mdev, struct page *page,
int offset, size_t size, unsigned msg_flags)
{
struct socket *socket = mdev->tconn->data.socket;
......@@ -1534,7 +1534,7 @@ static int _drbd_send_page(struct drbd_conf *mdev, struct page *page,
return err;
}
static int _drbd_send_bio(struct drbd_conf *mdev, struct bio *bio)
static int _drbd_send_bio(struct drbd_device *mdev, struct bio *bio)
{
struct bio_vec bvec;
struct bvec_iter iter;
......@@ -1553,7 +1553,7 @@ static int _drbd_send_bio(struct drbd_conf *mdev, struct bio *bio)
return 0;
}
static int _drbd_send_zc_bio(struct drbd_conf *mdev, struct bio *bio)
static int _drbd_send_zc_bio(struct drbd_device *mdev, struct bio *bio)
{
struct bio_vec bvec;
struct bvec_iter iter;
......@@ -1571,7 +1571,7 @@ static int _drbd_send_zc_bio(struct drbd_conf *mdev, struct bio *bio)
return 0;
}
static int _drbd_send_zc_ee(struct drbd_conf *mdev,
static int _drbd_send_zc_ee(struct drbd_device *mdev,
struct drbd_peer_request *peer_req)
{
struct page *page = peer_req->pages;
......@@ -1591,7 +1591,7 @@ static int _drbd_send_zc_ee(struct drbd_conf *mdev,
return 0;
}
static u32 bio_flags_to_wire(struct drbd_conf *mdev, unsigned long bi_rw)
static u32 bio_flags_to_wire(struct drbd_device *mdev, unsigned long bi_rw)
{
if (mdev->tconn->agreed_pro_version >= 95)
return (bi_rw & REQ_SYNC ? DP_RW_SYNC : 0) |
......@@ -1605,7 +1605,7 @@ static u32 bio_flags_to_wire(struct drbd_conf *mdev, unsigned long bi_rw)
/* Used to send write requests
* R_PRIMARY -> Peer (P_DATA)
*/
int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req)
int drbd_send_dblock(struct drbd_device *mdev, struct drbd_request *req)
{
struct drbd_socket *sock;
struct p_data *p;
......@@ -1677,7 +1677,7 @@ int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req)
* Peer -> (diskless) R_PRIMARY (P_DATA_REPLY)
* C_SYNC_SOURCE -> C_SYNC_TARGET (P_RS_DATA_REPLY)
*/
int drbd_send_block(struct drbd_conf *mdev, enum drbd_packet cmd,
int drbd_send_block(struct drbd_device *mdev, enum drbd_packet cmd,
struct drbd_peer_request *peer_req)
{
struct drbd_socket *sock;
......@@ -1706,7 +1706,7 @@ int drbd_send_block(struct drbd_conf *mdev, enum drbd_packet cmd,
return err;
}
int drbd_send_out_of_sync(struct drbd_conf *mdev, struct drbd_request *req)
int drbd_send_out_of_sync(struct drbd_device *mdev, struct drbd_request *req)
{
struct drbd_socket *sock;
struct p_block_desc *p;
......@@ -1827,7 +1827,7 @@ int drbd_send_all(struct drbd_tconn *tconn, struct socket *sock, void *buffer,
static int drbd_open(struct block_device *bdev, fmode_t mode)
{
struct drbd_conf *mdev = bdev->bd_disk->private_data;
struct drbd_device *mdev = bdev->bd_disk->private_data;
unsigned long flags;
int rv = 0;
......@@ -1853,13 +1853,13 @@ static int drbd_open(struct block_device *bdev, fmode_t mode)
static void drbd_release(struct gendisk *gd, fmode_t mode)
{
struct drbd_conf *mdev = gd->private_data;
struct drbd_device *mdev = gd->private_data;
mutex_lock(&drbd_main_mutex);
mdev->open_cnt--;
mutex_unlock(&drbd_main_mutex);
}
static void drbd_set_defaults(struct drbd_conf *mdev)
static void drbd_set_defaults(struct drbd_device *mdev)
{
/* Beware! The actual layout differs
* between big endian and little endian */
......@@ -1872,7 +1872,7 @@ static void drbd_set_defaults(struct drbd_conf *mdev)
} };
}
void drbd_init_set_defaults(struct drbd_conf *mdev)
void drbd_init_set_defaults(struct drbd_device *mdev)
{
/* the memset(,0,) did most of this.
* note: only assignments, no allocation in here */
......@@ -1947,7 +1947,7 @@ void drbd_init_set_defaults(struct drbd_conf *mdev)
mdev->local_max_bio_size = DRBD_MAX_BIO_SIZE_SAFE;
}
void drbd_mdev_cleanup(struct drbd_conf *mdev)
void drbd_mdev_cleanup(struct drbd_device *mdev)
{
int i;
if (mdev->tconn->receiver.t_state != NONE)
......@@ -2130,7 +2130,7 @@ static struct notifier_block drbd_notifier = {
.notifier_call = drbd_notify_sys,
};
static void drbd_release_all_peer_reqs(struct drbd_conf *mdev)
static void drbd_release_all_peer_reqs(struct drbd_device *mdev)
{
int rr;
......@@ -2158,7 +2158,7 @@ static void drbd_release_all_peer_reqs(struct drbd_conf *mdev)
/* caution. no locking. */
void drbd_minor_destroy(struct kref *kref)
{
struct drbd_conf *mdev = container_of(kref, struct drbd_conf, kref);
struct drbd_device *mdev = container_of(kref, struct drbd_device, kref);
struct drbd_tconn *tconn = mdev->tconn;
del_timer_sync(&mdev->request_timer);
......@@ -2217,7 +2217,7 @@ static void do_retry(struct work_struct *ws)
spin_unlock_irq(&retry->lock);
list_for_each_entry_safe(req, tmp, &writes, tl_requests) {
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct bio *bio = req->master_bio;
unsigned long start_time = req->start_time;
bool expected;
......@@ -2277,7 +2277,7 @@ void drbd_restart_request(struct drbd_request *req)
static void drbd_cleanup(void)
{
unsigned int i;
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct drbd_tconn *tconn, *tmp;
unregister_reboot_notifier(&drbd_notifier);
......@@ -2331,7 +2331,7 @@ static void drbd_cleanup(void)
*/
static int drbd_congested(void *congested_data, int bdi_bits)
{
struct drbd_conf *mdev = congested_data;
struct drbd_device *mdev = congested_data;
struct request_queue *q;
char reason = '-';
int r = 0;
......@@ -2591,7 +2591,7 @@ void conn_destroy(struct kref *kref)
kfree(tconn);
}
static int init_submitter(struct drbd_conf *mdev)
static int init_submitter(struct drbd_device *mdev)
{
/* opencoded create_singlethread_workqueue(),
* to be able to say "drbd%d", ..., minor */
......@@ -2608,7 +2608,7 @@ static int init_submitter(struct drbd_conf *mdev)
enum drbd_ret_code conn_new_minor(struct drbd_tconn *tconn, unsigned int minor, int vnr)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct gendisk *disk;
struct request_queue *q;
int vnr_got = vnr;
......@@ -2620,7 +2620,7 @@ enum drbd_ret_code conn_new_minor(struct drbd_tconn *tconn, unsigned int minor,
return ERR_MINOR_EXISTS;
/* GFP_KERNEL, we are outside of all write-out paths */
mdev = kzalloc(sizeof(struct drbd_conf), GFP_KERNEL);
mdev = kzalloc(sizeof(struct drbd_device), GFP_KERNEL);
if (!mdev)
return ERR_NOMEM;
......@@ -2843,7 +2843,7 @@ void drbd_free_sock(struct drbd_tconn *tconn)
void conn_md_sync(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -2882,7 +2882,7 @@ struct meta_data_on_disk {
void drbd_md_write(struct drbd_conf *mdev, void *b)
void drbd_md_write(struct drbd_device *mdev, void *b)
{
struct meta_data_on_disk *buffer = b;
sector_t sector;
......@@ -2922,7 +2922,7 @@ void drbd_md_write(struct drbd_conf *mdev, void *b)
* drbd_md_sync() - Writes the meta data super block if the MD_DIRTY flag bit is set
* @mdev: DRBD device.
*/
void drbd_md_sync(struct drbd_conf *mdev)
void drbd_md_sync(struct drbd_device *mdev)
{
struct meta_data_on_disk *buffer;
......@@ -2955,7 +2955,7 @@ void drbd_md_sync(struct drbd_conf *mdev)
put_ldev(mdev);
}
static int check_activity_log_stripe_size(struct drbd_conf *mdev,
static int check_activity_log_stripe_size(struct drbd_device *mdev,
struct meta_data_on_disk *on_disk,
struct drbd_md *in_core)
{
......@@ -3000,7 +3000,7 @@ static int check_activity_log_stripe_size(struct drbd_conf *mdev,
return -EINVAL;
}
static int check_offsets_and_sizes(struct drbd_conf *mdev, struct drbd_backing_dev *bdev)
static int check_offsets_and_sizes(struct drbd_device *mdev, struct drbd_backing_dev *bdev)
{
sector_t capacity = drbd_get_capacity(bdev->md_bdev);
struct drbd_md *in_core = &bdev->md;
......@@ -3091,7 +3091,7 @@ static int check_offsets_and_sizes(struct drbd_conf *mdev, struct drbd_backing_d
* Called exactly once during drbd_adm_attach(), while still being D_DISKLESS,
* even before @bdev is assigned to @mdev->ldev.
*/
int drbd_md_read(struct drbd_conf *mdev, struct drbd_backing_dev *bdev)
int drbd_md_read(struct drbd_device *mdev, struct drbd_backing_dev *bdev)
{
struct meta_data_on_disk *buffer;
u32 magic, flags;
......@@ -3196,7 +3196,7 @@ int drbd_md_read(struct drbd_conf *mdev, struct drbd_backing_dev *bdev)
* timer that ensures that within five seconds you have to call drbd_md_sync().
*/
#ifdef DEBUG
void drbd_md_mark_dirty_(struct drbd_conf *mdev, unsigned int line, const char *func)
void drbd_md_mark_dirty_(struct drbd_device *mdev, unsigned int line, const char *func)
{
if (!test_and_set_bit(MD_DIRTY, &mdev->flags)) {
mod_timer(&mdev->md_sync_timer, jiffies + HZ);
......@@ -3205,14 +3205,14 @@ void drbd_md_mark_dirty_(struct drbd_conf *mdev, unsigned int line, const char *
}
}
#else
void drbd_md_mark_dirty(struct drbd_conf *mdev)
void drbd_md_mark_dirty(struct drbd_device *mdev)
{
if (!test_and_set_bit(MD_DIRTY, &mdev->flags))
mod_timer(&mdev->md_sync_timer, jiffies + 5*HZ);
}
#endif
void drbd_uuid_move_history(struct drbd_conf *mdev) __must_hold(local)
void drbd_uuid_move_history(struct drbd_device *mdev) __must_hold(local)
{
int i;
......@@ -3220,7 +3220,7 @@ void drbd_uuid_move_history(struct drbd_conf *mdev) __must_hold(local)
mdev->ldev->md.uuid[i+1] = mdev->ldev->md.uuid[i];
}
void __drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local)
void __drbd_uuid_set(struct drbd_device *mdev, int idx, u64 val) __must_hold(local)
{
if (idx == UI_CURRENT) {
if (mdev->state.role == R_PRIMARY)
......@@ -3235,7 +3235,7 @@ void __drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local
drbd_md_mark_dirty(mdev);
}
void _drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local)
void _drbd_uuid_set(struct drbd_device *mdev, int idx, u64 val) __must_hold(local)
{
unsigned long flags;
spin_lock_irqsave(&mdev->ldev->md.uuid_lock, flags);
......@@ -3243,7 +3243,7 @@ void _drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local)
spin_unlock_irqrestore(&mdev->ldev->md.uuid_lock, flags);
}
void drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local)
void drbd_uuid_set(struct drbd_device *mdev, int idx, u64 val) __must_hold(local)
{
unsigned long flags;
spin_lock_irqsave(&mdev->ldev->md.uuid_lock, flags);
......@@ -3262,7 +3262,7 @@ void drbd_uuid_set(struct drbd_conf *mdev, int idx, u64 val) __must_hold(local)
* Creates a new current UUID, and rotates the old current UUID into
* the bitmap slot. Causes an incremental resync upon next connect.
*/
void drbd_uuid_new_current(struct drbd_conf *mdev) __must_hold(local)
void drbd_uuid_new_current(struct drbd_device *mdev) __must_hold(local)
{
u64 val;
unsigned long long bm_uuid;
......@@ -3284,7 +3284,7 @@ void drbd_uuid_new_current(struct drbd_conf *mdev) __must_hold(local)
drbd_md_sync(mdev);
}
void drbd_uuid_set_bm(struct drbd_conf *mdev, u64 val) __must_hold(local)
void drbd_uuid_set_bm(struct drbd_device *mdev, u64 val) __must_hold(local)
{
unsigned long flags;
if (mdev->ldev->md.uuid[UI_BITMAP] == 0 && val == 0)
......@@ -3313,7 +3313,7 @@ void drbd_uuid_set_bm(struct drbd_conf *mdev, u64 val) __must_hold(local)
*
* Sets all bits in the bitmap and writes the whole bitmap to stable storage.
*/
int drbd_bmio_set_n_write(struct drbd_conf *mdev)
int drbd_bmio_set_n_write(struct drbd_device *mdev)
{
int rv = -EIO;
......@@ -3341,7 +3341,7 @@ int drbd_bmio_set_n_write(struct drbd_conf *mdev)
*
* Clears all bits in the bitmap and writes the whole bitmap to stable storage.
*/
int drbd_bmio_clear_n_write(struct drbd_conf *mdev)
int drbd_bmio_clear_n_write(struct drbd_device *mdev)
{
int rv = -EIO;
......@@ -3358,7 +3358,7 @@ int drbd_bmio_clear_n_write(struct drbd_conf *mdev)
static int w_bitmap_io(struct drbd_work *w, int unused)
{
struct bm_io_work *work = container_of(w, struct bm_io_work, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
int rv = -EIO;
D_ASSERT(atomic_read(&mdev->ap_bio_cnt) == 0);
......@@ -3383,7 +3383,7 @@ static int w_bitmap_io(struct drbd_work *w, int unused)
return 0;
}
void drbd_ldev_destroy(struct drbd_conf *mdev)
void drbd_ldev_destroy(struct drbd_device *mdev)
{
lc_destroy(mdev->resync);
mdev->resync = NULL;
......@@ -3398,7 +3398,7 @@ void drbd_ldev_destroy(struct drbd_conf *mdev)
static int w_go_diskless(struct drbd_work *w, int unused)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
D_ASSERT(mdev->state.disk == D_FAILED);
/* we cannot assert local_cnt == 0 here, as get_ldev_if_state will
......@@ -3449,9 +3449,9 @@ static int w_go_diskless(struct drbd_work *w, int unused)
* called from worker context. It MUST NOT be used while a previous such
* work is still pending!
*/
void drbd_queue_bitmap_io(struct drbd_conf *mdev,
int (*io_fn)(struct drbd_conf *),
void (*done)(struct drbd_conf *, int),
void drbd_queue_bitmap_io(struct drbd_device *mdev,
int (*io_fn)(struct drbd_device *),
void (*done)(struct drbd_device *, int),
char *why, enum bm_flag flags)
{
D_ASSERT(current == mdev->tconn->worker.task);
......@@ -3486,7 +3486,7 @@ void drbd_queue_bitmap_io(struct drbd_conf *mdev,
* freezes application IO while that the actual IO operations runs. This
* functions MAY NOT be called from worker context.
*/
int drbd_bitmap_io(struct drbd_conf *mdev, int (*io_fn)(struct drbd_conf *),
int drbd_bitmap_io(struct drbd_device *mdev, int (*io_fn)(struct drbd_device *),
char *why, enum bm_flag flags)
{
int rv;
......@@ -3506,7 +3506,7 @@ int drbd_bitmap_io(struct drbd_conf *mdev, int (*io_fn)(struct drbd_conf *),
return rv;
}
void drbd_md_set_flag(struct drbd_conf *mdev, int flag) __must_hold(local)
void drbd_md_set_flag(struct drbd_device *mdev, int flag) __must_hold(local)
{
if ((mdev->ldev->md.flags & flag) != flag) {
drbd_md_mark_dirty(mdev);
......@@ -3514,7 +3514,7 @@ void drbd_md_set_flag(struct drbd_conf *mdev, int flag) __must_hold(local)
}
}
void drbd_md_clear_flag(struct drbd_conf *mdev, int flag) __must_hold(local)
void drbd_md_clear_flag(struct drbd_device *mdev, int flag) __must_hold(local)
{
if ((mdev->ldev->md.flags & flag) != 0) {
drbd_md_mark_dirty(mdev);
......@@ -3528,7 +3528,7 @@ int drbd_md_test_flag(struct drbd_backing_dev *bdev, int flag)
static void md_sync_timer_fn(unsigned long data)
{
struct drbd_conf *mdev = (struct drbd_conf *) data;
struct drbd_device *mdev = (struct drbd_device *) data;
/* must not double-queue! */
if (list_empty(&mdev->md_sync_work.list))
......@@ -3537,7 +3537,7 @@ static void md_sync_timer_fn(unsigned long data)
static int w_md_sync(struct drbd_work *w, int unused)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
dev_warn(DEV, "md_sync_timer expired! Worker calls drbd_md_sync().\n");
#ifdef DEBUG
......@@ -3624,7 +3624,7 @@ const char *cmdname(enum drbd_packet cmd)
* @i: the struct drbd_interval embedded in struct drbd_request or
* struct drbd_peer_request
*/
int drbd_wait_misc(struct drbd_conf *mdev, struct drbd_interval *i)
int drbd_wait_misc(struct drbd_device *mdev, struct drbd_interval *i)
{
struct net_conf *nc;
DEFINE_WAIT(wait);
......@@ -3702,7 +3702,7 @@ _drbd_fault_str(unsigned int type) {
}
unsigned int
_drbd_insert_fault(struct drbd_conf *mdev, unsigned int type)
_drbd_insert_fault(struct drbd_device *mdev, unsigned int type)
{
static struct fault_random_state rrs = {0, 0};
......
......@@ -103,7 +103,7 @@ static struct drbd_config_context {
/* pointer into reply buffer */
struct drbd_genlmsghdr *reply_dh;
/* resolved from attributes, if possible */
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct drbd_tconn *tconn;
} adm_ctx;
......@@ -313,7 +313,7 @@ static void setup_khelper_env(struct drbd_tconn *tconn, char **envp)
snprintf(envp[3], 20, "DRBD_PEER_AF=%s", afs);
}
int drbd_khelper(struct drbd_conf *mdev, char *cmd)
int drbd_khelper(struct drbd_device *mdev, char *cmd)
{
char *envp[] = { "HOME=/",
"TERM=linux",
......@@ -400,7 +400,7 @@ static int conn_khelper(struct drbd_tconn *tconn, char *cmd)
static enum drbd_fencing_p highest_fencing_policy(struct drbd_tconn *tconn)
{
enum drbd_fencing_p fp = FP_NOT_AVAIL;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -534,7 +534,7 @@ void conn_try_outdate_peer_async(struct drbd_tconn *tconn)
}
enum drbd_state_rv
drbd_set_role(struct drbd_conf *mdev, enum drbd_role new_role, int force)
drbd_set_role(struct drbd_device *mdev, enum drbd_role new_role, int force)
{
const int max_tries = 4;
enum drbd_state_rv rv = SS_UNKNOWN_ERROR;
......@@ -729,7 +729,7 @@ int drbd_adm_set_role(struct sk_buff *skb, struct genl_info *info)
* Activity log size used to be fixed 32kB,
* but is about to become configurable.
*/
static void drbd_md_set_sector_offsets(struct drbd_conf *mdev,
static void drbd_md_set_sector_offsets(struct drbd_device *mdev,
struct drbd_backing_dev *bdev)
{
sector_t md_size_sect = 0;
......@@ -807,7 +807,7 @@ char *ppsize(char *buf, unsigned long long size)
* and can be long lived.
* This changes an mdev->flag, is triggered by drbd internals,
* and should be short-lived. */
void drbd_suspend_io(struct drbd_conf *mdev)
void drbd_suspend_io(struct drbd_device *mdev)
{
set_bit(SUSPEND_IO, &mdev->flags);
if (drbd_suspended(mdev))
......@@ -815,7 +815,7 @@ void drbd_suspend_io(struct drbd_conf *mdev)
wait_event(mdev->misc_wait, !atomic_read(&mdev->ap_bio_cnt));
}
void drbd_resume_io(struct drbd_conf *mdev)
void drbd_resume_io(struct drbd_device *mdev)
{
clear_bit(SUSPEND_IO, &mdev->flags);
wake_up(&mdev->misc_wait);
......@@ -829,7 +829,7 @@ void drbd_resume_io(struct drbd_conf *mdev)
* You should call drbd_md_sync() after calling this function.
*/
enum determine_dev_size
drbd_determine_dev_size(struct drbd_conf *mdev, enum dds_flags flags, struct resize_parms *rs) __must_hold(local)
drbd_determine_dev_size(struct drbd_device *mdev, enum dds_flags flags, struct resize_parms *rs) __must_hold(local)
{
sector_t prev_first_sect, prev_size; /* previous meta location */
sector_t la_size_sect, u_size;
......@@ -979,7 +979,7 @@ drbd_determine_dev_size(struct drbd_conf *mdev, enum dds_flags flags, struct res
}
sector_t
drbd_new_dev_size(struct drbd_conf *mdev, struct drbd_backing_dev *bdev,
drbd_new_dev_size(struct drbd_device *mdev, struct drbd_backing_dev *bdev,
sector_t u_size, int assume_peer_has_space)
{
sector_t p_size = mdev->p_size; /* partner's disk size. */
......@@ -1033,7 +1033,7 @@ drbd_new_dev_size(struct drbd_conf *mdev, struct drbd_backing_dev *bdev,
* failed, and 0 on success. You should call drbd_md_sync() after you called
* this function.
*/
static int drbd_check_al_size(struct drbd_conf *mdev, struct disk_conf *dc)
static int drbd_check_al_size(struct drbd_device *mdev, struct disk_conf *dc)
{
struct lru_cache *n, *t;
struct lc_element *e;
......@@ -1078,7 +1078,7 @@ static int drbd_check_al_size(struct drbd_conf *mdev, struct disk_conf *dc)
return 0;
}
static void drbd_setup_queue_param(struct drbd_conf *mdev, unsigned int max_bio_size)
static void drbd_setup_queue_param(struct drbd_device *mdev, unsigned int max_bio_size)
{
struct request_queue * const q = mdev->rq_queue;
unsigned int max_hw_sectors = max_bio_size >> 9;
......@@ -1115,7 +1115,7 @@ static void drbd_setup_queue_param(struct drbd_conf *mdev, unsigned int max_bio_
}
}
void drbd_reconsider_max_bio_size(struct drbd_conf *mdev)
void drbd_reconsider_max_bio_size(struct drbd_device *mdev)
{
unsigned int now, new, local, peer;
......@@ -1180,7 +1180,7 @@ static void conn_reconfig_done(struct drbd_tconn *tconn)
}
/* Make sure IO is suspended before calling this function(). */
static void drbd_suspend_al(struct drbd_conf *mdev)
static void drbd_suspend_al(struct drbd_device *mdev)
{
int s = 0;
......@@ -1238,7 +1238,7 @@ static unsigned int drbd_al_extents_max(struct drbd_backing_dev *bdev)
int drbd_adm_disk_opts(struct sk_buff *skb, struct genl_info *info)
{
enum drbd_ret_code retcode;
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct disk_conf *new_disk_conf, *old_disk_conf;
struct fifo_buffer *old_plan = NULL, *new_plan = NULL;
int err, fifo_size;
......@@ -1366,7 +1366,7 @@ int drbd_adm_disk_opts(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int err;
enum drbd_ret_code retcode;
enum determine_dev_size dd;
......@@ -1800,7 +1800,7 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)
return 0;
}
static int adm_detach(struct drbd_conf *mdev, int force)
static int adm_detach(struct drbd_device *mdev, int force)
{
enum drbd_state_rv retcode;
int ret;
......@@ -1862,7 +1862,7 @@ int drbd_adm_detach(struct sk_buff *skb, struct genl_info *info)
static bool conn_resync_running(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
bool rv = false;
int vnr;
......@@ -1883,7 +1883,7 @@ static bool conn_resync_running(struct drbd_tconn *tconn)
static bool conn_ov_running(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
bool rv = false;
int vnr;
......@@ -1903,7 +1903,7 @@ static bool conn_ov_running(struct drbd_tconn *tconn)
static enum drbd_ret_code
_check_net_options(struct drbd_tconn *tconn, struct net_conf *old_conf, struct net_conf *new_conf)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int i;
if (old_conf && tconn->cstate == C_WF_REPORT_PARAMS && tconn->agreed_pro_version < 100) {
......@@ -1947,7 +1947,7 @@ static enum drbd_ret_code
check_net_options(struct drbd_tconn *tconn, struct net_conf *new_conf)
{
static enum drbd_ret_code rv;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int i;
rcu_read_lock();
......@@ -2139,7 +2139,7 @@ int drbd_adm_net_opts(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_connect(struct sk_buff *skb, struct genl_info *info)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct net_conf *old_conf, *new_conf = NULL;
struct crypto crypto = { };
struct drbd_tconn *tconn;
......@@ -2349,7 +2349,7 @@ int drbd_adm_disconnect(struct sk_buff *skb, struct genl_info *info)
return 0;
}
void resync_after_online_grow(struct drbd_conf *mdev)
void resync_after_online_grow(struct drbd_device *mdev)
{
int iass; /* I am sync source */
......@@ -2369,7 +2369,7 @@ int drbd_adm_resize(struct sk_buff *skb, struct genl_info *info)
{
struct disk_conf *old_disk_conf, *new_disk_conf = NULL;
struct resize_parms rs;
struct drbd_conf *mdev;
struct drbd_device *mdev;
enum drbd_ret_code retcode;
enum determine_dev_size dd;
bool change_al_layout = false;
......@@ -2535,7 +2535,7 @@ int drbd_adm_resource_opts(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_invalidate(struct sk_buff *skb, struct genl_info *info)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int retcode; /* enum drbd_ret_code rsp. enum drbd_state_rv */
retcode = drbd_adm_prepare(skb, info, DRBD_ADM_NEED_MINOR);
......@@ -2590,7 +2590,7 @@ static int drbd_adm_simple_request_state(struct sk_buff *skb, struct genl_info *
return 0;
}
static int drbd_bmio_set_susp_al(struct drbd_conf *mdev)
static int drbd_bmio_set_susp_al(struct drbd_device *mdev)
{
int rv;
......@@ -2602,7 +2602,7 @@ static int drbd_bmio_set_susp_al(struct drbd_conf *mdev)
int drbd_adm_invalidate_peer(struct sk_buff *skb, struct genl_info *info)
{
int retcode; /* drbd_ret_code, drbd_state_rv */
struct drbd_conf *mdev;
struct drbd_device *mdev;
retcode = drbd_adm_prepare(skb, info, DRBD_ADM_NEED_MINOR);
if (!adm_ctx.reply_skb)
......@@ -2692,7 +2692,7 @@ int drbd_adm_suspend_io(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_resume_io(struct sk_buff *skb, struct genl_info *info)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int retcode; /* enum drbd_ret_code rsp. enum drbd_state_rv */
retcode = drbd_adm_prepare(skb, info, DRBD_ADM_NEED_MINOR);
......@@ -2753,7 +2753,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb,
return -EMSGSIZE;
}
static int nla_put_status_info(struct sk_buff *skb, struct drbd_conf *mdev,
static int nla_put_status_info(struct sk_buff *skb, struct drbd_device *mdev,
const struct sib_info *sib)
{
struct state_info *si = NULL; /* for sizeof(si->member); */
......@@ -2897,7 +2897,7 @@ int drbd_adm_get_status(struct sk_buff *skb, struct genl_info *info)
static int get_one_status(struct sk_buff *skb, struct netlink_callback *cb)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct drbd_genlmsghdr *dh;
struct drbd_tconn *pos = (struct drbd_tconn*)cb->args[0];
struct drbd_tconn *tconn = NULL;
......@@ -3097,7 +3097,7 @@ int drbd_adm_get_timeout_type(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_start_ov(struct sk_buff *skb, struct genl_info *info)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
enum drbd_ret_code retcode;
struct start_ov_parms parms;
......@@ -3138,7 +3138,7 @@ int drbd_adm_start_ov(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_new_c_uuid(struct sk_buff *skb, struct genl_info *info)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
enum drbd_ret_code retcode;
int skip_initial_sync = 0;
int err;
......@@ -3302,7 +3302,7 @@ int drbd_adm_add_minor(struct sk_buff *skb, struct genl_info *info)
return 0;
}
static enum drbd_ret_code adm_delete_minor(struct drbd_conf *mdev)
static enum drbd_ret_code adm_delete_minor(struct drbd_device *mdev)
{
if (mdev->state.disk == D_DISKLESS &&
/* no need to be mdev->state.conn == C_STANDALONE &&
......@@ -3341,7 +3341,7 @@ int drbd_adm_delete_minor(struct sk_buff *skb, struct genl_info *info)
int drbd_adm_down(struct sk_buff *skb, struct genl_info *info)
{
int retcode; /* enum drbd_ret_code rsp. enum drbd_state_rv */
struct drbd_conf *mdev;
struct drbd_device *mdev;
unsigned i;
retcode = drbd_adm_prepare(skb, info, 0);
......@@ -3441,7 +3441,7 @@ int drbd_adm_del_resource(struct sk_buff *skb, struct genl_info *info)
return 0;
}
void drbd_bcast_event(struct drbd_conf *mdev, const struct sib_info *sib)
void drbd_bcast_event(struct drbd_device *mdev, const struct sib_info *sib)
{
static atomic_t drbd_genl_seq = ATOMIC_INIT(2); /* two. */
struct sk_buff *msg;
......
......@@ -66,7 +66,7 @@ static void seq_printf_with_thousands_grouping(struct seq_file *seq, long v)
* [=====>..............] 33.5% (23456/123456)
* finish: 2:20:20 speed: 6,345 (6,456) K/sec
*/
static void drbd_syncer_progress(struct drbd_conf *mdev, struct seq_file *seq)
static void drbd_syncer_progress(struct drbd_device *mdev, struct seq_file *seq)
{
unsigned long db, dt, dbdt, rt, rs_left;
unsigned int res;
......@@ -202,7 +202,7 @@ static int drbd_seq_show(struct seq_file *seq, void *v)
{
int i, prev_i = -1;
const char *sn;
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct net_conf *nc;
char wp;
......
......@@ -64,7 +64,7 @@ enum finish_epoch {
static int drbd_do_features(struct drbd_tconn *tconn);
static int drbd_do_auth(struct drbd_tconn *tconn);
static int drbd_disconnected(struct drbd_conf *mdev);
static int drbd_disconnected(struct drbd_device *mdev);
static enum finish_epoch drbd_may_finish_epoch(struct drbd_tconn *, struct drbd_epoch *, enum epoch_event);
static int e_end_block(struct drbd_work *, int);
......@@ -151,7 +151,7 @@ static void page_chain_add(struct page **head,
*head = chain_first;
}
static struct page *__drbd_alloc_pages(struct drbd_conf *mdev,
static struct page *__drbd_alloc_pages(struct drbd_device *mdev,
unsigned int number)
{
struct page *page = NULL;
......@@ -197,7 +197,7 @@ static struct page *__drbd_alloc_pages(struct drbd_conf *mdev,
return NULL;
}
static void reclaim_finished_net_peer_reqs(struct drbd_conf *mdev,
static void reclaim_finished_net_peer_reqs(struct drbd_device *mdev,
struct list_head *to_be_freed)
{
struct drbd_peer_request *peer_req;
......@@ -216,7 +216,7 @@ static void reclaim_finished_net_peer_reqs(struct drbd_conf *mdev,
}
}
static void drbd_kick_lo_and_reclaim_net(struct drbd_conf *mdev)
static void drbd_kick_lo_and_reclaim_net(struct drbd_device *mdev)
{
LIST_HEAD(reclaimed);
struct drbd_peer_request *peer_req, *t;
......@@ -241,7 +241,7 @@ static void drbd_kick_lo_and_reclaim_net(struct drbd_conf *mdev)
*
* Returns a page chain linked via page->private.
*/
struct page *drbd_alloc_pages(struct drbd_conf *mdev, unsigned int number,
struct page *drbd_alloc_pages(struct drbd_device *mdev, unsigned int number,
bool retry)
{
struct page *page = NULL;
......@@ -291,7 +291,7 @@ struct page *drbd_alloc_pages(struct drbd_conf *mdev, unsigned int number,
* Is also used from inside an other spin_lock_irq(&mdev->tconn->req_lock);
* Either links the page chain back to the global pool,
* or returns all pages to the system. */
static void drbd_free_pages(struct drbd_conf *mdev, struct page *page, int is_net)
static void drbd_free_pages(struct drbd_device *mdev, struct page *page, int is_net)
{
atomic_t *a = is_net ? &mdev->pp_in_use_by_net : &mdev->pp_in_use;
int i;
......@@ -331,7 +331,7 @@ You must not have the req_lock:
*/
struct drbd_peer_request *
drbd_alloc_peer_req(struct drbd_conf *mdev, u64 id, sector_t sector,
drbd_alloc_peer_req(struct drbd_device *mdev, u64 id, sector_t sector,
unsigned int data_size, gfp_t gfp_mask) __must_hold(local)
{
struct drbd_peer_request *peer_req;
......@@ -378,7 +378,7 @@ drbd_alloc_peer_req(struct drbd_conf *mdev, u64 id, sector_t sector,
return NULL;
}
void __drbd_free_peer_req(struct drbd_conf *mdev, struct drbd_peer_request *peer_req,
void __drbd_free_peer_req(struct drbd_device *mdev, struct drbd_peer_request *peer_req,
int is_net)
{
if (peer_req->flags & EE_HAS_DIGEST)
......@@ -389,7 +389,7 @@ void __drbd_free_peer_req(struct drbd_conf *mdev, struct drbd_peer_request *peer
mempool_free(peer_req, drbd_ee_mempool);
}
int drbd_free_peer_reqs(struct drbd_conf *mdev, struct list_head *list)
int drbd_free_peer_reqs(struct drbd_device *mdev, struct list_head *list)
{
LIST_HEAD(work_list);
struct drbd_peer_request *peer_req, *t;
......@@ -410,7 +410,7 @@ int drbd_free_peer_reqs(struct drbd_conf *mdev, struct list_head *list)
/*
* See also comments in _req_mod(,BARRIER_ACKED) and receive_Barrier.
*/
static int drbd_finish_peer_reqs(struct drbd_conf *mdev)
static int drbd_finish_peer_reqs(struct drbd_device *mdev)
{
LIST_HEAD(work_list);
LIST_HEAD(reclaimed);
......@@ -443,7 +443,7 @@ static int drbd_finish_peer_reqs(struct drbd_conf *mdev)
return err;
}
static void _drbd_wait_ee_list_empty(struct drbd_conf *mdev,
static void _drbd_wait_ee_list_empty(struct drbd_device *mdev,
struct list_head *head)
{
DEFINE_WAIT(wait);
......@@ -459,7 +459,7 @@ static void _drbd_wait_ee_list_empty(struct drbd_conf *mdev,
}
}
static void drbd_wait_ee_list_empty(struct drbd_conf *mdev,
static void drbd_wait_ee_list_empty(struct drbd_device *mdev,
struct list_head *head)
{
spin_lock_irq(&mdev->tconn->req_lock);
......@@ -831,7 +831,7 @@ static int drbd_socket_okay(struct socket **sock)
}
/* Gets called if a connection is established, or if a new minor gets created
in a connection */
int drbd_connected(struct drbd_conf *mdev)
int drbd_connected(struct drbd_device *mdev)
{
int err;
......@@ -867,7 +867,7 @@ int drbd_connected(struct drbd_conf *mdev)
static int conn_connect(struct drbd_tconn *tconn)
{
struct drbd_socket sock, msock;
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct net_conf *nc;
int vnr, timeout, h, ok;
bool discard_my_data;
......@@ -1145,7 +1145,7 @@ static int drbd_recv_header(struct drbd_tconn *tconn, struct packet_info *pi)
static void drbd_flush(struct drbd_tconn *tconn)
{
int rv;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
if (tconn->write_ordering >= WO_bdev_flush) {
......@@ -1260,7 +1260,7 @@ static enum finish_epoch drbd_may_finish_epoch(struct drbd_tconn *tconn,
void drbd_bump_write_ordering(struct drbd_tconn *tconn, enum write_ordering_e wo)
{
struct disk_conf *dc;
struct drbd_conf *mdev;
struct drbd_device *mdev;
enum write_ordering_e pwo;
int vnr;
static char *write_ordering_str[] = {
......@@ -1306,7 +1306,7 @@ void drbd_bump_write_ordering(struct drbd_tconn *tconn, enum write_ordering_e wo
* on certain Xen deployments.
*/
/* TODO allocate from our own bio_set. */
int drbd_submit_peer_request(struct drbd_conf *mdev,
int drbd_submit_peer_request(struct drbd_device *mdev,
struct drbd_peer_request *peer_req,
const unsigned rw, const int fault_type)
{
......@@ -1386,7 +1386,7 @@ int drbd_submit_peer_request(struct drbd_conf *mdev,
return err;
}
static void drbd_remove_epoch_entry_interval(struct drbd_conf *mdev,
static void drbd_remove_epoch_entry_interval(struct drbd_device *mdev,
struct drbd_peer_request *peer_req)
{
struct drbd_interval *i = &peer_req->i;
......@@ -1401,7 +1401,7 @@ static void drbd_remove_epoch_entry_interval(struct drbd_conf *mdev,
static void conn_wait_active_ee_empty(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -1485,7 +1485,7 @@ static int receive_Barrier(struct drbd_tconn *tconn, struct packet_info *pi)
/* used from receive_RSDataReply (recv_resync_read)
* and from receive_Data */
static struct drbd_peer_request *
read_in_block(struct drbd_conf *mdev, u64 id, sector_t sector,
read_in_block(struct drbd_device *mdev, u64 id, sector_t sector,
int data_size) __must_hold(local)
{
const sector_t capacity = drbd_get_capacity(mdev->this_bdev);
......@@ -1568,7 +1568,7 @@ read_in_block(struct drbd_conf *mdev, u64 id, sector_t sector,
/* drbd_drain_block() just takes a data block
* out of the socket input buffer, and discards it.
*/
static int drbd_drain_block(struct drbd_conf *mdev, int data_size)
static int drbd_drain_block(struct drbd_device *mdev, int data_size)
{
struct page *page;
int err = 0;
......@@ -1593,7 +1593,7 @@ static int drbd_drain_block(struct drbd_conf *mdev, int data_size)
return err;
}
static int recv_dless_read(struct drbd_conf *mdev, struct drbd_request *req,
static int recv_dless_read(struct drbd_device *mdev, struct drbd_request *req,
sector_t sector, int data_size)
{
struct bio_vec bvec;
......@@ -1649,7 +1649,7 @@ static int e_end_resync_block(struct drbd_work *w, int unused)
{
struct drbd_peer_request *peer_req =
container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
sector_t sector = peer_req->i.sector;
int err;
......@@ -1669,7 +1669,7 @@ static int e_end_resync_block(struct drbd_work *w, int unused)
return err;
}
static int recv_resync_read(struct drbd_conf *mdev, sector_t sector, int data_size) __releases(local)
static int recv_resync_read(struct drbd_device *mdev, sector_t sector, int data_size) __releases(local)
{
struct drbd_peer_request *peer_req;
......@@ -1706,7 +1706,7 @@ static int recv_resync_read(struct drbd_conf *mdev, sector_t sector, int data_si
}
static struct drbd_request *
find_request(struct drbd_conf *mdev, struct rb_root *root, u64 id,
find_request(struct drbd_device *mdev, struct rb_root *root, u64 id,
sector_t sector, bool missing_ok, const char *func)
{
struct drbd_request *req;
......@@ -1724,7 +1724,7 @@ find_request(struct drbd_conf *mdev, struct rb_root *root, u64 id,
static int receive_DataReply(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct drbd_request *req;
sector_t sector;
int err;
......@@ -1757,7 +1757,7 @@ static int receive_DataReply(struct drbd_tconn *tconn, struct packet_info *pi)
static int receive_RSDataReply(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
sector_t sector;
int err;
struct p_data *p = pi->data;
......@@ -1788,7 +1788,7 @@ static int receive_RSDataReply(struct drbd_tconn *tconn, struct packet_info *pi)
return err;
}
static void restart_conflicting_writes(struct drbd_conf *mdev,
static void restart_conflicting_writes(struct drbd_device *mdev,
sector_t sector, int size)
{
struct drbd_interval *i;
......@@ -1814,7 +1814,7 @@ static int e_end_block(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req =
container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
sector_t sector = peer_req->i.sector;
int err = 0, pcmd;
......@@ -1853,7 +1853,7 @@ static int e_end_block(struct drbd_work *w, int cancel)
static int e_send_ack(struct drbd_work *w, enum drbd_packet ack)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct drbd_peer_request *peer_req =
container_of(w, struct drbd_peer_request, w);
int err;
......@@ -1892,7 +1892,7 @@ static u32 seq_max(u32 a, u32 b)
return seq_greater(a, b) ? a : b;
}
static void update_peer_seq(struct drbd_conf *mdev, unsigned int peer_seq)
static void update_peer_seq(struct drbd_device *mdev, unsigned int peer_seq)
{
unsigned int newest_peer_seq;
......@@ -1913,7 +1913,7 @@ static inline int overlaps(sector_t s1, int l1, sector_t s2, int l2)
}
/* maybe change sync_ee into interval trees as well? */
static bool overlapping_resync_write(struct drbd_conf *mdev, struct drbd_peer_request *peer_req)
static bool overlapping_resync_write(struct drbd_device *mdev, struct drbd_peer_request *peer_req)
{
struct drbd_peer_request *rs_req;
bool rv = 0;
......@@ -1952,7 +1952,7 @@ static bool overlapping_resync_write(struct drbd_conf *mdev, struct drbd_peer_re
*
* returns 0 if we may process the packet,
* -ERESTARTSYS if we were interrupted (by disconnect signal). */
static int wait_for_and_update_peer_seq(struct drbd_conf *mdev, const u32 peer_seq)
static int wait_for_and_update_peer_seq(struct drbd_device *mdev, const u32 peer_seq)
{
DEFINE_WAIT(wait);
long timeout;
......@@ -2002,7 +2002,7 @@ static int wait_for_and_update_peer_seq(struct drbd_conf *mdev, const u32 peer_s
/* see also bio_flags_to_wire()
* DRBD_REQ_*, because we need to semantically map the flags to data packet
* flags and back. We may replicate to other kernel versions. */
static unsigned long wire_flags_to_bio(struct drbd_conf *mdev, u32 dpf)
static unsigned long wire_flags_to_bio(struct drbd_device *mdev, u32 dpf)
{
return (dpf & DP_RW_SYNC ? REQ_SYNC : 0) |
(dpf & DP_FUA ? REQ_FUA : 0) |
......@@ -2010,7 +2010,7 @@ static unsigned long wire_flags_to_bio(struct drbd_conf *mdev, u32 dpf)
(dpf & DP_DISCARD ? REQ_DISCARD : 0);
}
static void fail_postponed_requests(struct drbd_conf *mdev, sector_t sector,
static void fail_postponed_requests(struct drbd_device *mdev, sector_t sector,
unsigned int size)
{
struct drbd_interval *i;
......@@ -2035,7 +2035,7 @@ static void fail_postponed_requests(struct drbd_conf *mdev, sector_t sector,
}
}
static int handle_write_conflicts(struct drbd_conf *mdev,
static int handle_write_conflicts(struct drbd_device *mdev,
struct drbd_peer_request *peer_req)
{
struct drbd_tconn *tconn = mdev->tconn;
......@@ -2147,7 +2147,7 @@ static int handle_write_conflicts(struct drbd_conf *mdev,
/* mirrored write */
static int receive_Data(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
sector_t sector;
struct drbd_peer_request *peer_req;
struct p_data *p = pi->data;
......@@ -2296,7 +2296,7 @@ static int receive_Data(struct drbd_tconn *tconn, struct packet_info *pi)
* The current sync rate used here uses only the most recent two step marks,
* to have a short time average so we can react faster.
*/
int drbd_rs_should_slow_down(struct drbd_conf *mdev, sector_t sector)
int drbd_rs_should_slow_down(struct drbd_device *mdev, sector_t sector)
{
struct gendisk *disk = mdev->ldev->backing_bdev->bd_contains->bd_disk;
unsigned long db, dt, dbdt;
......@@ -2359,7 +2359,7 @@ int drbd_rs_should_slow_down(struct drbd_conf *mdev, sector_t sector)
static int receive_DataRequest(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
sector_t sector;
sector_t capacity;
struct drbd_peer_request *peer_req;
......@@ -2545,7 +2545,7 @@ static int receive_DataRequest(struct drbd_tconn *tconn, struct packet_info *pi)
return -EIO;
}
static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local)
static int drbd_asb_recover_0p(struct drbd_device *mdev) __must_hold(local)
{
int self, peer, rv = -100;
unsigned long ch_self, ch_peer;
......@@ -2622,7 +2622,7 @@ static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local)
return rv;
}
static int drbd_asb_recover_1p(struct drbd_conf *mdev) __must_hold(local)
static int drbd_asb_recover_1p(struct drbd_device *mdev) __must_hold(local)
{
int hg, rv = -100;
enum drbd_after_sb_p after_sb_1p;
......@@ -2675,7 +2675,7 @@ static int drbd_asb_recover_1p(struct drbd_conf *mdev) __must_hold(local)
return rv;
}
static int drbd_asb_recover_2p(struct drbd_conf *mdev) __must_hold(local)
static int drbd_asb_recover_2p(struct drbd_device *mdev) __must_hold(local)
{
int hg, rv = -100;
enum drbd_after_sb_p after_sb_2p;
......@@ -2721,7 +2721,7 @@ static int drbd_asb_recover_2p(struct drbd_conf *mdev) __must_hold(local)
return rv;
}
static void drbd_uuid_dump(struct drbd_conf *mdev, char *text, u64 *uuid,
static void drbd_uuid_dump(struct drbd_device *mdev, char *text, u64 *uuid,
u64 bits, u64 flags)
{
if (!uuid) {
......@@ -2750,7 +2750,7 @@ static void drbd_uuid_dump(struct drbd_conf *mdev, char *text, u64 *uuid,
-1091 requires proto 91
-1096 requires proto 96
*/
static int drbd_uuid_compare(struct drbd_conf *mdev, int *rule_nr) __must_hold(local)
static int drbd_uuid_compare(struct drbd_device *mdev, int *rule_nr) __must_hold(local)
{
u64 self, peer;
int i, j;
......@@ -2935,7 +2935,7 @@ static int drbd_uuid_compare(struct drbd_conf *mdev, int *rule_nr) __must_hold(l
/* drbd_sync_handshake() returns the new conn state on success, or
CONN_MASK (-1) on failure.
*/
static enum drbd_conns drbd_sync_handshake(struct drbd_conf *mdev, enum drbd_role peer_role,
static enum drbd_conns drbd_sync_handshake(struct drbd_device *mdev, enum drbd_role peer_role,
enum drbd_disk_state peer_disk) __must_hold(local)
{
enum drbd_conns rv = C_MASK;
......@@ -3259,7 +3259,7 @@ static int receive_protocol(struct drbd_tconn *tconn, struct packet_info *pi)
* ERR_PTR(error) if something goes wrong
* or the crypto hash ptr, if it worked out ok. */
static
struct crypto_hash *drbd_crypto_alloc_digest_safe(const struct drbd_conf *mdev,
struct crypto_hash *drbd_crypto_alloc_digest_safe(const struct drbd_device *mdev,
const char *alg, const char *name)
{
struct crypto_hash *tfm;
......@@ -3316,7 +3316,7 @@ static int config_unknown_volume(struct drbd_tconn *tconn, struct packet_info *p
static int receive_SyncParam(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_rs_param_95 *p;
unsigned int header_size, data_size, exp_max_sz;
struct crypto_hash *verify_tfm = NULL;
......@@ -3525,7 +3525,7 @@ static int receive_SyncParam(struct drbd_tconn *tconn, struct packet_info *pi)
}
/* warn if the arguments differ by more than 12.5% */
static void warn_if_differ_considerably(struct drbd_conf *mdev,
static void warn_if_differ_considerably(struct drbd_device *mdev,
const char *s, sector_t a, sector_t b)
{
sector_t d;
......@@ -3539,7 +3539,7 @@ static void warn_if_differ_considerably(struct drbd_conf *mdev,
static int receive_sizes(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_sizes *p = pi->data;
enum determine_dev_size dd = DS_UNCHANGED;
sector_t p_size, p_usize, my_usize;
......@@ -3660,7 +3660,7 @@ static int receive_sizes(struct drbd_tconn *tconn, struct packet_info *pi)
static int receive_uuids(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_uuids *p = pi->data;
u64 *p_uuid;
int i, updated_uuids = 0;
......@@ -3765,7 +3765,7 @@ static union drbd_state convert_state(union drbd_state ps)
static int receive_req_state(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_req_state *p = pi->data;
union drbd_state mask, val;
enum drbd_state_rv rv;
......@@ -3820,7 +3820,7 @@ static int receive_req_conn_state(struct drbd_tconn *tconn, struct packet_info *
static int receive_state(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_state *p = pi->data;
union drbd_state os, ns, peer_state;
enum drbd_disk_state real_peer_disk;
......@@ -3996,7 +3996,7 @@ static int receive_state(struct drbd_tconn *tconn, struct packet_info *pi)
static int receive_sync_uuid(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_rs_uuid *p = pi->data;
mdev = vnr_to_mdev(tconn, pi->vnr);
......@@ -4034,7 +4034,7 @@ static int receive_sync_uuid(struct drbd_tconn *tconn, struct packet_info *pi)
* code upon failure.
*/
static int
receive_bitmap_plain(struct drbd_conf *mdev, unsigned int size,
receive_bitmap_plain(struct drbd_device *mdev, unsigned int size,
unsigned long *p, struct bm_xfer_ctx *c)
{
unsigned int data_size = DRBD_SOCKET_BUFFER_SIZE -
......@@ -4086,7 +4086,7 @@ static int dcbp_get_pad_bits(struct p_compressed_bm *p)
* code upon failure.
*/
static int
recv_bm_rle_bits(struct drbd_conf *mdev,
recv_bm_rle_bits(struct drbd_device *mdev,
struct p_compressed_bm *p,
struct bm_xfer_ctx *c,
unsigned int len)
......@@ -4155,7 +4155,7 @@ recv_bm_rle_bits(struct drbd_conf *mdev,
* code upon failure.
*/
static int
decode_bitmap_c(struct drbd_conf *mdev,
decode_bitmap_c(struct drbd_device *mdev,
struct p_compressed_bm *p,
struct bm_xfer_ctx *c,
unsigned int len)
......@@ -4172,7 +4172,7 @@ decode_bitmap_c(struct drbd_conf *mdev,
return -EIO;
}
void INFO_bm_xfer_stats(struct drbd_conf *mdev,
void INFO_bm_xfer_stats(struct drbd_device *mdev,
const char *direction, struct bm_xfer_ctx *c)
{
/* what would it take to transfer it "plaintext" */
......@@ -4218,7 +4218,7 @@ void INFO_bm_xfer_stats(struct drbd_conf *mdev,
returns 0 on failure, 1 if we successfully received it. */
static int receive_bitmap(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct bm_xfer_ctx c;
int err;
......@@ -4321,7 +4321,7 @@ static int receive_UnplugRemote(struct drbd_tconn *tconn, struct packet_info *pi
static int receive_out_of_sync(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_block_desc *p = pi->data;
mdev = vnr_to_mdev(tconn, pi->vnr);
......@@ -4436,7 +4436,7 @@ void conn_flush_workqueue(struct drbd_tconn *tconn)
static void conn_disconnect(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
enum drbd_conns oc;
int vnr;
......@@ -4486,7 +4486,7 @@ static void conn_disconnect(struct drbd_tconn *tconn)
conn_request_state(tconn, NS(conn, C_STANDALONE), CS_VERBOSE | CS_HARD);
}
static int drbd_disconnected(struct drbd_conf *mdev)
static int drbd_disconnected(struct drbd_device *mdev)
{
unsigned int i;
......@@ -4885,7 +4885,7 @@ static int got_conn_RqSReply(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_RqSReply(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_req_state_reply *p = pi->data;
int retcode = be32_to_cpu(p->retcode);
......@@ -4928,7 +4928,7 @@ static int got_PingAck(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_IsInSync(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_block_ack *p = pi->data;
sector_t sector = be64_to_cpu(p->sector);
int blksize = be32_to_cpu(p->blksize);
......@@ -4955,7 +4955,7 @@ static int got_IsInSync(struct drbd_tconn *tconn, struct packet_info *pi)
}
static int
validate_req_change_req_state(struct drbd_conf *mdev, u64 id, sector_t sector,
validate_req_change_req_state(struct drbd_device *mdev, u64 id, sector_t sector,
struct rb_root *root, const char *func,
enum drbd_req_event what, bool missing_ok)
{
......@@ -4978,7 +4978,7 @@ validate_req_change_req_state(struct drbd_conf *mdev, u64 id, sector_t sector,
static int got_BlockAck(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_block_ack *p = pi->data;
sector_t sector = be64_to_cpu(p->sector);
int blksize = be32_to_cpu(p->blksize);
......@@ -5022,7 +5022,7 @@ static int got_BlockAck(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_NegAck(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_block_ack *p = pi->data;
sector_t sector = be64_to_cpu(p->sector);
int size = be32_to_cpu(p->blksize);
......@@ -5056,7 +5056,7 @@ static int got_NegAck(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_NegDReply(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_block_ack *p = pi->data;
sector_t sector = be64_to_cpu(p->sector);
......@@ -5076,7 +5076,7 @@ static int got_NegDReply(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_NegRSDReply(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
sector_t sector;
int size;
struct p_block_ack *p = pi->data;
......@@ -5111,7 +5111,7 @@ static int got_NegRSDReply(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_BarrierAck(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct p_barrier_ack *p = pi->data;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
tl_release(tconn, p->barrier, be32_to_cpu(p->set_size));
......@@ -5132,7 +5132,7 @@ static int got_BarrierAck(struct drbd_tconn *tconn, struct packet_info *pi)
static int got_OVResult(struct drbd_tconn *tconn, struct packet_info *pi)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
struct p_block_ack *p = pi->data;
struct drbd_work *w;
sector_t sector;
......@@ -5187,7 +5187,7 @@ static int got_skip(struct drbd_tconn *tconn, struct packet_info *pi)
static int tconn_finish_peer_reqs(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr, not_empty = 0;
do {
......
......@@ -31,10 +31,10 @@
#include "drbd_req.h"
static bool drbd_may_do_local_read(struct drbd_conf *mdev, sector_t sector, int size);
static bool drbd_may_do_local_read(struct drbd_device *mdev, sector_t sector, int size);
/* Update disk stats at start of I/O request */
static void _drbd_start_io_acct(struct drbd_conf *mdev, struct drbd_request *req)
static void _drbd_start_io_acct(struct drbd_device *mdev, struct drbd_request *req)
{
const int rw = bio_data_dir(req->master_bio);
int cpu;
......@@ -49,7 +49,7 @@ static void _drbd_start_io_acct(struct drbd_conf *mdev, struct drbd_request *req
}
/* Update disk stats when completing request upwards */
static void _drbd_end_io_acct(struct drbd_conf *mdev, struct drbd_request *req)
static void _drbd_end_io_acct(struct drbd_device *mdev, struct drbd_request *req)
{
int rw = bio_data_dir(req->master_bio);
unsigned long duration = jiffies - req->start_time;
......@@ -61,7 +61,7 @@ static void _drbd_end_io_acct(struct drbd_conf *mdev, struct drbd_request *req)
part_stat_unlock();
}
static struct drbd_request *drbd_req_new(struct drbd_conf *mdev,
static struct drbd_request *drbd_req_new(struct drbd_device *mdev,
struct bio *bio_src)
{
struct drbd_request *req;
......@@ -95,7 +95,7 @@ static struct drbd_request *drbd_req_new(struct drbd_conf *mdev,
void drbd_req_destroy(struct kref *kref)
{
struct drbd_request *req = container_of(kref, struct drbd_request, kref);
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
const unsigned s = req->rq_state;
if ((req->master_bio && !(s & RQ_POSTPONED)) ||
......@@ -179,7 +179,7 @@ void start_new_tl_epoch(struct drbd_tconn *tconn)
wake_all_senders(tconn);
}
void complete_master_bio(struct drbd_conf *mdev,
void complete_master_bio(struct drbd_device *mdev,
struct bio_and_error *m)
{
bio_endio(m->bio, m->error);
......@@ -190,7 +190,7 @@ void complete_master_bio(struct drbd_conf *mdev,
static void drbd_remove_request_interval(struct rb_root *root,
struct drbd_request *req)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct drbd_interval *i = &req->i;
drbd_remove_interval(root, i);
......@@ -210,7 +210,7 @@ static
void drbd_req_complete(struct drbd_request *req, struct bio_and_error *m)
{
const unsigned s = req->rq_state;
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
int rw;
int error, ok;
......@@ -305,7 +305,7 @@ void drbd_req_complete(struct drbd_request *req, struct bio_and_error *m)
static int drbd_req_put_completion_ref(struct drbd_request *req, struct bio_and_error *m, int put)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
D_ASSERT(m || (req->rq_state & RQ_POSTPONED));
if (!atomic_sub_and_test(put, &req->completion_ref))
......@@ -328,7 +328,7 @@ static int drbd_req_put_completion_ref(struct drbd_request *req, struct bio_and_
static void mod_rq_state(struct drbd_request *req, struct bio_and_error *m,
int clear, int set)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
unsigned s = req->rq_state;
int c_put = 0;
int k_put = 0;
......@@ -424,7 +424,7 @@ static void mod_rq_state(struct drbd_request *req, struct bio_and_error *m,
kref_sub(&req->kref, k_put, drbd_req_destroy);
}
static void drbd_report_io_error(struct drbd_conf *mdev, struct drbd_request *req)
static void drbd_report_io_error(struct drbd_device *mdev, struct drbd_request *req)
{
char b[BDEVNAME_SIZE];
......@@ -453,7 +453,7 @@ static void drbd_report_io_error(struct drbd_conf *mdev, struct drbd_request *re
int __req_mod(struct drbd_request *req, enum drbd_req_event what,
struct bio_and_error *m)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct net_conf *nc;
int p, rv = 0;
......@@ -771,7 +771,7 @@ int __req_mod(struct drbd_request *req, enum drbd_req_event what,
* since size may be bigger than BM_BLOCK_SIZE,
* we may need to check several bits.
*/
static bool drbd_may_do_local_read(struct drbd_conf *mdev, sector_t sector, int size)
static bool drbd_may_do_local_read(struct drbd_device *mdev, sector_t sector, int size)
{
unsigned long sbnr, ebnr;
sector_t esector, nr_sectors;
......@@ -791,7 +791,7 @@ static bool drbd_may_do_local_read(struct drbd_conf *mdev, sector_t sector, int
return drbd_bm_count_bits(mdev, sbnr, ebnr) == 0;
}
static bool remote_due_to_read_balancing(struct drbd_conf *mdev, sector_t sector,
static bool remote_due_to_read_balancing(struct drbd_device *mdev, sector_t sector,
enum drbd_read_balancing rbm)
{
struct backing_dev_info *bdi;
......@@ -834,7 +834,7 @@ static bool remote_due_to_read_balancing(struct drbd_conf *mdev, sector_t sector
static void complete_conflicting_writes(struct drbd_request *req)
{
DEFINE_WAIT(wait);
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct drbd_interval *i;
sector_t sector = req->i.sector;
int size = req->i.size;
......@@ -858,7 +858,7 @@ static void complete_conflicting_writes(struct drbd_request *req)
}
/* called within req_lock and rcu_read_lock() */
static void maybe_pull_ahead(struct drbd_conf *mdev)
static void maybe_pull_ahead(struct drbd_device *mdev)
{
struct drbd_tconn *tconn = mdev->tconn;
struct net_conf *nc;
......@@ -914,7 +914,7 @@ static void maybe_pull_ahead(struct drbd_conf *mdev)
*/
static bool do_remote_read(struct drbd_request *req)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
enum drbd_read_balancing rbm;
if (req->private_bio) {
......@@ -959,7 +959,7 @@ static bool do_remote_read(struct drbd_request *req)
* which does NOT include those that we are L_AHEAD for. */
static int drbd_process_write_request(struct drbd_request *req)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
int remote, send_oos;
remote = drbd_should_do_remote(mdev->state);
......@@ -996,7 +996,7 @@ static int drbd_process_write_request(struct drbd_request *req)
static void
drbd_submit_req_private_bio(struct drbd_request *req)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct bio *bio = req->private_bio;
const int rw = bio_rw(bio);
......@@ -1020,7 +1020,7 @@ drbd_submit_req_private_bio(struct drbd_request *req)
bio_endio(bio, -EIO);
}
static void drbd_queue_write(struct drbd_conf *mdev, struct drbd_request *req)
static void drbd_queue_write(struct drbd_device *mdev, struct drbd_request *req)
{
spin_lock(&mdev->submit.lock);
list_add_tail(&req->tl_requests, &mdev->submit.writes);
......@@ -1034,7 +1034,7 @@ static void drbd_queue_write(struct drbd_conf *mdev, struct drbd_request *req)
* Returns ERR_PTR(-ENOMEM) if we cannot allocate a drbd_request.
*/
static struct drbd_request *
drbd_request_prepare(struct drbd_conf *mdev, struct bio *bio, unsigned long start_time)
drbd_request_prepare(struct drbd_device *mdev, struct bio *bio, unsigned long start_time)
{
const int rw = bio_data_dir(bio);
struct drbd_request *req;
......@@ -1071,7 +1071,7 @@ drbd_request_prepare(struct drbd_conf *mdev, struct bio *bio, unsigned long star
return req;
}
static void drbd_send_and_submit(struct drbd_conf *mdev, struct drbd_request *req)
static void drbd_send_and_submit(struct drbd_device *mdev, struct drbd_request *req)
{
const int rw = bio_rw(req->master_bio);
struct bio_and_error m = { NULL, };
......@@ -1160,7 +1160,7 @@ static void drbd_send_and_submit(struct drbd_conf *mdev, struct drbd_request *re
complete_master_bio(mdev, &m);
}
void __drbd_make_request(struct drbd_conf *mdev, struct bio *bio, unsigned long start_time)
void __drbd_make_request(struct drbd_device *mdev, struct bio *bio, unsigned long start_time)
{
struct drbd_request *req = drbd_request_prepare(mdev, bio, start_time);
if (IS_ERR_OR_NULL(req))
......@@ -1168,7 +1168,7 @@ void __drbd_make_request(struct drbd_conf *mdev, struct bio *bio, unsigned long
drbd_send_and_submit(mdev, req);
}
static void submit_fast_path(struct drbd_conf *mdev, struct list_head *incoming)
static void submit_fast_path(struct drbd_device *mdev, struct list_head *incoming)
{
struct drbd_request *req, *tmp;
list_for_each_entry_safe(req, tmp, incoming, tl_requests) {
......@@ -1188,7 +1188,7 @@ static void submit_fast_path(struct drbd_conf *mdev, struct list_head *incoming)
}
}
static bool prepare_al_transaction_nonblock(struct drbd_conf *mdev,
static bool prepare_al_transaction_nonblock(struct drbd_device *mdev,
struct list_head *incoming,
struct list_head *pending)
{
......@@ -1215,7 +1215,7 @@ static bool prepare_al_transaction_nonblock(struct drbd_conf *mdev,
void do_submit(struct work_struct *ws)
{
struct drbd_conf *mdev = container_of(ws, struct drbd_conf, submit.worker);
struct drbd_device *mdev = container_of(ws, struct drbd_device, submit.worker);
LIST_HEAD(incoming);
LIST_HEAD(pending);
struct drbd_request *req, *tmp;
......@@ -1272,7 +1272,7 @@ void do_submit(struct work_struct *ws)
void drbd_make_request(struct request_queue *q, struct bio *bio)
{
struct drbd_conf *mdev = (struct drbd_conf *) q->queuedata;
struct drbd_device *mdev = (struct drbd_device *) q->queuedata;
unsigned long start_time;
start_time = jiffies;
......@@ -1300,7 +1300,7 @@ void drbd_make_request(struct request_queue *q, struct bio *bio)
*/
int drbd_merge_bvec(struct request_queue *q, struct bvec_merge_data *bvm, struct bio_vec *bvec)
{
struct drbd_conf *mdev = (struct drbd_conf *) q->queuedata;
struct drbd_device *mdev = (struct drbd_device *) q->queuedata;
unsigned int bio_size = bvm->bi_size;
int limit = DRBD_MAX_BIO_SIZE;
int backing_limit;
......@@ -1334,7 +1334,7 @@ static struct drbd_request *find_oldest_request(struct drbd_tconn *tconn)
void request_timer_fn(unsigned long data)
{
struct drbd_conf *mdev = (struct drbd_conf *) data;
struct drbd_device *mdev = (struct drbd_device *) data;
struct drbd_tconn *tconn = mdev->tconn;
struct drbd_request *req; /* oldest request */
struct net_conf *nc;
......
......@@ -281,7 +281,7 @@ extern void _req_may_be_done(struct drbd_request *req,
struct bio_and_error *m);
extern int __req_mod(struct drbd_request *req, enum drbd_req_event what,
struct bio_and_error *m);
extern void complete_master_bio(struct drbd_conf *mdev,
extern void complete_master_bio(struct drbd_device *mdev,
struct bio_and_error *m);
extern void request_timer_fn(unsigned long data);
extern void tl_restart(struct drbd_tconn *tconn, enum drbd_req_event what);
......@@ -294,7 +294,7 @@ extern void drbd_restart_request(struct drbd_request *req);
* outside the spinlock, e.g. when walking some list on cleanup. */
static inline int _req_mod(struct drbd_request *req, enum drbd_req_event what)
{
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct bio_and_error m;
int rv;
......@@ -314,7 +314,7 @@ static inline int req_mod(struct drbd_request *req,
enum drbd_req_event what)
{
unsigned long flags;
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct bio_and_error m;
int rv;
......
......@@ -48,12 +48,12 @@ enum sanitize_state_warnings {
};
static int w_after_state_ch(struct drbd_work *w, int unused);
static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
static void after_state_ch(struct drbd_device *mdev, union drbd_state os,
union drbd_state ns, enum chg_state_flags flags);
static enum drbd_state_rv is_valid_state(struct drbd_conf *, union drbd_state);
static enum drbd_state_rv is_valid_state(struct drbd_device *, union drbd_state);
static enum drbd_state_rv is_valid_soft_transition(union drbd_state, union drbd_state, struct drbd_tconn *);
static enum drbd_state_rv is_valid_transition(union drbd_state os, union drbd_state ns);
static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state ns,
static union drbd_state sanitize_state(struct drbd_device *mdev, union drbd_state ns,
enum sanitize_state_warnings *warn);
static inline bool is_susp(union drbd_state s)
......@@ -63,7 +63,7 @@ static inline bool is_susp(union drbd_state s)
bool conn_all_vols_unconf(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
bool rv = true;
int vnr;
......@@ -103,7 +103,7 @@ static enum drbd_role min_role(enum drbd_role role1, enum drbd_role role2)
enum drbd_role conn_highest_role(struct drbd_tconn *tconn)
{
enum drbd_role role = R_UNKNOWN;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -117,7 +117,7 @@ enum drbd_role conn_highest_role(struct drbd_tconn *tconn)
enum drbd_role conn_highest_peer(struct drbd_tconn *tconn)
{
enum drbd_role peer = R_UNKNOWN;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -131,7 +131,7 @@ enum drbd_role conn_highest_peer(struct drbd_tconn *tconn)
enum drbd_disk_state conn_highest_disk(struct drbd_tconn *tconn)
{
enum drbd_disk_state ds = D_DISKLESS;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -145,7 +145,7 @@ enum drbd_disk_state conn_highest_disk(struct drbd_tconn *tconn)
enum drbd_disk_state conn_lowest_disk(struct drbd_tconn *tconn)
{
enum drbd_disk_state ds = D_MASK;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -159,7 +159,7 @@ enum drbd_disk_state conn_lowest_disk(struct drbd_tconn *tconn)
enum drbd_disk_state conn_highest_pdsk(struct drbd_tconn *tconn)
{
enum drbd_disk_state ds = D_DISKLESS;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -173,7 +173,7 @@ enum drbd_disk_state conn_highest_pdsk(struct drbd_tconn *tconn)
enum drbd_conns conn_lowest_conn(struct drbd_tconn *tconn)
{
enum drbd_conns conn = C_MASK;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -186,7 +186,7 @@ enum drbd_conns conn_lowest_conn(struct drbd_tconn *tconn)
static bool no_peer_wf_report_params(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
bool rv = true;
......@@ -208,7 +208,7 @@ static bool no_peer_wf_report_params(struct drbd_tconn *tconn)
* @os: old (current) state.
* @ns: new (wanted) state.
*/
static int cl_wide_st_chg(struct drbd_conf *mdev,
static int cl_wide_st_chg(struct drbd_device *mdev,
union drbd_state os, union drbd_state ns)
{
return (os.conn >= C_CONNECTED && ns.conn >= C_CONNECTED &&
......@@ -230,7 +230,7 @@ apply_mask_val(union drbd_state os, union drbd_state mask, union drbd_state val)
}
enum drbd_state_rv
drbd_change_state(struct drbd_conf *mdev, enum chg_state_flags f,
drbd_change_state(struct drbd_device *mdev, enum chg_state_flags f,
union drbd_state mask, union drbd_state val)
{
unsigned long flags;
......@@ -251,14 +251,14 @@ drbd_change_state(struct drbd_conf *mdev, enum chg_state_flags f,
* @mask: mask of state bits to change.
* @val: value of new state bits.
*/
void drbd_force_state(struct drbd_conf *mdev,
void drbd_force_state(struct drbd_device *mdev,
union drbd_state mask, union drbd_state val)
{
drbd_change_state(mdev, CS_HARD, mask, val);
}
static enum drbd_state_rv
_req_st_cond(struct drbd_conf *mdev, union drbd_state mask,
_req_st_cond(struct drbd_device *mdev, union drbd_state mask,
union drbd_state val)
{
union drbd_state os, ns;
......@@ -304,7 +304,7 @@ _req_st_cond(struct drbd_conf *mdev, union drbd_state mask,
* _drbd_request_state().
*/
static enum drbd_state_rv
drbd_req_state(struct drbd_conf *mdev, union drbd_state mask,
drbd_req_state(struct drbd_device *mdev, union drbd_state mask,
union drbd_state val, enum chg_state_flags f)
{
struct completion done;
......@@ -385,7 +385,7 @@ drbd_req_state(struct drbd_conf *mdev, union drbd_state mask,
* flag, or when logging of failed state change requests is not desired.
*/
enum drbd_state_rv
_drbd_request_state(struct drbd_conf *mdev, union drbd_state mask,
_drbd_request_state(struct drbd_device *mdev, union drbd_state mask,
union drbd_state val, enum chg_state_flags f)
{
enum drbd_state_rv rv;
......@@ -396,7 +396,7 @@ _drbd_request_state(struct drbd_conf *mdev, union drbd_state mask,
return rv;
}
static void print_st(struct drbd_conf *mdev, char *name, union drbd_state ns)
static void print_st(struct drbd_device *mdev, char *name, union drbd_state ns)
{
dev_err(DEV, " %s = { cs:%s ro:%s/%s ds:%s/%s %c%c%c%c%c%c }\n",
name,
......@@ -414,7 +414,7 @@ static void print_st(struct drbd_conf *mdev, char *name, union drbd_state ns)
);
}
void print_st_err(struct drbd_conf *mdev, union drbd_state os,
void print_st_err(struct drbd_device *mdev, union drbd_state os,
union drbd_state ns, enum drbd_state_rv err)
{
if (err == SS_IN_TRANSIENT_STATE)
......@@ -455,7 +455,7 @@ static long print_state_change(char *pb, union drbd_state os, union drbd_state n
return pbp - pb;
}
static void drbd_pr_state_change(struct drbd_conf *mdev, union drbd_state os, union drbd_state ns,
static void drbd_pr_state_change(struct drbd_device *mdev, union drbd_state os, union drbd_state ns,
enum chg_state_flags flags)
{
char pb[300];
......@@ -504,7 +504,7 @@ static void conn_pr_state_change(struct drbd_tconn *tconn, union drbd_state os,
* @ns: State to consider.
*/
static enum drbd_state_rv
is_valid_state(struct drbd_conf *mdev, union drbd_state ns)
is_valid_state(struct drbd_device *mdev, union drbd_state ns)
{
/* See drbd_state_sw_errors in drbd_strings.c */
......@@ -701,7 +701,7 @@ is_valid_transition(union drbd_state os, union drbd_state ns)
return rv;
}
static void print_sanitize_warnings(struct drbd_conf *mdev, enum sanitize_state_warnings warn)
static void print_sanitize_warnings(struct drbd_device *mdev, enum sanitize_state_warnings warn)
{
static const char *msg_table[] = {
[NO_WARNING] = "",
......@@ -726,7 +726,7 @@ static void print_sanitize_warnings(struct drbd_conf *mdev, enum sanitize_state_
* When we loose connection, we have to set the state of the peers disk (pdsk)
* to D_UNKNOWN. This rule and many more along those lines are in this function.
*/
static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state ns,
static union drbd_state sanitize_state(struct drbd_device *mdev, union drbd_state ns,
enum sanitize_state_warnings *warn)
{
enum drbd_fencing_p fp;
......@@ -890,14 +890,14 @@ static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state
return ns;
}
void drbd_resume_al(struct drbd_conf *mdev)
void drbd_resume_al(struct drbd_device *mdev)
{
if (test_and_clear_bit(AL_SUSPENDED, &mdev->flags))
dev_info(DEV, "Resumed AL updates\n");
}
/* helper for __drbd_set_state */
static void set_ov_position(struct drbd_conf *mdev, enum drbd_conns cs)
static void set_ov_position(struct drbd_device *mdev, enum drbd_conns cs)
{
if (mdev->tconn->agreed_pro_version < 90)
mdev->ov_start_sector = 0;
......@@ -933,7 +933,7 @@ static void set_ov_position(struct drbd_conf *mdev, enum drbd_conns cs)
* Caller needs to hold req_lock, and global_state_lock. Do not call directly.
*/
enum drbd_state_rv
__drbd_set_state(struct drbd_conf *mdev, union drbd_state ns,
__drbd_set_state(struct drbd_device *mdev, union drbd_state ns,
enum chg_state_flags flags, struct completion *done)
{
union drbd_state os;
......@@ -1145,7 +1145,7 @@ static int w_after_state_ch(struct drbd_work *w, int unused)
{
struct after_state_chg_work *ascw =
container_of(w, struct after_state_chg_work, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
after_state_ch(mdev, ascw->os, ascw->ns, ascw->flags);
if (ascw->flags & CS_WAIT_COMPLETE) {
......@@ -1157,7 +1157,7 @@ static int w_after_state_ch(struct drbd_work *w, int unused)
return 0;
}
static void abw_start_sync(struct drbd_conf *mdev, int rv)
static void abw_start_sync(struct drbd_device *mdev, int rv)
{
if (rv) {
dev_err(DEV, "Writing the bitmap failed not starting resync.\n");
......@@ -1175,8 +1175,8 @@ static void abw_start_sync(struct drbd_conf *mdev, int rv)
}
}
int drbd_bitmap_io_from_worker(struct drbd_conf *mdev,
int (*io_fn)(struct drbd_conf *),
int drbd_bitmap_io_from_worker(struct drbd_device *mdev,
int (*io_fn)(struct drbd_device *),
char *why, enum bm_flag flags)
{
int rv;
......@@ -1202,7 +1202,7 @@ int drbd_bitmap_io_from_worker(struct drbd_conf *mdev,
* @ns: new state.
* @flags: Flags
*/
static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
static void after_state_ch(struct drbd_device *mdev, union drbd_state os,
union drbd_state ns, enum chg_state_flags flags)
{
struct sib_info sib;
......@@ -1255,7 +1255,7 @@ static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
spin_lock_irq(&tconn->req_lock);
if (tconn->susp_fen && conn_lowest_conn(tconn) >= C_CONNECTED) {
/* case2: The connection was established again: */
struct drbd_conf *odev;
struct drbd_device *odev;
int vnr;
rcu_read_lock();
......@@ -1529,7 +1529,7 @@ static int w_after_conn_state_ch(struct drbd_work *w, int unused)
struct drbd_tconn *tconn = w->tconn;
enum drbd_conns oc = acscw->oc;
union drbd_state ns_max = acscw->ns_max;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
kfree(acscw);
......@@ -1583,7 +1583,7 @@ static int w_after_conn_state_ch(struct drbd_work *w, int unused)
void conn_old_common_state(struct drbd_tconn *tconn, union drbd_state *pcs, enum chg_state_flags *pf)
{
enum chg_state_flags flags = ~0;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr, first_vol = 1;
union drbd_dev_state os, cs = {
{ .role = R_SECONDARY,
......@@ -1631,7 +1631,7 @@ conn_is_valid_transition(struct drbd_tconn *tconn, union drbd_state mask, union
{
enum drbd_state_rv rv = SS_SUCCESS;
union drbd_state ns, os;
struct drbd_conf *mdev;
struct drbd_device *mdev;
int vnr;
rcu_read_lock();
......@@ -1680,7 +1680,7 @@ conn_set_state(struct drbd_tconn *tconn, union drbd_state mask, union drbd_state
.disk = D_MASK,
.pdsk = D_MASK
} };
struct drbd_conf *mdev;
struct drbd_device *mdev;
enum drbd_state_rv rv;
int vnr, number_of_volumes = 0;
......
#ifndef DRBD_STATE_H
#define DRBD_STATE_H
struct drbd_conf;
struct drbd_device;
struct drbd_tconn;
/**
......@@ -107,20 +107,20 @@ union drbd_dev_state {
unsigned int i;
};
extern enum drbd_state_rv drbd_change_state(struct drbd_conf *mdev,
extern enum drbd_state_rv drbd_change_state(struct drbd_device *mdev,
enum chg_state_flags f,
union drbd_state mask,
union drbd_state val);
extern void drbd_force_state(struct drbd_conf *, union drbd_state,
extern void drbd_force_state(struct drbd_device *, union drbd_state,
union drbd_state);
extern enum drbd_state_rv _drbd_request_state(struct drbd_conf *,
extern enum drbd_state_rv _drbd_request_state(struct drbd_device *,
union drbd_state,
union drbd_state,
enum chg_state_flags);
extern enum drbd_state_rv __drbd_set_state(struct drbd_conf *, union drbd_state,
extern enum drbd_state_rv __drbd_set_state(struct drbd_device *, union drbd_state,
enum chg_state_flags,
struct completion *done);
extern void print_st_err(struct drbd_conf *, union drbd_state,
extern void print_st_err(struct drbd_device *, union drbd_state,
union drbd_state, int);
enum drbd_state_rv
......@@ -131,7 +131,7 @@ enum drbd_state_rv
conn_request_state(struct drbd_tconn *tconn, union drbd_state mask, union drbd_state val,
enum chg_state_flags flags);
extern void drbd_resume_al(struct drbd_conf *mdev);
extern void drbd_resume_al(struct drbd_device *mdev);
extern bool conn_all_vols_unconf(struct drbd_tconn *tconn);
/**
......@@ -144,7 +144,7 @@ extern bool conn_all_vols_unconf(struct drbd_tconn *tconn);
* quite verbose in case the state change is not possible, and all those
* state changes are globally serialized.
*/
static inline int drbd_request_state(struct drbd_conf *mdev,
static inline int drbd_request_state(struct drbd_device *mdev,
union drbd_state mask,
union drbd_state val)
{
......
......@@ -68,10 +68,10 @@ rwlock_t global_state_lock;
void drbd_md_io_complete(struct bio *bio, int error)
{
struct drbd_md_io *md_io;
struct drbd_conf *mdev;
struct drbd_device *mdev;
md_io = (struct drbd_md_io *)bio->bi_private;
mdev = container_of(md_io, struct drbd_conf, md_io);
mdev = container_of(md_io, struct drbd_device, md_io);
md_io->error = error;
......@@ -100,7 +100,7 @@ void drbd_md_io_complete(struct bio *bio, int error)
static void drbd_endio_read_sec_final(struct drbd_peer_request *peer_req) __releases(local)
{
unsigned long flags = 0;
struct drbd_conf *mdev = peer_req->w.mdev;
struct drbd_device *mdev = peer_req->w.mdev;
spin_lock_irqsave(&mdev->tconn->req_lock, flags);
mdev->read_cnt += peer_req->i.size >> 9;
......@@ -120,7 +120,7 @@ static void drbd_endio_read_sec_final(struct drbd_peer_request *peer_req) __rele
static void drbd_endio_write_sec_final(struct drbd_peer_request *peer_req) __releases(local)
{
unsigned long flags = 0;
struct drbd_conf *mdev = peer_req->w.mdev;
struct drbd_device *mdev = peer_req->w.mdev;
struct drbd_interval i;
int do_wake;
u64 block_id;
......@@ -171,7 +171,7 @@ static void drbd_endio_write_sec_final(struct drbd_peer_request *peer_req) __rel
void drbd_peer_request_endio(struct bio *bio, int error)
{
struct drbd_peer_request *peer_req = bio->bi_private;
struct drbd_conf *mdev = peer_req->w.mdev;
struct drbd_device *mdev = peer_req->w.mdev;
int uptodate = bio_flagged(bio, BIO_UPTODATE);
int is_write = bio_data_dir(bio) == WRITE;
......@@ -208,7 +208,7 @@ void drbd_request_endio(struct bio *bio, int error)
{
unsigned long flags;
struct drbd_request *req = bio->bi_private;
struct drbd_conf *mdev = req->w.mdev;
struct drbd_device *mdev = req->w.mdev;
struct bio_and_error m;
enum drbd_req_event what;
int uptodate = bio_flagged(bio, BIO_UPTODATE);
......@@ -282,7 +282,7 @@ void drbd_request_endio(struct bio *bio, int error)
complete_master_bio(mdev, &m);
}
void drbd_csum_ee(struct drbd_conf *mdev, struct crypto_hash *tfm,
void drbd_csum_ee(struct drbd_device *mdev, struct crypto_hash *tfm,
struct drbd_peer_request *peer_req, void *digest)
{
struct hash_desc desc;
......@@ -310,7 +310,7 @@ void drbd_csum_ee(struct drbd_conf *mdev, struct crypto_hash *tfm,
crypto_hash_final(&desc, digest);
}
void drbd_csum_bio(struct drbd_conf *mdev, struct crypto_hash *tfm, struct bio *bio, void *digest)
void drbd_csum_bio(struct drbd_device *mdev, struct crypto_hash *tfm, struct bio *bio, void *digest)
{
struct hash_desc desc;
struct scatterlist sg;
......@@ -334,7 +334,7 @@ void drbd_csum_bio(struct drbd_conf *mdev, struct crypto_hash *tfm, struct bio *
static int w_e_send_csum(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req = container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
int digest_size;
void *digest;
int err = 0;
......@@ -379,7 +379,7 @@ static int w_e_send_csum(struct drbd_work *w, int cancel)
#define GFP_TRY (__GFP_HIGHMEM | __GFP_NOWARN)
static int read_for_csum(struct drbd_conf *mdev, sector_t sector, int size)
static int read_for_csum(struct drbd_device *mdev, sector_t sector, int size)
{
struct drbd_peer_request *peer_req;
......@@ -421,7 +421,7 @@ static int read_for_csum(struct drbd_conf *mdev, sector_t sector, int size)
int w_resync_timer(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
switch (mdev->state.conn) {
case C_VERIFY_S:
w_make_ov_request(w, cancel);
......@@ -436,7 +436,7 @@ int w_resync_timer(struct drbd_work *w, int cancel)
void resync_timer_fn(unsigned long data)
{
struct drbd_conf *mdev = (struct drbd_conf *) data;
struct drbd_device *mdev = (struct drbd_device *) data;
if (list_empty(&mdev->resync_work.list))
drbd_queue_work(&mdev->tconn->sender_work, &mdev->resync_work);
......@@ -486,7 +486,7 @@ struct fifo_buffer *fifo_alloc(int fifo_size)
return fb;
}
static int drbd_rs_controller(struct drbd_conf *mdev)
static int drbd_rs_controller(struct drbd_device *mdev)
{
struct disk_conf *dc;
unsigned int sect_in; /* Number of sectors that came in since the last turn */
......@@ -542,7 +542,7 @@ static int drbd_rs_controller(struct drbd_conf *mdev)
return req_sect;
}
static int drbd_rs_number_requests(struct drbd_conf *mdev)
static int drbd_rs_number_requests(struct drbd_device *mdev)
{
int number;
......@@ -563,7 +563,7 @@ static int drbd_rs_number_requests(struct drbd_conf *mdev)
int w_make_resync_request(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
unsigned long bit;
sector_t sector;
const sector_t capacity = drbd_get_capacity(mdev->this_bdev);
......@@ -726,7 +726,7 @@ int w_make_resync_request(struct drbd_work *w, int cancel)
static int w_make_ov_request(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
int number, i, size;
sector_t sector;
const sector_t capacity = drbd_get_capacity(mdev->this_bdev);
......@@ -780,7 +780,7 @@ static int w_make_ov_request(struct drbd_work *w, int cancel)
int w_ov_finished(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
kfree(w);
ov_out_of_sync_print(mdev);
drbd_resync_finished(mdev);
......@@ -790,7 +790,7 @@ int w_ov_finished(struct drbd_work *w, int cancel)
static int w_resync_finished(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
kfree(w);
drbd_resync_finished(mdev);
......@@ -798,7 +798,7 @@ static int w_resync_finished(struct drbd_work *w, int cancel)
return 0;
}
static void ping_peer(struct drbd_conf *mdev)
static void ping_peer(struct drbd_device *mdev)
{
struct drbd_tconn *tconn = mdev->tconn;
......@@ -808,7 +808,7 @@ static void ping_peer(struct drbd_conf *mdev)
test_bit(GOT_PING_ACK, &tconn->flags) || mdev->state.conn < C_CONNECTED);
}
int drbd_resync_finished(struct drbd_conf *mdev)
int drbd_resync_finished(struct drbd_device *mdev)
{
unsigned long db, dt, dbdt;
unsigned long n_oos;
......@@ -963,7 +963,7 @@ int drbd_resync_finished(struct drbd_conf *mdev)
}
/* helper */
static void move_to_net_ee_or_free(struct drbd_conf *mdev, struct drbd_peer_request *peer_req)
static void move_to_net_ee_or_free(struct drbd_device *mdev, struct drbd_peer_request *peer_req)
{
if (drbd_peer_req_has_active_page(peer_req)) {
/* This might happen if sendpage() has not finished */
......@@ -987,7 +987,7 @@ static void move_to_net_ee_or_free(struct drbd_conf *mdev, struct drbd_peer_requ
int w_e_end_data_req(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req = container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
int err;
if (unlikely(cancel)) {
......@@ -1024,7 +1024,7 @@ int w_e_end_data_req(struct drbd_work *w, int cancel)
int w_e_end_rsdata_req(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req = container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
int err;
if (unlikely(cancel)) {
......@@ -1073,7 +1073,7 @@ int w_e_end_rsdata_req(struct drbd_work *w, int cancel)
int w_e_end_csum_rs_req(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req = container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct digest_info *di;
int digest_size;
void *digest = NULL;
......@@ -1136,7 +1136,7 @@ int w_e_end_csum_rs_req(struct drbd_work *w, int cancel)
int w_e_end_ov_req(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req = container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
sector_t sector = peer_req->i.sector;
unsigned int size = peer_req->i.size;
int digest_size;
......@@ -1178,7 +1178,7 @@ int w_e_end_ov_req(struct drbd_work *w, int cancel)
return err;
}
void drbd_ov_out_of_sync_found(struct drbd_conf *mdev, sector_t sector, int size)
void drbd_ov_out_of_sync_found(struct drbd_device *mdev, sector_t sector, int size)
{
if (mdev->ov_last_oos_start + mdev->ov_last_oos_size == sector) {
mdev->ov_last_oos_size += size>>9;
......@@ -1192,7 +1192,7 @@ void drbd_ov_out_of_sync_found(struct drbd_conf *mdev, sector_t sector, int size
int w_e_end_ov_reply(struct drbd_work *w, int cancel)
{
struct drbd_peer_request *peer_req = container_of(w, struct drbd_peer_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct digest_info *di;
void *digest;
sector_t sector = peer_req->i.sector;
......@@ -1292,7 +1292,7 @@ static int drbd_send_barrier(struct drbd_tconn *tconn)
int w_send_write_hint(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct drbd_socket *sock;
if (cancel)
......@@ -1327,7 +1327,7 @@ static void maybe_send_barrier(struct drbd_tconn *tconn, unsigned int epoch)
int w_send_out_of_sync(struct drbd_work *w, int cancel)
{
struct drbd_request *req = container_of(w, struct drbd_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct drbd_tconn *tconn = mdev->tconn;
int err;
......@@ -1357,7 +1357,7 @@ int w_send_out_of_sync(struct drbd_work *w, int cancel)
int w_send_dblock(struct drbd_work *w, int cancel)
{
struct drbd_request *req = container_of(w, struct drbd_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct drbd_tconn *tconn = mdev->tconn;
int err;
......@@ -1385,7 +1385,7 @@ int w_send_dblock(struct drbd_work *w, int cancel)
int w_send_read_req(struct drbd_work *w, int cancel)
{
struct drbd_request *req = container_of(w, struct drbd_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
struct drbd_tconn *tconn = mdev->tconn;
int err;
......@@ -1409,7 +1409,7 @@ int w_send_read_req(struct drbd_work *w, int cancel)
int w_restart_disk_io(struct drbd_work *w, int cancel)
{
struct drbd_request *req = container_of(w, struct drbd_request, w);
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
if (bio_data_dir(req->master_bio) == WRITE && req->rq_state & RQ_IN_ACT_LOG)
drbd_al_begin_io(mdev, &req->i, false);
......@@ -1421,9 +1421,9 @@ int w_restart_disk_io(struct drbd_work *w, int cancel)
return 0;
}
static int _drbd_may_sync_now(struct drbd_conf *mdev)
static int _drbd_may_sync_now(struct drbd_device *mdev)
{
struct drbd_conf *odev = mdev;
struct drbd_device *odev = mdev;
int resync_after;
while (1) {
......@@ -1451,9 +1451,9 @@ static int _drbd_may_sync_now(struct drbd_conf *mdev)
*
* Called from process context only (admin command and after_state_ch).
*/
static int _drbd_pause_after(struct drbd_conf *mdev)
static int _drbd_pause_after(struct drbd_device *mdev)
{
struct drbd_conf *odev;
struct drbd_device *odev;
int i, rv = 0;
rcu_read_lock();
......@@ -1475,9 +1475,9 @@ static int _drbd_pause_after(struct drbd_conf *mdev)
*
* Called from process context only (admin command and worker).
*/
static int _drbd_resume_next(struct drbd_conf *mdev)
static int _drbd_resume_next(struct drbd_device *mdev)
{
struct drbd_conf *odev;
struct drbd_device *odev;
int i, rv = 0;
rcu_read_lock();
......@@ -1495,14 +1495,14 @@ static int _drbd_resume_next(struct drbd_conf *mdev)
return rv;
}
void resume_next_sg(struct drbd_conf *mdev)
void resume_next_sg(struct drbd_device *mdev)
{
write_lock_irq(&global_state_lock);
_drbd_resume_next(mdev);
write_unlock_irq(&global_state_lock);
}
void suspend_other_sg(struct drbd_conf *mdev)
void suspend_other_sg(struct drbd_device *mdev)
{
write_lock_irq(&global_state_lock);
_drbd_pause_after(mdev);
......@@ -1510,9 +1510,9 @@ void suspend_other_sg(struct drbd_conf *mdev)
}
/* caller must hold global_state_lock */
enum drbd_ret_code drbd_resync_after_valid(struct drbd_conf *mdev, int o_minor)
enum drbd_ret_code drbd_resync_after_valid(struct drbd_device *mdev, int o_minor)
{
struct drbd_conf *odev;
struct drbd_device *odev;
int resync_after;
if (o_minor == -1)
......@@ -1548,7 +1548,7 @@ enum drbd_ret_code drbd_resync_after_valid(struct drbd_conf *mdev, int o_minor)
}
/* caller must hold global_state_lock */
void drbd_resync_after_changed(struct drbd_conf *mdev)
void drbd_resync_after_changed(struct drbd_device *mdev)
{
int changes;
......@@ -1558,7 +1558,7 @@ void drbd_resync_after_changed(struct drbd_conf *mdev)
} while (changes);
}
void drbd_rs_controller_reset(struct drbd_conf *mdev)
void drbd_rs_controller_reset(struct drbd_device *mdev)
{
struct fifo_buffer *plan;
......@@ -1579,14 +1579,14 @@ void drbd_rs_controller_reset(struct drbd_conf *mdev)
void start_resync_timer_fn(unsigned long data)
{
struct drbd_conf *mdev = (struct drbd_conf *) data;
struct drbd_device *mdev = (struct drbd_device *) data;
drbd_queue_work(&mdev->tconn->sender_work, &mdev->start_resync_work);
}
int w_start_resync(struct drbd_work *w, int cancel)
{
struct drbd_conf *mdev = w->mdev;
struct drbd_device *mdev = w->mdev;
if (atomic_read(&mdev->unacked_cnt) || atomic_read(&mdev->rs_pending_cnt)) {
dev_warn(DEV, "w_start_resync later...\n");
......@@ -1608,7 +1608,7 @@ int w_start_resync(struct drbd_work *w, int cancel)
* This function might bring you directly into one of the
* C_PAUSED_SYNC_* states.
*/
void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
void drbd_start_resync(struct drbd_device *mdev, enum drbd_conns side)
{
union drbd_state ns;
int r;
......@@ -1886,7 +1886,7 @@ int drbd_worker(struct drbd_thread *thi)
{
struct drbd_tconn *tconn = thi->tconn;
struct drbd_work *w = NULL;
struct drbd_conf *mdev;
struct drbd_device *mdev;
LIST_HEAD(work_list);
int vnr;
......
......@@ -9,7 +9,7 @@
extern char *drbd_sec_holder;
/* sets the number of 512 byte sectors of our virtual device */
static inline void drbd_set_my_capacity(struct drbd_conf *mdev,
static inline void drbd_set_my_capacity(struct drbd_device *mdev,
sector_t size)
{
/* set_capacity(mdev->this_bdev->bd_disk, size); */
......@@ -27,7 +27,7 @@ extern void drbd_request_endio(struct bio *bio, int error);
/*
* used to submit our private bio
*/
static inline void drbd_generic_make_request(struct drbd_conf *mdev,
static inline void drbd_generic_make_request(struct drbd_device *mdev,
int fault_type, struct bio *bio)
{
__release(local);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment