Print this page
3756 want lz4 support for metadata compression

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/dbuf.c
          +++ new/usr/src/uts/common/fs/zfs/dbuf.c
↓ open down ↓ 14 lines elided ↑ open up ↑
  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   23   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  24   24   * Copyright (c) 2013 by Delphix. All rights reserved.
       25 + * Copyright (c) 2013 Martin Matuska. All rights reserved.
  25   26   */
  26   27  
  27   28  #include <sys/zfs_context.h>
  28   29  #include <sys/dmu.h>
  29   30  #include <sys/dmu_impl.h>
  30   31  #include <sys/dbuf.h>
  31   32  #include <sys/dmu_objset.h>
  32   33  #include <sys/dsl_dataset.h>
  33   34  #include <sys/dsl_dir.h>
  34   35  #include <sys/dmu_tx.h>
↓ open down ↓ 2640 lines elided ↑ open up ↑
2675 2676          ASSERT(zio);
2676 2677  
2677 2678          SET_BOOKMARK(&zb, os->os_dsl_dataset ?
2678 2679              os->os_dsl_dataset->ds_object : DMU_META_OBJSET,
2679 2680              db->db.db_object, db->db_level, db->db_blkid);
2680 2681  
2681 2682          if (db->db_blkid == DMU_SPILL_BLKID)
2682 2683                  wp_flag = WP_SPILL;
2683 2684          wp_flag |= (db->db_state == DB_NOFILL) ? WP_NOFILL : 0;
2684 2685  
2685      -        dmu_write_policy(os, dn, db->db_level, wp_flag, &zp);
     2686 +        dmu_write_policy(os, dn, db->db_level, wp_flag, &zp, txg);
2686 2687          DB_DNODE_EXIT(db);
2687 2688  
2688 2689          if (db->db_level == 0 && dr->dt.dl.dr_override_state == DR_OVERRIDDEN) {
2689 2690                  ASSERT(db->db_state != DB_NOFILL);
2690 2691                  dr->dr_zio = zio_write(zio, os->os_spa, txg,
2691 2692                      db->db_blkptr, data->b_data, arc_buf_size(data), &zp,
2692 2693                      dbuf_write_override_ready, dbuf_write_override_done, dr,
2693 2694                      ZIO_PRIORITY_ASYNC_WRITE, ZIO_FLAG_MUSTSUCCEED, &zb);
2694 2695                  mutex_enter(&db->db_mtx);
2695 2696                  dr->dt.dl.dr_override_state = DR_NOT_OVERRIDDEN;
↓ open down ↓ 18 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX