Skip to content

Commit

Permalink
Clean up large dnode code
Browse files Browse the repository at this point in the history
Resolves issues discovered when porting to OpenZFS.

* Lint warnings.
* Made dnode_move_impl() large dnode aware.  This
  functionality is currently unused on Linux.

Reviewed-by: Ned Bass <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matthew Ahrens <[email protected]>
Closes #6262
  • Loading branch information
ahrens authored and behlendorf committed Jun 29, 2017
1 parent b8a97fb commit 817b1b6
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 2 deletions.
1 change: 1 addition & 0 deletions cmd/ztest/ztest.c
Original file line number Diff line number Diff line change
Expand Up @@ -4986,6 +4986,7 @@ ztest_dmu_commit_callbacks(ztest_ds_t *zd, uint64_t id)
* are consistent what was stored in the block tag when it was created,
* and that its unused bonus buffer space has not been overwritten.
*/
/* ARGSUSED */
void
ztest_verify_dnode_bt(ztest_ds_t *zd, uint64_t id)
{
Expand Down
3 changes: 2 additions & 1 deletion module/zfs/dbuf.c
Original file line number Diff line number Diff line change
Expand Up @@ -3419,7 +3419,8 @@ dbuf_write_ready(zio_t *zio, arc_buf_t *buf, void *vdb)
if (dn->dn_type == DMU_OT_DNODE) {
i = 0;
while (i < db->db.db_size) {
dnode_phys_t *dnp = db->db.db_data + i;
dnode_phys_t *dnp =
(void *)(((char *)db->db.db_data) + i);

i += DNODE_MIN_SIZE;
if (dnp->dn_type != DMU_OT_NONE) {
Expand Down
3 changes: 2 additions & 1 deletion module/zfs/dnode.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ dnode_buf_byteswap(void *vbuf, size_t size)
ASSERT((size & (sizeof (dnode_phys_t)-1)) == 0);

while (i < size) {
dnode_phys_t *dnp = vbuf + i;
dnode_phys_t *dnp = (void *)(((char *)vbuf) + i);
dnode_byteswap(dnp);

i += DNODE_MIN_SIZE;
Expand Down Expand Up @@ -733,6 +733,7 @@ dnode_move_impl(dnode_t *odn, dnode_t *ndn)
ndn->dn_datablkszsec = odn->dn_datablkszsec;
ndn->dn_datablksz = odn->dn_datablksz;
ndn->dn_maxblkid = odn->dn_maxblkid;
ndn->dn_num_slots = odn->dn_num_slots;
bcopy(&odn->dn_next_nblkptr[0], &ndn->dn_next_nblkptr[0],
sizeof (odn->dn_next_nblkptr));
bcopy(&odn->dn_next_nlevels[0], &ndn->dn_next_nlevels[0],
Expand Down

0 comments on commit 817b1b6

Please sign in to comment.