mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Illumos 5818 - zfs {ref}compressratio is incorrect with 4k sector size
5818 zfs {ref}compressratio is incorrect with 4k sector size
Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: George Wilson <george@delphix.com>
Reviewed by: Richard Elling <richard.elling@richardelling.com>
Reviewed by: Steven Hartland <killing@multiplay.co.uk>
Approved by: Albert Lee <trisk@omniti.com>
References:
https://www.illumos.org/issues/5818
https://github.com/illumos/illumos-gate/commit/81cd5c5
Ported-by: Don Brady <don.brady@intel.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3432
This commit is contained in:
committed by
Brian Behlendorf
parent
9c43027b3f
commit
c3520e7f1f
+3
-17
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2013 Steven Hartland. All rights reserved.
|
||||
*/
|
||||
@@ -1022,21 +1022,6 @@ ztest_random_spa_version(uint64_t initial_version)
|
||||
return (version);
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the largest ashift used
|
||||
*/
|
||||
static uint64_t
|
||||
ztest_spa_get_ashift(void) {
|
||||
uint64_t i;
|
||||
uint64_t ashift = SPA_MINBLOCKSHIFT;
|
||||
vdev_t *rvd = ztest_spa->spa_root_vdev;
|
||||
|
||||
for (i = 0; i < rvd->vdev_children; i++) {
|
||||
ashift = MAX(ashift, rvd->vdev_child[i]->vdev_ashift);
|
||||
}
|
||||
return (ashift);
|
||||
}
|
||||
|
||||
static int
|
||||
ztest_random_blocksize(void)
|
||||
{
|
||||
@@ -1047,7 +1032,8 @@ ztest_random_blocksize(void)
|
||||
int maxbs = SPA_OLD_MAXBLOCKSHIFT;
|
||||
if (spa_maxblocksize(ztest_spa) == SPA_MAXBLOCKSIZE)
|
||||
maxbs = 20;
|
||||
uint64_t block_shift = ztest_random(maxbs - ztest_spa_get_ashift() + 1);
|
||||
uint64_t block_shift =
|
||||
ztest_random(maxbs - ztest_spa->spa_max_ashift + 1);
|
||||
return (1 << (SPA_MINBLOCKSHIFT + block_shift));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user