]> granicus.if.org Git - zfs/commitdiff
Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
authorBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 18 Aug 2009 19:07:23 +0000 (12:07 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 18 Aug 2009 19:07:23 +0000 (12:07 -0700)
Conflicts:

module/zfs/dmu.c

1  2 
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_sendrecv.c
lib/libzfs/libzfs_util.c
module/zcommon/zfs_prop.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dmu_send.c
module/zfs/dnode.c

Simple merge
Simple merge
Simple merge
Simple merge
index 7a1a6cc3254715c674036104978261b5337cf1f2,d864682024026ca44deaf837949f6430daf2ad73..a1fe9d32afa7f93b7c5e413ecbdaef6fc267960d
@@@ -233,10 -235,8 +235,8 @@@ dmu_buf_hold_array_by_dnode(dnode_t *dn
                        return (EIO);
                }
                /* initiate async i/o */
 -              if (read) {
 +              if (rd) {
-                       rw_exit(&dn->dn_struct_rwlock);
                        (void) dbuf_read(db, zio, dbuf_flags);
-                       rw_enter(&dn->dn_struct_rwlock, RW_READER);
                }
                dbp[i] = &db->db;
        }
Simple merge
index 21e1d91d10f73a208f452d6547eeae5130ae3544,ce59aac5088f91d71aade2b7df0efbec9fa7e978..b977a2ff7ceac4a6e566fa356168e0b7ee30cf63
@@@ -931,48 -901,6 +901,28 @@@ restore_free(struct restorearg *ra, obj
        return (err);
  }
  
- void
- dmu_recv_abort_cleanup(dmu_recv_cookie_t *drc)
- {
-       if (drc->drc_newfs || drc->drc_real_ds != drc->drc_logical_ds) {
-               /*
-                * online incremental or new fs: destroy the fs (which
-                * may be a clone) that we created
-                */
-               (void) dsl_dataset_destroy(drc->drc_real_ds, dmu_recv_tag);
-               if (drc->drc_real_ds != drc->drc_logical_ds)
-                       dsl_dataset_rele(drc->drc_logical_ds, dmu_recv_tag);
-       } else {
-               /*
-                * offline incremental: rollback to most recent snapshot.
-                */
-               (void) dsl_dataset_rollback(drc->drc_real_ds, DMU_OST_NONE);
-               dsl_dataset_disown(drc->drc_real_ds, dmu_recv_tag);
-       }
- }
 +/*
 + * Compute checksum of drr_begin record
 + */
 +static void
 +dmu_recv_stream_cksum(dmu_recv_cookie_t *drc, struct restorearg *ra)
 +{
 +      dmu_replay_record_t *drr;
 +
 +      drr = kmem_zalloc(sizeof (dmu_replay_record_t), KM_SLEEP);
 +
 +      drr->drr_type = DRR_BEGIN;
 +      drr->drr_u.drr_begin = *drc->drc_drrb;
 +      if (ra->byteswap) {
 +              fletcher_4_incremental_byteswap(drr,
 +                  sizeof (dmu_replay_record_t), &(ra->cksum));
 +      } else {
 +              fletcher_4_incremental_native(drr,
 +                  sizeof (dmu_replay_record_t), &(ra->cksum));
 +      }
 +      kmem_free(drr, sizeof (dmu_replay_record_t));
 +}
 +
  /*
   * NB: callers *must* call dmu_recv_end() if this succeeds.
   */
Simple merge