queue_bio(ms, bio, WRITE);
}
-struct dm_raid1_read_record {
+struct dm_raid1_bio_record {
struct mirror *m;
struct dm_bio_details details;
};
ti->num_flush_requests = 1;
ti->num_discard_requests = 1;
- ti->per_bio_data_size = sizeof(struct dm_raid1_read_record);
+ ti->per_bio_data_size = sizeof(struct dm_raid1_bio_record);
ti->discard_zeroes_data_unsupported = true;
ms->kmirrord_wq = alloc_workqueue("kmirrord",
int r, rw = bio_rw(bio);
struct mirror *m;
struct mirror_set *ms = ti->private;
- struct dm_raid1_read_record *read_record;
+ struct dm_raid1_bio_record *bio_record;
struct dm_dirty_log *log = dm_rh_dirty_log(ms->rh);
if (rw == WRITE) {
if (unlikely(!m))
return -EIO;
- read_record = dm_per_bio_data(bio, sizeof(struct dm_raid1_read_record));
- dm_bio_record(&read_record->details, bio);
- map_context->ptr = read_record;
- read_record->m = m;
+ bio_record = dm_per_bio_data(bio, sizeof(struct dm_raid1_bio_record));
+ dm_bio_record(&bio_record->details, bio);
+ map_context->ptr = bio_record;
+ bio_record->m = m;
map_bio(m, bio);
struct mirror_set *ms = (struct mirror_set *) ti->private;
struct mirror *m = NULL;
struct dm_bio_details *bd = NULL;
- struct dm_raid1_read_record *read_record = map_context->ptr;
+ struct dm_raid1_bio_record *bio_record = map_context->ptr;
/*
* We need to dec pending if this was a write.
goto out;
if (unlikely(error)) {
- if (!read_record) {
+ if (!bio_record) {
/*
* There wasn't enough memory to record necessary
* information for a retry or there was no other
return -EIO;
}
- m = read_record->m;
+ m = bio_record->m;
DMERR("Mirror read failed from %s. Trying alternative device.",
m->dev->name);
* mirror.
*/
if (default_ok(m) || mirror_available(ms, bio)) {
- bd = &read_record->details;
+ bd = &bio_record->details;
dm_bio_restore(bd, bio);
map_context->ptr = NULL;