You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
dm snapshot: store pointer to target instance
Save pointer to dm_target in dm_snapshot structure. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
committed by
Alasdair G Kergon
parent
769aef30f0
commit
72727bad54
@@ -536,7 +536,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
|
|||||||
s->last_percent = 0;
|
s->last_percent = 0;
|
||||||
init_rwsem(&s->lock);
|
init_rwsem(&s->lock);
|
||||||
spin_lock_init(&s->pe_lock);
|
spin_lock_init(&s->pe_lock);
|
||||||
s->table = ti->table;
|
s->ti = ti;
|
||||||
|
|
||||||
/* Allocate hash table for COW data */
|
/* Allocate hash table for COW data */
|
||||||
if (init_hash_tables(s)) {
|
if (init_hash_tables(s)) {
|
||||||
@@ -699,7 +699,7 @@ static void __invalidate_snapshot(struct dm_snapshot *s, int err)
|
|||||||
|
|
||||||
s->valid = 0;
|
s->valid = 0;
|
||||||
|
|
||||||
dm_table_event(s->table);
|
dm_table_event(s->ti->table);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_pending_exception(struct dm_snap_pending_exception *pe)
|
static void get_pending_exception(struct dm_snap_pending_exception *pe)
|
||||||
@@ -1060,7 +1060,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
|
|||||||
goto next_snapshot;
|
goto next_snapshot;
|
||||||
|
|
||||||
/* Nothing to do if writing beyond end of snapshot */
|
/* Nothing to do if writing beyond end of snapshot */
|
||||||
if (bio->bi_sector >= dm_table_get_size(snap->table))
|
if (bio->bi_sector >= dm_table_get_size(snap->ti->table))
|
||||||
goto next_snapshot;
|
goto next_snapshot;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ struct exception_store {
|
|||||||
|
|
||||||
struct dm_snapshot {
|
struct dm_snapshot {
|
||||||
struct rw_semaphore lock;
|
struct rw_semaphore lock;
|
||||||
struct dm_table *table;
|
struct dm_target *ti;
|
||||||
|
|
||||||
struct dm_dev *origin;
|
struct dm_dev *origin;
|
||||||
struct dm_dev *cow;
|
struct dm_dev *cow;
|
||||||
|
|||||||
Reference in New Issue
Block a user