Print this page
2619 asynchronous destruction of ZFS file systems
2747 SPA versioning with zfs feature flags
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <gwilson@delphix.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com>
Approved by: Dan McDonald <danmcd@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/dmu_tx.c
          +++ new/usr/src/uts/common/fs/zfs/dmu_tx.c
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  23      - */
  24      -/*
  25   23   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
       24 + * Copyright (c) 2012 by Delphix. All rights reserved.
  26   25   */
  27   26  
  28   27  #include <sys/dmu.h>
  29   28  #include <sys/dmu_impl.h>
  30   29  #include <sys/dbuf.h>
  31   30  #include <sys/dmu_tx.h>
  32   31  #include <sys/dmu_objset.h>
  33   32  #include <sys/dsl_dataset.h> /* for dsl_dataset_block_freeable() */
  34   33  #include <sys/dsl_dir.h> /* for dsl_dir_tempreserve_*() */
  35   34  #include <sys/dsl_pool.h>
↓ open down ↓ 633 lines elided ↑ open up ↑
 669  668          if (dn == NULL) {
 670  669                  /*
 671  670                   * We will be able to fit a new object's entries into one leaf
 672  671                   * block.  So there will be at most 2 blocks total,
 673  672                   * including the header block.
 674  673                   */
 675  674                  dmu_tx_count_write(txh, 0, 2 << fzap_default_block_shift);
 676  675                  return;
 677  676          }
 678  677  
 679      -        ASSERT3P(dmu_ot[dn->dn_type].ot_byteswap, ==, zap_byteswap);
      678 +        ASSERT3P(DMU_OT_BYTESWAP(dn->dn_type), ==, DMU_BSWAP_ZAP);
 680  679  
 681  680          if (dn->dn_maxblkid == 0 && !add) {
 682  681                  blkptr_t *bp;
 683  682  
 684  683                  /*
 685  684                   * If there is only one block  (i.e. this is a micro-zap)
 686  685                   * and we are not adding anything, the accounting is simple.
 687  686                   */
 688  687                  err = dmu_tx_check_ioerr(NULL, dn, 0, 0);
 689  688                  if (err) {
↓ open down ↓ 697 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX