Skip to content

Commit

Permalink
dm exception store: move dm_target pointer
Browse files Browse the repository at this point in the history
Move target pointer from snapshot to exception store.

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
  • Loading branch information
jbrassow authored and kergon committed Apr 2, 2009
1 parent 493df71 commit 0cea9c7
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 7 deletions.
3 changes: 2 additions & 1 deletion drivers/md/dm-exception-store.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ int dm_exception_store_type_unregister(struct dm_exception_store_type *type)
}
EXPORT_SYMBOL(dm_exception_store_type_unregister);

int dm_exception_store_create(const char *type_name,
int dm_exception_store_create(const char *type_name, struct dm_target *ti,
struct dm_exception_store **store)
{
int r = 0;
Expand All @@ -155,6 +155,7 @@ int dm_exception_store_create(const char *type_name,
}

tmp_store->type = type;
tmp_store->ti = ti;

r = type->ctr(tmp_store, 0, NULL);
if (r) {
Expand Down
3 changes: 2 additions & 1 deletion drivers/md/dm-exception-store.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ struct dm_exception_store_type {

struct dm_exception_store {
struct dm_exception_store_type *type;
struct dm_target *ti;

struct dm_snapshot *snap;

Expand Down Expand Up @@ -147,7 +148,7 @@ static inline void dm_consecutive_chunk_count_inc(struct dm_snap_exception *e)
int dm_exception_store_type_register(struct dm_exception_store_type *type);
int dm_exception_store_type_unregister(struct dm_exception_store_type *type);

int dm_exception_store_create(const char *type_name,
int dm_exception_store_create(const char *type_name, struct dm_target *ti,
struct dm_exception_store **store);
void dm_exception_store_destroy(struct dm_exception_store *store);

Expand Down
7 changes: 3 additions & 4 deletions drivers/md/dm-snap.c
Original file line number Diff line number Diff line change
Expand Up @@ -615,7 +615,6 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
atomic_set(&s->pending_exceptions_count, 0);
init_rwsem(&s->lock);
spin_lock_init(&s->pe_lock);
s->ti = ti;

/* Allocate hash table for COW data */
if (init_hash_tables(s)) {
Expand All @@ -624,7 +623,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
goto bad3;
}

r = dm_exception_store_create(argv[2], &s->store);
r = dm_exception_store_create(argv[2], ti, &s->store);
if (r) {
ti->error = "Couldn't create exception store";
r = -EINVAL;
Expand Down Expand Up @@ -820,7 +819,7 @@ static void __invalidate_snapshot(struct dm_snapshot *s, int err)

s->valid = 0;

dm_table_event(s->ti->table);
dm_table_event(s->store->ti->table);
}

static void get_pending_exception(struct dm_snap_pending_exception *pe)
Expand Down Expand Up @@ -1196,7 +1195,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
goto next_snapshot;

/* Nothing to do if writing beyond end of snapshot */
if (bio->bi_sector >= dm_table_get_size(snap->ti->table))
if (bio->bi_sector >= dm_table_get_size(snap->store->ti->table))
goto next_snapshot;

/*
Expand Down
1 change: 0 additions & 1 deletion drivers/md/dm-snap.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ struct exception_table {

struct dm_snapshot {
struct rw_semaphore lock;
struct dm_target *ti;

struct dm_dev *origin;
struct dm_dev *cow;
Expand Down

0 comments on commit 0cea9c7

Please sign in to comment.