提交 f9cea4f7 编写于 作者: M Mark McLoughlin 提交者: Linus Torvalds

[PATCH] dm snapshot: fix metadata error handling

Fix the error handling when store.read_metadata is called: the error should be
returned immediately.
Signed-off-by: NMark McLoughlin <markmc@redhat.com>
Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 4c7e3bf4
......@@ -387,17 +387,6 @@ static inline ulong round_up(ulong n, ulong size)
return (n + size) & ~size;
}
static void read_snapshot_metadata(struct dm_snapshot *s)
{
if (s->store.read_metadata(&s->store)) {
down_write(&s->lock);
s->valid = 0;
up_write(&s->lock);
dm_table_event(s->table);
}
}
static int set_chunk_size(struct dm_snapshot *s, const char *chunk_size_arg,
char **error)
{
......@@ -528,7 +517,11 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
}
/* Metadata must only be loaded into one table at once */
read_snapshot_metadata(s);
r = s->store.read_metadata(&s->store);
if (r) {
ti->error = "Failed to read snapshot metadata";
goto bad6;
}
/* Add snapshot to the list of snapshots for this origin */
/* Exceptions aren't triggered till snapshot_resume() is called */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册