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