dm snapshot: use unsigned integer chunk size
Use unsigned integer chunk size. Maximum chunk size is 512kB, there won't ever be need to use 4GB chunk size, so the number can be 32-bit. This fixes compiler failure on 32-bit systems with large block devices. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Reviewed-by: Jonathan Brassow <jbrassow@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
committed by
Alasdair G Kergon
parent
4c6fff445d
commit
df96eee679
@ -284,12 +284,13 @@ static int read_header(struct pstore *ps, int *new_snapshot)
|
||||
{
|
||||
int r;
|
||||
struct disk_header *dh;
|
||||
chunk_t chunk_size;
|
||||
unsigned chunk_size;
|
||||
int chunk_size_supplied = 1;
|
||||
char *chunk_err;
|
||||
|
||||
/*
|
||||
* Use default chunk size (or hardsect_size, if larger) if none supplied
|
||||
* Use default chunk size (or logical_block_size, if larger)
|
||||
* if none supplied
|
||||
*/
|
||||
if (!ps->store->chunk_size) {
|
||||
ps->store->chunk_size = max(DM_CHUNK_SIZE_DEFAULT_SECTORS,
|
||||
@ -334,10 +335,9 @@ static int read_header(struct pstore *ps, int *new_snapshot)
|
||||
return 0;
|
||||
|
||||
if (chunk_size_supplied)
|
||||
DMWARN("chunk size %llu in device metadata overrides "
|
||||
"table chunk size of %llu.",
|
||||
(unsigned long long)chunk_size,
|
||||
(unsigned long long)ps->store->chunk_size);
|
||||
DMWARN("chunk size %u in device metadata overrides "
|
||||
"table chunk size of %u.",
|
||||
chunk_size, ps->store->chunk_size);
|
||||
|
||||
/* We had a bogus chunk_size. Fix stuff up. */
|
||||
free_area(ps);
|
||||
@ -345,8 +345,8 @@ static int read_header(struct pstore *ps, int *new_snapshot)
|
||||
r = dm_exception_store_set_chunk_size(ps->store, chunk_size,
|
||||
&chunk_err);
|
||||
if (r) {
|
||||
DMERR("invalid on-disk chunk size %llu: %s.",
|
||||
(unsigned long long)chunk_size, chunk_err);
|
||||
DMERR("invalid on-disk chunk size %u: %s.",
|
||||
chunk_size, chunk_err);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user