Print this page
NEX-6088 ZFS scrub/resilver take excessively long due to issuing lots of random IO
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
NEX-5366 Race between unique_insert() and unique_remove() causes ZFS fsid change
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Dan Vatca <dan.vatca@gmail.com>
NEX-4582 update wrc test cases for allow to use write back cache per tree of datasets
Reviewed by: Steve Peng <steve.peng@nexenta.com>
Reviewed by: Alex Aizman <alex.aizman@nexenta.com>
5960 zfs recv should prefetch indirect blocks
5925 zfs receive -o origin=
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Remaining fixes for the illumos merge

@@ -753,11 +753,11 @@
         default:
                 return (SET_ERROR(EINVAL));
         }
 
         if (integer_size * num_integers > ZAP_MAXVALUELEN)
-                return (E2BIG);
+                return (SET_ERROR(E2BIG));
 
         return (0);
 }
 
 static int

@@ -1033,11 +1033,11 @@
         return (err);
 }
 
 int
 zap_join_key(objset_t *os, uint64_t fromobj, uint64_t intoobj,
-    uint64_t value, dmu_tx_t *tx)
+    uint64_t value, dmu_tx_t *tx, boolean_t exists_ok)
 {
         zap_cursor_t zc;
         zap_attribute_t za;
         int err;
 

@@ -1049,13 +1049,17 @@
                         err = SET_ERROR(EINVAL);
                         break;
                 }
                 err = zap_add(os, intoobj, za.za_name,
                     8, 1, &value, tx);
-                if (err)
+                if (err != 0) {
+                        if (err == EEXIST && exists_ok)
+                                err = 0;
+                        else
                         break;
         }
+        }
         zap_cursor_fini(&zc);
         return (err);
 }
 
 int