md/linear: use call_rcu to free obsolete 'conf' structures.
Current, when we update the 'conf' structure, when adding a
drive to a linear array, we keep the old version around until
the array is finally stopped, as it is not safe to free it
immediately.
Now that we have rcu protection on all accesses to 'conf',
we can use call_rcu to free it more promptly.
Signed-off-by: NeilBrown <neilb@suse.de>
diff --git a/drivers/md/linear.h b/drivers/md/linear.h
index 599e5c1..0ce29b6 100644
--- a/drivers/md/linear.h
+++ b/drivers/md/linear.h
@@ -10,9 +10,9 @@
struct linear_private_data
{
- struct linear_private_data *prev; /* earlier version */
sector_t array_sectors;
dev_info_t disks[0];
+ struct rcu_head rcu;
};