summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAlasdair G Kergon2009-12-11 00:52:24 +0100
committerAlasdair G Kergon2009-12-11 00:52:24 +0100
commit042d2a9bcd80fe12d4b0871706aa9dd2231e8238 (patch)
tree69a7b6675e2cd020807729de50cd99747f6470f4 /include
parentdm: bind new table before destroying old (diff)
downloadkernel-qcow2-linux-042d2a9bcd80fe12d4b0871706aa9dd2231e8238.tar.gz
kernel-qcow2-linux-042d2a9bcd80fe12d4b0871706aa9dd2231e8238.tar.xz
kernel-qcow2-linux-042d2a9bcd80fe12d4b0871706aa9dd2231e8238.zip
dm: keep old table until after resume succeeded
When swapping a new table into place, retain the old table until its replacement is in place. An old check for an empty table is removed because this is enforced in populate_table(). __unbind() becomes redundant when followed by __bind(). Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/device-mapper.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index fc16a351ef7a..b9c6c8ca11be 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -295,8 +295,10 @@ void dm_table_event(struct dm_table *t);
/*
* The device must be suspended before calling this method.
+ * Returns the previous table, which the caller must destroy.
*/
-int dm_swap_table(struct mapped_device *md, struct dm_table *t);
+struct dm_table *dm_swap_table(struct mapped_device *md,
+ struct dm_table *t);
/*
* A wrapper around vmalloc.