diff options
author | Jonathan Brassow <jbrassow@redhat.com> | 2009-01-05 22:05:19 -0500 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2009-01-05 22:05:19 -0500 |
commit | a159c1ac5f33c6cf0f5aa3c9d1ccdc82c907ee46 (patch) | |
tree | 2cb6bfd3f376e2366f3e3820ebd07a0a86a01cfc /drivers/md/dm-snap-transient.c | |
parent | 4db6bfe02bdc7dc5048f46dd682a94801d029adc (diff) |
dm snapshot: extend exception store functions
Supply dm_add_exception as a callback to the read_metadata function.
Add a status function ready for a later patch and name the functions
consistently.
Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm-snap-transient.c')
-rw-r--r-- | drivers/md/dm-snap-transient.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/md/dm-snap-transient.c b/drivers/md/dm-snap-transient.c index 2a781df57fef..7f6e2e6dcb0d 100644 --- a/drivers/md/dm-snap-transient.c +++ b/drivers/md/dm-snap-transient.c | |||
@@ -28,13 +28,16 @@ static void transient_destroy(struct dm_exception_store *store) | |||
28 | kfree(store->context); | 28 | kfree(store->context); |
29 | } | 29 | } |
30 | 30 | ||
31 | static int transient_read_metadata(struct dm_exception_store *store) | 31 | static int transient_read_metadata(struct dm_exception_store *store, |
32 | int (*callback)(void *callback_context, | ||
33 | chunk_t old, chunk_t new), | ||
34 | void *callback_context) | ||
32 | { | 35 | { |
33 | return 0; | 36 | return 0; |
34 | } | 37 | } |
35 | 38 | ||
36 | static int transient_prepare(struct dm_exception_store *store, | 39 | static int transient_prepare_exception(struct dm_exception_store *store, |
37 | struct dm_snap_exception *e) | 40 | struct dm_snap_exception *e) |
38 | { | 41 | { |
39 | struct transient_c *tc = (struct transient_c *) store->context; | 42 | struct transient_c *tc = (struct transient_c *) store->context; |
40 | sector_t size = get_dev_size(store->snap->cow->bdev); | 43 | sector_t size = get_dev_size(store->snap->cow->bdev); |
@@ -48,10 +51,10 @@ static int transient_prepare(struct dm_exception_store *store, | |||
48 | return 0; | 51 | return 0; |
49 | } | 52 | } |
50 | 53 | ||
51 | static void transient_commit(struct dm_exception_store *store, | 54 | static void transient_commit_exception(struct dm_exception_store *store, |
52 | struct dm_snap_exception *e, | 55 | struct dm_snap_exception *e, |
53 | void (*callback) (void *, int success), | 56 | void (*callback) (void *, int success), |
54 | void *callback_context) | 57 | void *callback_context) |
55 | { | 58 | { |
56 | /* Just succeed */ | 59 | /* Just succeed */ |
57 | callback(callback_context, 1); | 60 | callback(callback_context, 1); |
@@ -70,8 +73,8 @@ int dm_create_transient(struct dm_exception_store *store) | |||
70 | 73 | ||
71 | store->destroy = transient_destroy; | 74 | store->destroy = transient_destroy; |
72 | store->read_metadata = transient_read_metadata; | 75 | store->read_metadata = transient_read_metadata; |
73 | store->prepare_exception = transient_prepare; | 76 | store->prepare_exception = transient_prepare_exception; |
74 | store->commit_exception = transient_commit; | 77 | store->commit_exception = transient_commit_exception; |
75 | store->drop_snapshot = NULL; | 78 | store->drop_snapshot = NULL; |
76 | store->fraction_full = transient_fraction_full; | 79 | store->fraction_full = transient_fraction_full; |
77 | 80 | ||