Skip to content

Commit

Permalink
dm: remove dummy definition of 'struct dm_table'
Browse files Browse the repository at this point in the history
Change the map pointer in 'struct mapped_device' from 'struct dm_table
__rcu *' to 'void __rcu *' to avoid the need for the dummy definition.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
  • Loading branch information
Mike Snitzer committed Mar 10, 2016
1 parent 115485e commit 1d3aa6f
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions drivers/md/dm.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,6 @@ struct dm_rq_clone_bio_info {
#define DMF_DEFERRED_REMOVE 6
#define DMF_SUSPENDED_INTERNALLY 7

/*
* A dummy definition to make RCU happy.
* struct dm_table should never be dereferenced in this file.
*/
struct dm_table {
int undefined__;
};

/*
* Work processed by per-device workqueue.
*/
Expand All @@ -138,11 +130,11 @@ struct mapped_device {
atomic_t open_count;

/*
* The current mapping.
* The current mapping (struct dm_table *).
* Use dm_get_live_table{_fast} or take suspend_lock for
* dereference.
*/
struct dm_table __rcu *map;
void __rcu *map;

struct list_head table_devices;
struct mutex table_devices_lock;
Expand Down Expand Up @@ -2562,7 +2554,7 @@ static struct dm_table *__bind(struct mapped_device *md, struct dm_table *t,
__bind_mempools(md, t);

old_map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock));
rcu_assign_pointer(md->map, t);
rcu_assign_pointer(md->map, (void *)t);
md->immutable_target_type = dm_table_get_immutable_target_type(t);

dm_table_set_restrictions(t, q, limits);
Expand Down

0 comments on commit 1d3aa6f

Please sign in to comment.