Skip to content

Commit

Permalink
WIP: Forward-port async dmu support to 2.1
Browse files Browse the repository at this point in the history
Rebase 2.1 rc6 atop fbf26c2 (#10377), including updates for:
  668115f98f1
  e330514ad08
  ece24c1
The rebase was executed skipping the following commits to permit
testing while requesting assistance from appropriate contributors:
  64e0fe1 - ping @amotin for assistance
  e439ee8 - ping @behlendorf for assistance
  336bb3662b - ping @amotin for assistance

DO NOT MERGE THIS - IT IS A DIFF OF A REBASE WHICH HAS SKIPPED
COMMITS, the commits above *MUST* be resolved before this can be
applied to a current branch.

Testing:
  Built into 5.10.41-grsec (with grsec 2.1 ZFS patch applied).
  Zloop execution for 4h with no crashes.
  FIO and bonnie++ tests in a VM against zvol over a loopback file
inside a qcow2 atop a zpool (on 2.1 without this) on an nvme drive.
  FIO runs atop 3 ~1GB/s ceph pool's RBDs in a raidz as an 8k
block size ZVOL.
  • Loading branch information
RageLtMan committed Jun 1, 2021
1 parent 7d9f3ef commit dd3f3fc
Show file tree
Hide file tree
Showing 86 changed files with 5,499 additions and 1,408 deletions.
6 changes: 3 additions & 3 deletions cmd/zdb/zdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -888,7 +888,7 @@ dump_packed_nvlist(objset_t *os, uint64_t object, void *data, size_t size)
size_t nvsize = *(uint64_t *)data;
char *packed = umem_alloc(nvsize, UMEM_NOFAIL);

VERIFY(0 == dmu_read(os, object, 0, nvsize, packed, DMU_READ_PREFETCH));
VERIFY0(dmu_read(os, object, 0, nvsize, packed, DMU_CTX_FLAG_PREFETCH));

VERIFY(nvlist_unpack(packed, nvsize, &nv, 0) == 0);

Expand Down Expand Up @@ -1514,7 +1514,7 @@ dump_spacemap(objset_t *os, space_map_t *sm)
offset += sizeof (word)) {

VERIFY0(dmu_read(os, space_map_object(sm), offset,
sizeof (word), &word, DMU_READ_PREFETCH));
sizeof (word), &word, DMU_CTX_FLAG_PREFETCH));

if (sm_entry_is_debug(word)) {
uint64_t de_txg = SM_DEBUG_TXG_DECODE(word);
Expand Down Expand Up @@ -1554,7 +1554,7 @@ dump_spacemap(objset_t *os, space_map_t *sm)
offset += sizeof (extra_word);
VERIFY0(dmu_read(os, space_map_object(sm), offset,
sizeof (extra_word), &extra_word,
DMU_READ_PREFETCH));
DMU_CTX_FLAG_PREFETCH));

ASSERT3U(offset, <=, space_map_length(sm));

Expand Down
Loading

0 comments on commit dd3f3fc

Please sign in to comment.