Skip to content

Commit 54f586e

Browse files
author
Paul Dagnelie
committed
Alexander's feedback
Signed-off-by: Paul Dagnelie <[email protected]>
1 parent 1b82600 commit 54f586e

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Diff for: module/zfs/metaslab.c

+7-4
Original file line numberDiff line numberDiff line change
@@ -6004,7 +6004,8 @@ metaslab_alloc_range(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
60046004

60056005
for (int d = 0; d < ndvas; d++) {
60066006
error = metaslab_alloc_dva_range(spa, mc, psize, max_psize,
6007-
dva, d, hintdva, txg, flags, zal, allocator, &cur_psize);
6007+
dva, d, hintdva, txg, flags, zal, allocator,
6008+
actual_psize ? &cur_psize : NULL);
60086009
if (error != 0) {
60096010
for (d--; d >= 0; d--) {
60106011
metaslab_unalloc_dva(spa, &dva[d], txg);
@@ -6022,14 +6023,16 @@ metaslab_alloc_range(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
60226023
*/
60236024
metaslab_group_alloc_increment(spa,
60246025
DVA_GET_VDEV(&dva[d]), zio, flags, allocator);
6025-
min_psize = MIN(cur_psize, min_psize);
6026+
if (actual_psize)
6027+
min_psize = MIN(cur_psize, min_psize);
60266028
}
60276029
}
60286030
ASSERT(error == 0);
60296031
ASSERT(BP_GET_NDVAS(bp) == ndvas);
6030-
ASSERT3U(min_psize, !=, UINT64_MAX);
6031-
if (actual_psize)
6032+
if (actual_psize) {
6033+
ASSERT3U(min_psize, !=, UINT64_MAX);
60326034
*actual_psize = min_psize;
6035+
}
60336036

60346037
spa_config_exit(spa, SCL_ALLOC, FTAG);
60356038

Diff for: module/zfs/vdev_raidz.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2256,7 +2256,7 @@ vdev_raidz_asize_to_psize(vdev_t *vd, uint64_t asize, uint64_t txg)
22562256
ASSERT0(asize % (1 << ashift));
22572257

22582258
psize = (asize >> ashift);
2259-
psize -= nparity * ((asize + cols - nparity - 1) / (cols - nparity));
2259+
psize -= nparity * DIV_ROUND_UP(psize, cols);
22602260
psize <<= ashift;
22612261

22622262
return (asize);

0 commit comments

Comments
 (0)