Print this page
NEX-3562 filename normalization doesn't work for removes (sync with upstream)
6328 Fix cstyle errors in zfs codebase (fix studio)
6328 Fix cstyle errors in zfs codebase
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed by: Jorgen Lundman <lundman@lundman.net>
Approved by: Robert Mustacchi <rm@joyent.com>
NEX-3329 libnsl: set_up_connection() over TCP does not adhere the specified timeout
Reviewed by: Dan Fields <dan.fields@nexenta.com>
NEX-3521 CLONE - Port NEX-3209 normalization=formD and casesensitivity=mixed behaves improperly, squashing case
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
NEX-3591 SMB3 signing (hdrchk)
NEX-3719 CLONE - Port NEX-3517 Eliminate the unused MT_BEST code to simplify normalization & case.
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Remaining fixes for the illumos merge


 569         zap_leaf_phys(l)->l_hdr.lh_nentries--;
 570 }
 571 
 572 int
 573 zap_entry_create(zap_leaf_t *l, zap_name_t *zn, uint32_t cd,
 574     uint8_t integer_size, uint64_t num_integers, const void *buf,
 575     zap_entry_handle_t *zeh)
 576 {
 577         uint16_t chunk;
 578         uint16_t *chunkp;
 579         struct zap_leaf_entry *le;
 580         uint64_t valuelen;
 581         int numchunks;
 582         uint64_t h = zn->zn_hash;
 583 
 584         valuelen = integer_size * num_integers;
 585 
 586         numchunks = 1 + ZAP_LEAF_ARRAY_NCHUNKS(zn->zn_key_orig_numints *
 587             zn->zn_key_intlen) + ZAP_LEAF_ARRAY_NCHUNKS(valuelen);
 588         if (numchunks > ZAP_LEAF_NUMCHUNKS(l))
 589                 return (E2BIG);
 590 
 591         if (cd == ZAP_NEED_CD) {
 592                 /* find the lowest unused cd */
 593                 if (zap_leaf_phys(l)->l_hdr.lh_flags & ZLF_ENTRIES_CDSORTED) {
 594                         cd = 0;
 595 
 596                         for (chunk = *LEAF_HASH_ENTPTR(l, h);
 597                             chunk != CHAIN_END; chunk = le->le_next) {
 598                                 le = ZAP_LEAF_ENTRY(l, chunk);
 599                                 if (le->le_cd > cd)
 600                                         break;
 601                                 if (le->le_hash == h) {
 602                                         ASSERT3U(cd, ==, le->le_cd);
 603                                         cd++;
 604                                 }
 605                         }
 606                 } else {
 607                         /* old unsorted format; do it the O(n^2) way */
 608                         for (cd = 0; ; cd++) {
 609                                 for (chunk = *LEAF_HASH_ENTPTR(l, h);




 569         zap_leaf_phys(l)->l_hdr.lh_nentries--;
 570 }
 571 
 572 int
 573 zap_entry_create(zap_leaf_t *l, zap_name_t *zn, uint32_t cd,
 574     uint8_t integer_size, uint64_t num_integers, const void *buf,
 575     zap_entry_handle_t *zeh)
 576 {
 577         uint16_t chunk;
 578         uint16_t *chunkp;
 579         struct zap_leaf_entry *le;
 580         uint64_t valuelen;
 581         int numchunks;
 582         uint64_t h = zn->zn_hash;
 583 
 584         valuelen = integer_size * num_integers;
 585 
 586         numchunks = 1 + ZAP_LEAF_ARRAY_NCHUNKS(zn->zn_key_orig_numints *
 587             zn->zn_key_intlen) + ZAP_LEAF_ARRAY_NCHUNKS(valuelen);
 588         if (numchunks > ZAP_LEAF_NUMCHUNKS(l))
 589                 return (SET_ERROR(E2BIG));
 590 
 591         if (cd == ZAP_NEED_CD) {
 592                 /* find the lowest unused cd */
 593                 if (zap_leaf_phys(l)->l_hdr.lh_flags & ZLF_ENTRIES_CDSORTED) {
 594                         cd = 0;
 595 
 596                         for (chunk = *LEAF_HASH_ENTPTR(l, h);
 597                             chunk != CHAIN_END; chunk = le->le_next) {
 598                                 le = ZAP_LEAF_ENTRY(l, chunk);
 599                                 if (le->le_cd > cd)
 600                                         break;
 601                                 if (le->le_hash == h) {
 602                                         ASSERT3U(cd, ==, le->le_cd);
 603                                         cd++;
 604                                 }
 605                         }
 606                 } else {
 607                         /* old unsorted format; do it the O(n^2) way */
 608                         for (cd = 0; ; cd++) {
 609                                 for (chunk = *LEAF_HASH_ENTPTR(l, h);