Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -208,6 +208,14 @@ static int chunk_io(struct pstore *ps, uint32_t chunk, int rw, int metadata)
	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
 * chunk which holds the header.
@@ -217,8 +225,7 @@ static int area_io(struct pstore *ps, uint32_t area, int rw)
	int r;
	uint32_t chunk;

	/* convert a metadata area index to a chunk index */
	chunk = 1 + ((ps->exceptions_per_area + 1) * area);
	chunk = area_location(ps, area);

	r = chunk_io(ps, chunk, rw, 0);
	if (r)