dbuf.c (254753) | dbuf.c (255750) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 9 unchanged lines hidden (view full) --- 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 24 * Copyright (c) 2013 by Delphix. All rights reserved. 25 * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 9 unchanged lines hidden (view full) --- 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 24 * Copyright (c) 2013 by Delphix. All rights reserved. 25 * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. |
26 * Copyright (c) 2013, Joyent, Inc. All rights reserved. |
|
26 */ 27 28#include <sys/zfs_context.h> 29#include <sys/dmu.h> 30#include <sys/dmu_send.h> 31#include <sys/dmu_impl.h> 32#include <sys/dbuf.h> 33#include <sys/dmu_objset.h> --- 2716 unchanged lines hidden (view full) --- 2750 dbuf_write_override_ready, dbuf_write_override_done, dr, 2751 ZIO_PRIORITY_ASYNC_WRITE, ZIO_FLAG_MUSTSUCCEED, &zb); 2752 mutex_enter(&db->db_mtx); 2753 dr->dt.dl.dr_override_state = DR_NOT_OVERRIDDEN; 2754 zio_write_override(dr->dr_zio, &dr->dt.dl.dr_overridden_by, 2755 dr->dt.dl.dr_copies, dr->dt.dl.dr_nopwrite); 2756 mutex_exit(&db->db_mtx); 2757 } else if (db->db_state == DB_NOFILL) { | 27 */ 28 29#include <sys/zfs_context.h> 30#include <sys/dmu.h> 31#include <sys/dmu_send.h> 32#include <sys/dmu_impl.h> 33#include <sys/dbuf.h> 34#include <sys/dmu_objset.h> --- 2716 unchanged lines hidden (view full) --- 2751 dbuf_write_override_ready, dbuf_write_override_done, dr, 2752 ZIO_PRIORITY_ASYNC_WRITE, ZIO_FLAG_MUSTSUCCEED, &zb); 2753 mutex_enter(&db->db_mtx); 2754 dr->dt.dl.dr_override_state = DR_NOT_OVERRIDDEN; 2755 zio_write_override(dr->dr_zio, &dr->dt.dl.dr_overridden_by, 2756 dr->dt.dl.dr_copies, dr->dt.dl.dr_nopwrite); 2757 mutex_exit(&db->db_mtx); 2758 } else if (db->db_state == DB_NOFILL) { |
2758 ASSERT(zp.zp_checksum == ZIO_CHECKSUM_OFF); | 2759 ASSERT(zp.zp_checksum == ZIO_CHECKSUM_OFF || 2760 zp.zp_checksum == ZIO_CHECKSUM_NOPARITY); |
2759 dr->dr_zio = zio_write(zio, os->os_spa, txg, 2760 db->db_blkptr, NULL, db->db.db_size, &zp, 2761 dbuf_write_nofill_ready, dbuf_write_nofill_done, db, 2762 ZIO_PRIORITY_ASYNC_WRITE, 2763 ZIO_FLAG_MUSTSUCCEED | ZIO_FLAG_NODATA, &zb); 2764 } else { 2765 ASSERT(arc_released(data)); 2766 dr->dr_zio = arc_write(zio, os->os_spa, txg, 2767 db->db_blkptr, data, DBUF_IS_L2CACHEABLE(db), 2768 DBUF_IS_L2COMPRESSIBLE(db), &zp, dbuf_write_ready, 2769 dbuf_write_done, db, ZIO_PRIORITY_ASYNC_WRITE, 2770 ZIO_FLAG_MUSTSUCCEED, &zb); 2771 } 2772} | 2761 dr->dr_zio = zio_write(zio, os->os_spa, txg, 2762 db->db_blkptr, NULL, db->db.db_size, &zp, 2763 dbuf_write_nofill_ready, dbuf_write_nofill_done, db, 2764 ZIO_PRIORITY_ASYNC_WRITE, 2765 ZIO_FLAG_MUSTSUCCEED | ZIO_FLAG_NODATA, &zb); 2766 } else { 2767 ASSERT(arc_released(data)); 2768 dr->dr_zio = arc_write(zio, os->os_spa, txg, 2769 db->db_blkptr, data, DBUF_IS_L2CACHEABLE(db), 2770 DBUF_IS_L2COMPRESSIBLE(db), &zp, dbuf_write_ready, 2771 dbuf_write_done, db, ZIO_PRIORITY_ASYNC_WRITE, 2772 ZIO_FLAG_MUSTSUCCEED, &zb); 2773 } 2774} |