Lines Matching defs:odn

704 dnode_move_impl(dnode_t *odn, dnode_t *ndn)
708 ASSERT(!RW_LOCK_HELD(&odn->dn_struct_rwlock));
709 ASSERT(MUTEX_NOT_HELD(&odn->dn_mtx));
710 ASSERT(MUTEX_NOT_HELD(&odn->dn_dbufs_mtx));
711 ASSERT(!RW_LOCK_HELD(&odn->dn_zfetch.zf_rwlock));
714 ndn->dn_objset = odn->dn_objset;
715 ndn->dn_object = odn->dn_object;
716 ndn->dn_dbuf = odn->dn_dbuf;
717 ndn->dn_handle = odn->dn_handle;
718 ndn->dn_phys = odn->dn_phys;
719 ndn->dn_type = odn->dn_type;
720 ndn->dn_bonuslen = odn->dn_bonuslen;
721 ndn->dn_bonustype = odn->dn_bonustype;
722 ndn->dn_nblkptr = odn->dn_nblkptr;
723 ndn->dn_checksum = odn->dn_checksum;
724 ndn->dn_compress = odn->dn_compress;
725 ndn->dn_nlevels = odn->dn_nlevels;
726 ndn->dn_indblkshift = odn->dn_indblkshift;
727 ndn->dn_datablkshift = odn->dn_datablkshift;
728 ndn->dn_datablkszsec = odn->dn_datablkszsec;
729 ndn->dn_datablksz = odn->dn_datablksz;
730 ndn->dn_maxblkid = odn->dn_maxblkid;
731 bcopy(&odn->dn_next_nblkptr[0], &ndn->dn_next_nblkptr[0],
732 sizeof (odn->dn_next_nblkptr));
733 bcopy(&odn->dn_next_nlevels[0], &ndn->dn_next_nlevels[0],
734 sizeof (odn->dn_next_nlevels));
735 bcopy(&odn->dn_next_indblkshift[0], &ndn->dn_next_indblkshift[0],
736 sizeof (odn->dn_next_indblkshift));
737 bcopy(&odn->dn_next_bonustype[0], &ndn->dn_next_bonustype[0],
738 sizeof (odn->dn_next_bonustype));
739 bcopy(&odn->dn_rm_spillblk[0], &ndn->dn_rm_spillblk[0],
740 sizeof (odn->dn_rm_spillblk));
741 bcopy(&odn->dn_next_bonuslen[0], &ndn->dn_next_bonuslen[0],
742 sizeof (odn->dn_next_bonuslen));
743 bcopy(&odn->dn_next_blksz[0], &ndn->dn_next_blksz[0],
744 sizeof (odn->dn_next_blksz));
747 &odn->dn_dirty_records[i]);
749 bcopy(&odn->dn_free_ranges[0], &ndn->dn_free_ranges[0],
750 sizeof (odn->dn_free_ranges));
751 ndn->dn_allocated_txg = odn->dn_allocated_txg;
752 ndn->dn_free_txg = odn->dn_free_txg;
753 ndn->dn_assigned_txg = odn->dn_assigned_txg;
754 ndn->dn_dirtyctx = odn->dn_dirtyctx;
755 ndn->dn_dirtyctx_firstset = odn->dn_dirtyctx_firstset;
756 ASSERT(refcount_count(&odn->dn_tx_holds) == 0);
757 refcount_transfer(&ndn->dn_holds, &odn->dn_holds);
759 avl_swap(&ndn->dn_dbufs, &odn->dn_dbufs);
760 ndn->dn_dbufs_count = odn->dn_dbufs_count;
761 ndn->dn_unlisted_l0_blkid = odn->dn_unlisted_l0_blkid;
762 ndn->dn_bonus = odn->dn_bonus;
763 ndn->dn_have_spill = odn->dn_have_spill;
764 ndn->dn_zio = odn->dn_zio;
765 ndn->dn_oldused = odn->dn_oldused;
766 ndn->dn_oldflags = odn->dn_oldflags;
767 ndn->dn_olduid = odn->dn_olduid;
768 ndn->dn_oldgid = odn->dn_oldgid;
769 ndn->dn_newuid = odn->dn_newuid;
770 ndn->dn_newgid = odn->dn_newgid;
771 ndn->dn_id_flags = odn->dn_id_flags;
773 list_move_tail(&ndn->dn_zfetch.zf_stream, &odn->dn_zfetch.zf_stream);
774 ndn->dn_zfetch.zf_dnode = odn->dn_zfetch.zf_dnode;
780 ASSERT(ndn->dn_handle->dnh_dnode == odn);
782 if (ndn->dn_zfetch.zf_dnode == odn) {
789 odn->dn_dbuf = NULL;
790 odn->dn_handle = NULL;
791 avl_create(&odn->dn_dbufs, dbuf_compare, sizeof (dmu_buf_impl_t),
793 odn->dn_dbufs_count = 0;
794 odn->dn_unlisted_l0_blkid = 0;
795 odn->dn_bonus = NULL;
796 odn->dn_zfetch.zf_dnode = NULL;
802 POINTER_INVALIDATE(&odn->dn_objset);
808 list_create(&odn->dn_dirty_records[i],
811 odn->dn_free_ranges[i] = NULL;
812 odn->dn_next_nlevels[i] = 0;
813 odn->dn_next_indblkshift[i] = 0;
814 odn->dn_next_bonustype[i] = 0;
815 odn->dn_rm_spillblk[i] = 0;
816 odn->dn_next_bonuslen[i] = 0;
817 odn->dn_next_blksz[i] = 0;
819 odn->dn_allocated_txg = 0;
820 odn->dn_free_txg = 0;
821 odn->dn_assigned_txg = 0;
822 odn->dn_dirtyctx = 0;
823 odn->dn_dirtyctx_firstset = NULL;
824 odn->dn_have_spill = B_FALSE;
825 odn->dn_zio = NULL;
826 odn->dn_oldused = 0;
827 odn->dn_oldflags = 0;
828 odn->dn_olduid = 0;
829 odn->dn_oldgid = 0;
830 odn->dn_newuid = 0;
831 odn->dn_newgid = 0;
832 odn->dn_id_flags = 0;
838 odn->dn_moved = (uint8_t)-1;
846 dnode_t *odn = buf, *ndn = newbuf;
860 os = odn->dn_objset;
870 if (os != odn->dn_objset) {
887 if (os != odn->dn_objset) {
901 if (DMU_OBJECT_IS_SPECIAL(odn->dn_object)) {
906 ASSERT(odn->dn_dbuf != NULL); /* only "special" dnodes have no parent */
916 if (!zrl_tryenter(&odn->dn_handle->dnh_zrlock)) {
931 if (!rw_tryenter(&odn->dn_struct_rwlock, RW_WRITER)) {
932 zrl_exit(&odn->dn_handle->dnh_zrlock);
947 refcount = refcount_count(&odn->dn_holds);
949 dbufs = odn->dn_dbufs_count;
953 DTRACE_PROBE3(dnode__move, dnode_t *, odn, int64_t, refcount,
957 rw_exit(&odn->dn_struct_rwlock);
958 zrl_exit(&odn->dn_handle->dnh_zrlock);
964 rw_exit(&odn->dn_struct_rwlock);
971 dnode_move_impl(odn, ndn);
973 list_link_replace(&odn->dn_link, &ndn->dn_link);