summaryrefslogtreecommitdiffstats
path: root/drivers/md/linear.h
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-06-18 08:49:42 +1000
committerNeilBrown <neilb@suse.de>2009-06-18 08:49:42 +1000
commit495d357301e1de01fabe30ce9a555301fb4675c3 (patch)
treecff9506eec5e4008004a913acf8f58d85eae6de6 /drivers/md/linear.h
parentaf11c397fd8835c70ec0bb777104e4ab98b2d660 (diff)
downloadlinux-495d357301e1de01fabe30ce9a555301fb4675c3.tar.gz
linux-495d357301e1de01fabe30ce9a555301fb4675c3.tar.bz2
linux-495d357301e1de01fabe30ce9a555301fb4675c3.zip
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>
Diffstat (limited to 'drivers/md/linear.h')
-rw-r--r--drivers/md/linear.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/linear.h b/drivers/md/linear.h
index 599e5c1bbb01..0ce29b61605a 100644
--- a/drivers/md/linear.h
+++ b/drivers/md/linear.h
@@ -10,9 +10,9 @@ typedef struct dev_info dev_info_t;
struct linear_private_data
{
- struct linear_private_data *prev; /* earlier version */
sector_t array_sectors;
dev_info_t disks[0];
+ struct rcu_head rcu;
};