Lines Matching refs:odn

868 dnode_move_impl(dnode_t *odn, dnode_t *ndn)  in dnode_move_impl()  argument
870 ASSERT(!RW_LOCK_HELD(&odn->dn_struct_rwlock)); in dnode_move_impl()
871 ASSERT(MUTEX_NOT_HELD(&odn->dn_mtx)); in dnode_move_impl()
872 ASSERT(MUTEX_NOT_HELD(&odn->dn_dbufs_mtx)); in dnode_move_impl()
875 ndn->dn_objset = odn->dn_objset; in dnode_move_impl()
876 ndn->dn_object = odn->dn_object; in dnode_move_impl()
877 ndn->dn_dbuf = odn->dn_dbuf; in dnode_move_impl()
878 ndn->dn_handle = odn->dn_handle; in dnode_move_impl()
879 ndn->dn_phys = odn->dn_phys; in dnode_move_impl()
880 ndn->dn_type = odn->dn_type; in dnode_move_impl()
881 ndn->dn_bonuslen = odn->dn_bonuslen; in dnode_move_impl()
882 ndn->dn_bonustype = odn->dn_bonustype; in dnode_move_impl()
883 ndn->dn_nblkptr = odn->dn_nblkptr; in dnode_move_impl()
884 ndn->dn_checksum = odn->dn_checksum; in dnode_move_impl()
885 ndn->dn_compress = odn->dn_compress; in dnode_move_impl()
886 ndn->dn_nlevels = odn->dn_nlevels; in dnode_move_impl()
887 ndn->dn_indblkshift = odn->dn_indblkshift; in dnode_move_impl()
888 ndn->dn_datablkshift = odn->dn_datablkshift; in dnode_move_impl()
889 ndn->dn_datablkszsec = odn->dn_datablkszsec; in dnode_move_impl()
890 ndn->dn_datablksz = odn->dn_datablksz; in dnode_move_impl()
891 ndn->dn_maxblkid = odn->dn_maxblkid; in dnode_move_impl()
892 ndn->dn_num_slots = odn->dn_num_slots; in dnode_move_impl()
893 memcpy(ndn->dn_next_type, odn->dn_next_type, in dnode_move_impl()
894 sizeof (odn->dn_next_type)); in dnode_move_impl()
895 memcpy(ndn->dn_next_nblkptr, odn->dn_next_nblkptr, in dnode_move_impl()
896 sizeof (odn->dn_next_nblkptr)); in dnode_move_impl()
897 memcpy(ndn->dn_next_nlevels, odn->dn_next_nlevels, in dnode_move_impl()
898 sizeof (odn->dn_next_nlevels)); in dnode_move_impl()
899 memcpy(ndn->dn_next_indblkshift, odn->dn_next_indblkshift, in dnode_move_impl()
900 sizeof (odn->dn_next_indblkshift)); in dnode_move_impl()
901 memcpy(ndn->dn_next_bonustype, odn->dn_next_bonustype, in dnode_move_impl()
902 sizeof (odn->dn_next_bonustype)); in dnode_move_impl()
903 memcpy(ndn->dn_rm_spillblk, odn->dn_rm_spillblk, in dnode_move_impl()
904 sizeof (odn->dn_rm_spillblk)); in dnode_move_impl()
905 memcpy(ndn->dn_next_bonuslen, odn->dn_next_bonuslen, in dnode_move_impl()
906 sizeof (odn->dn_next_bonuslen)); in dnode_move_impl()
907 memcpy(ndn->dn_next_blksz, odn->dn_next_blksz, in dnode_move_impl()
908 sizeof (odn->dn_next_blksz)); in dnode_move_impl()
909 memcpy(ndn->dn_next_maxblkid, odn->dn_next_maxblkid, in dnode_move_impl()
910 sizeof (odn->dn_next_maxblkid)); in dnode_move_impl()
913 &odn->dn_dirty_records[i]); in dnode_move_impl()
915 memcpy(ndn->dn_free_ranges, odn->dn_free_ranges, in dnode_move_impl()
916 sizeof (odn->dn_free_ranges)); in dnode_move_impl()
917 ndn->dn_allocated_txg = odn->dn_allocated_txg; in dnode_move_impl()
918 ndn->dn_free_txg = odn->dn_free_txg; in dnode_move_impl()
919 ndn->dn_assigned_txg = odn->dn_assigned_txg; in dnode_move_impl()
920 ndn->dn_dirty_txg = odn->dn_dirty_txg; in dnode_move_impl()
921 ndn->dn_dirtyctx = odn->dn_dirtyctx; in dnode_move_impl()
922 ndn->dn_dirtyctx_firstset = odn->dn_dirtyctx_firstset; in dnode_move_impl()
923 ASSERT(zfs_refcount_count(&odn->dn_tx_holds) == 0); in dnode_move_impl()
924 zfs_refcount_transfer(&ndn->dn_holds, &odn->dn_holds); in dnode_move_impl()
926 avl_swap(&ndn->dn_dbufs, &odn->dn_dbufs); in dnode_move_impl()
927 ndn->dn_dbufs_count = odn->dn_dbufs_count; in dnode_move_impl()
928 ndn->dn_bonus = odn->dn_bonus; in dnode_move_impl()
929 ndn->dn_have_spill = odn->dn_have_spill; in dnode_move_impl()
930 ndn->dn_zio = odn->dn_zio; in dnode_move_impl()
931 ndn->dn_oldused = odn->dn_oldused; in dnode_move_impl()
932 ndn->dn_oldflags = odn->dn_oldflags; in dnode_move_impl()
933 ndn->dn_olduid = odn->dn_olduid; in dnode_move_impl()
934 ndn->dn_oldgid = odn->dn_oldgid; in dnode_move_impl()
935 ndn->dn_oldprojid = odn->dn_oldprojid; in dnode_move_impl()
936 ndn->dn_newuid = odn->dn_newuid; in dnode_move_impl()
937 ndn->dn_newgid = odn->dn_newgid; in dnode_move_impl()
938 ndn->dn_newprojid = odn->dn_newprojid; in dnode_move_impl()
939 ndn->dn_id_flags = odn->dn_id_flags; in dnode_move_impl()
946 ASSERT(ndn->dn_handle->dnh_dnode == odn); in dnode_move_impl()
952 odn->dn_dbuf = NULL; in dnode_move_impl()
953 odn->dn_handle = NULL; in dnode_move_impl()
954 avl_create(&odn->dn_dbufs, dbuf_compare, sizeof (dmu_buf_impl_t), in dnode_move_impl()
956 odn->dn_dbufs_count = 0; in dnode_move_impl()
957 odn->dn_bonus = NULL; in dnode_move_impl()
958 dmu_zfetch_fini(&odn->dn_zfetch); in dnode_move_impl()
964 POINTER_INVALIDATE(&odn->dn_objset); in dnode_move_impl()
970 list_create(&odn->dn_dirty_records[i], in dnode_move_impl()
973 odn->dn_free_ranges[i] = NULL; in dnode_move_impl()
974 odn->dn_next_nlevels[i] = 0; in dnode_move_impl()
975 odn->dn_next_indblkshift[i] = 0; in dnode_move_impl()
976 odn->dn_next_bonustype[i] = 0; in dnode_move_impl()
977 odn->dn_rm_spillblk[i] = 0; in dnode_move_impl()
978 odn->dn_next_bonuslen[i] = 0; in dnode_move_impl()
979 odn->dn_next_blksz[i] = 0; in dnode_move_impl()
981 odn->dn_allocated_txg = 0; in dnode_move_impl()
982 odn->dn_free_txg = 0; in dnode_move_impl()
983 odn->dn_assigned_txg = 0; in dnode_move_impl()
984 odn->dn_dirty_txg = 0; in dnode_move_impl()
985 odn->dn_dirtyctx = 0; in dnode_move_impl()
986 odn->dn_dirtyctx_firstset = NULL; in dnode_move_impl()
987 odn->dn_have_spill = B_FALSE; in dnode_move_impl()
988 odn->dn_zio = NULL; in dnode_move_impl()
989 odn->dn_oldused = 0; in dnode_move_impl()
990 odn->dn_oldflags = 0; in dnode_move_impl()
991 odn->dn_olduid = 0; in dnode_move_impl()
992 odn->dn_oldgid = 0; in dnode_move_impl()
993 odn->dn_oldprojid = ZFS_DEFAULT_PROJID; in dnode_move_impl()
994 odn->dn_newuid = 0; in dnode_move_impl()
995 odn->dn_newgid = 0; in dnode_move_impl()
996 odn->dn_newprojid = ZFS_DEFAULT_PROJID; in dnode_move_impl()
997 odn->dn_id_flags = 0; in dnode_move_impl()
1003 odn->dn_moved = (uint8_t)-1; in dnode_move_impl()
1009 dnode_t *odn = buf, *ndn = newbuf; in dnode_move() local
1023 os = odn->dn_objset; in dnode_move()
1033 if (os != odn->dn_objset) { in dnode_move()
1050 if (os != odn->dn_objset) { in dnode_move()
1064 if (DMU_OBJECT_IS_SPECIAL(odn->dn_object)) { in dnode_move()
1069 ASSERT(odn->dn_dbuf != NULL); /* only "special" dnodes have no parent */ in dnode_move()
1079 if (!zrl_tryenter(&odn->dn_handle->dnh_zrlock)) { in dnode_move()
1094 if (!rw_tryenter(&odn->dn_struct_rwlock, RW_WRITER)) { in dnode_move()
1095 zrl_exit(&odn->dn_handle->dnh_zrlock); in dnode_move()
1110 refcount = zfs_refcount_count(&odn->dn_holds); in dnode_move()
1112 dbufs = DN_DBUFS_COUNT(odn); in dnode_move()
1116 DTRACE_PROBE3(dnode__move, dnode_t *, odn, int64_t, refcount, in dnode_move()
1120 rw_exit(&odn->dn_struct_rwlock); in dnode_move()
1121 zrl_exit(&odn->dn_handle->dnh_zrlock); in dnode_move()
1127 rw_exit(&odn->dn_struct_rwlock); in dnode_move()
1134 dnode_move_impl(odn, ndn); in dnode_move()
1136 list_link_replace(&odn->dn_link, &ndn->dn_link); in dnode_move()