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,763 ****
          default:
                  return (SET_ERROR(EINVAL));
          }
  
          if (integer_size * num_integers > ZAP_MAXVALUELEN)
!                 return (E2BIG);
  
          return (0);
  }
  
  static int
--- 753,763 ----
          default:
                  return (SET_ERROR(EINVAL));
          }
  
          if (integer_size * num_integers > ZAP_MAXVALUELEN)
!                 return (SET_ERROR(E2BIG));
  
          return (0);
  }
  
  static int
*** 1033,1043 ****
          return (err);
  }
  
  int
  zap_join_key(objset_t *os, uint64_t fromobj, uint64_t intoobj,
!     uint64_t value, dmu_tx_t *tx)
  {
          zap_cursor_t zc;
          zap_attribute_t za;
          int err;
  
--- 1033,1043 ----
          return (err);
  }
  
  int
  zap_join_key(objset_t *os, uint64_t fromobj, uint64_t intoobj,
!     uint64_t value, dmu_tx_t *tx, boolean_t exists_ok)
  {
          zap_cursor_t zc;
          zap_attribute_t za;
          int err;
  
*** 1049,1061 ****
                          err = SET_ERROR(EINVAL);
                          break;
                  }
                  err = zap_add(os, intoobj, za.za_name,
                      8, 1, &value, tx);
!                 if (err)
                          break;
          }
          zap_cursor_fini(&zc);
          return (err);
  }
  
  int
--- 1049,1065 ----
                          err = SET_ERROR(EINVAL);
                          break;
                  }
                  err = zap_add(os, intoobj, za.za_name,
                      8, 1, &value, tx);
!                 if (err != 0) {
!                         if (err == EEXIST && exists_ok)
!                                 err = 0;
!                         else
                                  break;
                  }
+         }
          zap_cursor_fini(&zc);
          return (err);
  }
  
  int