Commit a481db78 authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Alasdair G Kergon

dm exception store: introduce area_location function

Move this logic to a function, because it will be reused later.
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent f7c83e2e
...@@ -208,6 +208,14 @@ static int chunk_io(struct pstore *ps, uint32_t chunk, int rw, int metadata) ...@@ -208,6 +208,14 @@ static int chunk_io(struct pstore *ps, uint32_t chunk, int rw, int metadata)
return req.result; return req.result;
} }
/*
* Convert a metadata area index to a chunk index.
*/
static chunk_t area_location(struct pstore *ps, chunk_t area)
{
return 1 + ((ps->exceptions_per_area + 1) * area);
}
/* /*
* Read or write a metadata area. Remembering to skip the first * Read or write a metadata area. Remembering to skip the first
* chunk which holds the header. * chunk which holds the header.
...@@ -217,8 +225,7 @@ static int area_io(struct pstore *ps, uint32_t area, int rw) ...@@ -217,8 +225,7 @@ static int area_io(struct pstore *ps, uint32_t area, int rw)
int r; int r;
uint32_t chunk; uint32_t chunk;
/* convert a metadata area index to a chunk index */ chunk = area_location(ps, area);
chunk = 1 + ((ps->exceptions_per_area + 1) * area);
r = chunk_io(ps, chunk, rw, 0); r = chunk_io(ps, chunk, rw, 0);
if (r) if (r)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment