mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 19:57:43 +03:00
DLPX-44812 integrate EP-220 large memory scalability
This commit is contained in:
committed by
Brian Behlendorf
parent
616fa7c02b
commit
a6255b7fce
+3
-5
@@ -1963,6 +1963,7 @@ spa_load_verify_done(zio_t *zio)
|
||||
int error = zio->io_error;
|
||||
spa_t *spa = zio->io_spa;
|
||||
|
||||
abd_free(zio->io_abd);
|
||||
if (error) {
|
||||
if ((BP_GET_LEVEL(bp) != 0 || DMU_OT_IS_METADATA(type)) &&
|
||||
type != DMU_OT_INTENT_LOG)
|
||||
@@ -1970,7 +1971,6 @@ spa_load_verify_done(zio_t *zio)
|
||||
else
|
||||
atomic_inc_64(&sle->sle_data_count);
|
||||
}
|
||||
zio_data_buf_free(zio->io_data, zio->io_size);
|
||||
|
||||
mutex_enter(&spa->spa_scrub_lock);
|
||||
spa->spa_scrub_inflight--;
|
||||
@@ -1993,7 +1993,6 @@ spa_load_verify_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
|
||||
{
|
||||
zio_t *rio;
|
||||
size_t size;
|
||||
void *data;
|
||||
|
||||
if (bp == NULL || BP_IS_HOLE(bp) || BP_IS_EMBEDDED(bp))
|
||||
return (0);
|
||||
@@ -2004,12 +2003,11 @@ spa_load_verify_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
|
||||
*/
|
||||
if (!spa_load_verify_metadata)
|
||||
return (0);
|
||||
if (BP_GET_BUFC_TYPE(bp) == ARC_BUFC_DATA && !spa_load_verify_data)
|
||||
if (!BP_IS_METADATA(bp) && !spa_load_verify_data)
|
||||
return (0);
|
||||
|
||||
rio = arg;
|
||||
size = BP_GET_PSIZE(bp);
|
||||
data = zio_data_buf_alloc(size);
|
||||
|
||||
mutex_enter(&spa->spa_scrub_lock);
|
||||
while (spa->spa_scrub_inflight >= spa_load_verify_maxinflight)
|
||||
@@ -2017,7 +2015,7 @@ spa_load_verify_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
|
||||
spa->spa_scrub_inflight++;
|
||||
mutex_exit(&spa->spa_scrub_lock);
|
||||
|
||||
zio_nowait(zio_read(rio, spa, bp, data, size,
|
||||
zio_nowait(zio_read(rio, spa, bp, abd_alloc_for_io(size, B_FALSE), size,
|
||||
spa_load_verify_done, rio->io_private, ZIO_PRIORITY_SCRUB,
|
||||
ZIO_FLAG_SPECULATIVE | ZIO_FLAG_CANFAIL |
|
||||
ZIO_FLAG_SCRUB | ZIO_FLAG_RAW, zb));
|
||||
|
||||
Reference in New Issue
Block a user