mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 10:37:35 +03:00
Clean up large dnode code
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 <bass6@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matthew Ahrens <mahrens@delphix.com> Closes #6262
This commit is contained in:
committed by
Brian Behlendorf
parent
b8a97fb101
commit
817b1b6e7b
+2
-1
@@ -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) {
|
||||
|
||||
+2
-1
@@ -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;
|
||||
@@ -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],
|
||||
|
||||
Reference in New Issue
Block a user