Print this page
ZoL PR 9145

@@ -333,12 +333,12 @@
          */
         ZFS_TIME_DECODE(&xva.xva_vattr.va_ctime, lr->lr_crtime);
         xva.xva_vattr.va_nblocks = lr->lr_gen;
         xva.xva_vattr.va_fsid = dnodesize;
 
-        error = dmu_object_info(zfsvfs->z_os, lr->lr_foid, NULL);
-        if (error != ENOENT)
+        error = dnode_try_claim(zfsvfs->z_os, objid, dnodesize >> DNODE_SHIFT);
+        if (error)
                 goto bail;
 
         if (lr->lr_common.lrc_txtype & TX_CI)
                 vflg |= FIGNORECASE;
         switch (txtype) {

@@ -467,12 +467,12 @@
          */
         ZFS_TIME_DECODE(&xva.xva_vattr.va_ctime, lr->lr_crtime);
         xva.xva_vattr.va_nblocks = lr->lr_gen;
         xva.xva_vattr.va_fsid = dnodesize;
 
-        error = dmu_object_info(zfsvfs->z_os, objid, NULL);
-        if (error != ENOENT)
+        error = dnode_try_claim(zfsvfs->z_os, objid, dnodesize >> DNODE_SHIFT);
+        if (error)
                 goto out;
 
         if (lr->lr_common.lrc_txtype & TX_CI)
                 vflg |= FIGNORECASE;