|
@@ -351,8 +351,8 @@ static void unregister_snapshot(struct dm_snapshot *s)
|
|
|
* The lowest hash_shift bits of the chunk number are ignored, allowing
|
|
|
* some consecutive chunks to be grouped together.
|
|
|
*/
|
|
|
-static int init_exception_table(struct dm_exception_table *et, uint32_t size,
|
|
|
- unsigned hash_shift)
|
|
|
+static int dm_exception_table_init(struct dm_exception_table *et,
|
|
|
+ uint32_t size, unsigned hash_shift)
|
|
|
{
|
|
|
unsigned int i;
|
|
|
|
|
@@ -368,8 +368,8 @@ static int init_exception_table(struct dm_exception_table *et, uint32_t size,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static void exit_exception_table(struct dm_exception_table *et,
|
|
|
- struct kmem_cache *mem)
|
|
|
+static void dm_exception_table_exit(struct dm_exception_table *et,
|
|
|
+ struct kmem_cache *mem)
|
|
|
{
|
|
|
struct list_head *slot;
|
|
|
struct dm_exception *ex, *next;
|
|
@@ -391,7 +391,7 @@ static uint32_t exception_hash(struct dm_exception_table *et, chunk_t chunk)
|
|
|
return (chunk >> et->hash_shift) & et->hash_mask;
|
|
|
}
|
|
|
|
|
|
-static void remove_exception(struct dm_exception *e)
|
|
|
+static void dm_remove_exception(struct dm_exception *e)
|
|
|
{
|
|
|
list_del(&e->hash_list);
|
|
|
}
|
|
@@ -400,8 +400,8 @@ static void remove_exception(struct dm_exception *e)
|
|
|
* Return the exception data for a sector, or NULL if not
|
|
|
* remapped.
|
|
|
*/
|
|
|
-static struct dm_exception *lookup_exception(struct dm_exception_table *et,
|
|
|
- chunk_t chunk)
|
|
|
+static struct dm_exception *dm_lookup_exception(struct dm_exception_table *et,
|
|
|
+ chunk_t chunk)
|
|
|
{
|
|
|
struct list_head *slot;
|
|
|
struct dm_exception *e;
|
|
@@ -415,7 +415,7 @@ static struct dm_exception *lookup_exception(struct dm_exception_table *et,
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
-static struct dm_exception *alloc_exception(void)
|
|
|
+static struct dm_exception *alloc_completed_exception(void)
|
|
|
{
|
|
|
struct dm_exception *e;
|
|
|
|
|
@@ -426,7 +426,7 @@ static struct dm_exception *alloc_exception(void)
|
|
|
return e;
|
|
|
}
|
|
|
|
|
|
-static void free_exception(struct dm_exception *e)
|
|
|
+static void free_completed_exception(struct dm_exception *e)
|
|
|
{
|
|
|
kmem_cache_free(exception_cache, e);
|
|
|
}
|
|
@@ -451,8 +451,8 @@ static void free_pending_exception(struct dm_snap_pending_exception *pe)
|
|
|
atomic_dec(&s->pending_exceptions_count);
|
|
|
}
|
|
|
|
|
|
-static void insert_exception(struct dm_exception_table *eh,
|
|
|
- struct dm_exception *new_e)
|
|
|
+static void dm_insert_exception(struct dm_exception_table *eh,
|
|
|
+ struct dm_exception *new_e)
|
|
|
{
|
|
|
struct list_head *l;
|
|
|
struct dm_exception *e = NULL;
|
|
@@ -471,7 +471,7 @@ static void insert_exception(struct dm_exception_table *eh,
|
|
|
new_e->new_chunk == (dm_chunk_number(e->new_chunk) +
|
|
|
dm_consecutive_chunk_count(e) + 1)) {
|
|
|
dm_consecutive_chunk_count_inc(e);
|
|
|
- free_exception(new_e);
|
|
|
+ free_completed_exception(new_e);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -481,7 +481,7 @@ static void insert_exception(struct dm_exception_table *eh,
|
|
|
dm_consecutive_chunk_count_inc(e);
|
|
|
e->old_chunk--;
|
|
|
e->new_chunk--;
|
|
|
- free_exception(new_e);
|
|
|
+ free_completed_exception(new_e);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -502,7 +502,7 @@ static int dm_add_exception(void *context, chunk_t old, chunk_t new)
|
|
|
struct dm_snapshot *s = context;
|
|
|
struct dm_exception *e;
|
|
|
|
|
|
- e = alloc_exception();
|
|
|
+ e = alloc_completed_exception();
|
|
|
if (!e)
|
|
|
return -ENOMEM;
|
|
|
|
|
@@ -511,7 +511,7 @@ static int dm_add_exception(void *context, chunk_t old, chunk_t new)
|
|
|
/* Consecutive_count is implicitly initialised to zero */
|
|
|
e->new_chunk = new;
|
|
|
|
|
|
- insert_exception(&s->complete, e);
|
|
|
+ dm_insert_exception(&s->complete, e);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -568,8 +568,8 @@ static int init_hash_tables(struct dm_snapshot *s)
|
|
|
if (hash_size < 64)
|
|
|
hash_size = 64;
|
|
|
hash_size = rounddown_pow_of_two(hash_size);
|
|
|
- if (init_exception_table(&s->complete, hash_size,
|
|
|
- DM_CHUNK_CONSECUTIVE_BITS))
|
|
|
+ if (dm_exception_table_init(&s->complete, hash_size,
|
|
|
+ DM_CHUNK_CONSECUTIVE_BITS))
|
|
|
return -ENOMEM;
|
|
|
|
|
|
/*
|
|
@@ -580,8 +580,8 @@ static int init_hash_tables(struct dm_snapshot *s)
|
|
|
if (hash_size < 64)
|
|
|
hash_size = 64;
|
|
|
|
|
|
- if (init_exception_table(&s->pending, hash_size, 0)) {
|
|
|
- exit_exception_table(&s->complete, exception_cache);
|
|
|
+ if (dm_exception_table_init(&s->pending, hash_size, 0)) {
|
|
|
+ dm_exception_table_exit(&s->complete, exception_cache);
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
@@ -716,8 +716,8 @@ bad_pending_pool:
|
|
|
dm_kcopyd_client_destroy(s->kcopyd_client);
|
|
|
|
|
|
bad_kcopyd:
|
|
|
- exit_exception_table(&s->pending, pending_cache);
|
|
|
- exit_exception_table(&s->complete, exception_cache);
|
|
|
+ dm_exception_table_exit(&s->pending, pending_cache);
|
|
|
+ dm_exception_table_exit(&s->complete, exception_cache);
|
|
|
|
|
|
bad_hash_tables:
|
|
|
dm_put_device(ti, s->origin);
|
|
@@ -737,8 +737,8 @@ static void __free_exceptions(struct dm_snapshot *s)
|
|
|
dm_kcopyd_client_destroy(s->kcopyd_client);
|
|
|
s->kcopyd_client = NULL;
|
|
|
|
|
|
- exit_exception_table(&s->pending, pending_cache);
|
|
|
- exit_exception_table(&s->complete, exception_cache);
|
|
|
+ dm_exception_table_exit(&s->pending, pending_cache);
|
|
|
+ dm_exception_table_exit(&s->complete, exception_cache);
|
|
|
}
|
|
|
|
|
|
static void snapshot_dtr(struct dm_target *ti)
|
|
@@ -891,7 +891,7 @@ static void pending_complete(struct dm_snap_pending_exception *pe, int success)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- e = alloc_exception();
|
|
|
+ e = alloc_completed_exception();
|
|
|
if (!e) {
|
|
|
down_write(&s->lock);
|
|
|
__invalidate_snapshot(s, -ENOMEM);
|
|
@@ -902,7 +902,7 @@ static void pending_complete(struct dm_snap_pending_exception *pe, int success)
|
|
|
|
|
|
down_write(&s->lock);
|
|
|
if (!s->valid) {
|
|
|
- free_exception(e);
|
|
|
+ free_completed_exception(e);
|
|
|
error = 1;
|
|
|
goto out;
|
|
|
}
|
|
@@ -918,10 +918,10 @@ static void pending_complete(struct dm_snap_pending_exception *pe, int success)
|
|
|
* Add a proper exception, and remove the
|
|
|
* in-flight exception from the list.
|
|
|
*/
|
|
|
- insert_exception(&s->complete, e);
|
|
|
+ dm_insert_exception(&s->complete, e);
|
|
|
|
|
|
out:
|
|
|
- remove_exception(&pe->e);
|
|
|
+ dm_remove_exception(&pe->e);
|
|
|
snapshot_bios = bio_list_get(&pe->snapshot_bios);
|
|
|
origin_bios = put_pending_exception(pe);
|
|
|
|
|
@@ -989,7 +989,7 @@ static void start_copy(struct dm_snap_pending_exception *pe)
|
|
|
static struct dm_snap_pending_exception *
|
|
|
__lookup_pending_exception(struct dm_snapshot *s, chunk_t chunk)
|
|
|
{
|
|
|
- struct dm_exception *e = lookup_exception(&s->pending, chunk);
|
|
|
+ struct dm_exception *e = dm_lookup_exception(&s->pending, chunk);
|
|
|
|
|
|
if (!e)
|
|
|
return NULL;
|
|
@@ -1030,7 +1030,7 @@ __find_pending_exception(struct dm_snapshot *s,
|
|
|
}
|
|
|
|
|
|
get_pending_exception(pe);
|
|
|
- insert_exception(&s->pending, &pe->e);
|
|
|
+ dm_insert_exception(&s->pending, &pe->e);
|
|
|
|
|
|
return pe;
|
|
|
}
|
|
@@ -1077,7 +1077,7 @@ static int snapshot_map(struct dm_target *ti, struct bio *bio,
|
|
|
}
|
|
|
|
|
|
/* If the block is already remapped - use that, else remap it */
|
|
|
- e = lookup_exception(&s->complete, chunk);
|
|
|
+ e = dm_lookup_exception(&s->complete, chunk);
|
|
|
if (e) {
|
|
|
remap_exception(s, e, bio, chunk);
|
|
|
goto out_unlock;
|
|
@@ -1101,7 +1101,7 @@ static int snapshot_map(struct dm_target *ti, struct bio *bio,
|
|
|
goto out_unlock;
|
|
|
}
|
|
|
|
|
|
- e = lookup_exception(&s->complete, chunk);
|
|
|
+ e = dm_lookup_exception(&s->complete, chunk);
|
|
|
if (e) {
|
|
|
free_pending_exception(pe);
|
|
|
remap_exception(s, e, bio, chunk);
|
|
@@ -1254,7 +1254,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
|
|
|
* ref_count is initialised to 1 so pending_complete()
|
|
|
* won't destroy the primary_pe while we're inside this loop.
|
|
|
*/
|
|
|
- e = lookup_exception(&snap->complete, chunk);
|
|
|
+ e = dm_lookup_exception(&snap->complete, chunk);
|
|
|
if (e)
|
|
|
goto next_snapshot;
|
|
|
|
|
@@ -1269,7 +1269,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
|
|
|
goto next_snapshot;
|
|
|
}
|
|
|
|
|
|
- e = lookup_exception(&snap->complete, chunk);
|
|
|
+ e = dm_lookup_exception(&snap->complete, chunk);
|
|
|
if (e) {
|
|
|
free_pending_exception(pe);
|
|
|
goto next_snapshot;
|