mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 11:47:43 +03:00
DLPX-44812 integrate EP-220 large memory scalability
This commit is contained in:
committed by
Brian Behlendorf
parent
616fa7c02b
commit
a6255b7fce
+6
-6
@@ -21,7 +21,7 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2012, 2016 by Delphix. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <sys/zfs_context.h>
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <sys/zio_checksum.h>
|
||||
#include <sys/zio_compress.h>
|
||||
#include <sys/dsl_scan.h>
|
||||
#include <sys/abd.h>
|
||||
|
||||
static kmem_cache_t *ddt_cache;
|
||||
static kmem_cache_t *ddt_entry_cache;
|
||||
@@ -706,9 +707,8 @@ ddt_free(ddt_entry_t *dde)
|
||||
for (p = 0; p < DDT_PHYS_TYPES; p++)
|
||||
ASSERT(dde->dde_lead_zio[p] == NULL);
|
||||
|
||||
if (dde->dde_repair_data != NULL)
|
||||
zio_buf_free(dde->dde_repair_data,
|
||||
DDK_GET_PSIZE(&dde->dde_key));
|
||||
if (dde->dde_repair_abd != NULL)
|
||||
abd_free(dde->dde_repair_abd);
|
||||
|
||||
cv_destroy(&dde->dde_cv);
|
||||
kmem_cache_free(ddt_entry_cache, dde);
|
||||
@@ -1002,7 +1002,7 @@ ddt_repair_done(ddt_t *ddt, ddt_entry_t *dde)
|
||||
|
||||
ddt_enter(ddt);
|
||||
|
||||
if (dde->dde_repair_data != NULL && spa_writeable(ddt->ddt_spa) &&
|
||||
if (dde->dde_repair_abd != NULL && spa_writeable(ddt->ddt_spa) &&
|
||||
avl_find(&ddt->ddt_repair_tree, dde, &where) == NULL)
|
||||
avl_insert(&ddt->ddt_repair_tree, dde, where);
|
||||
else
|
||||
@@ -1040,7 +1040,7 @@ ddt_repair_entry(ddt_t *ddt, ddt_entry_t *dde, ddt_entry_t *rdde, zio_t *rio)
|
||||
continue;
|
||||
ddt_bp_create(ddt->ddt_checksum, ddk, ddp, &blk);
|
||||
zio_nowait(zio_rewrite(zio, zio->io_spa, 0, &blk,
|
||||
rdde->dde_repair_data, DDK_GET_PSIZE(rddk), NULL, NULL,
|
||||
rdde->dde_repair_abd, DDK_GET_PSIZE(rddk), NULL, NULL,
|
||||
ZIO_PRIORITY_SYNC_WRITE, ZIO_DDT_CHILD_FLAGS(zio), NULL));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user