]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/dbuf.c
Illumos #3598
[mirror_zfs.git] / module / zfs / dbuf.c
index 44e9419b7ab27afa176a362a04418bb34847252b..9c60ec55a35a75aec019d0e50a184e47d6622298 100644 (file)
@@ -21,7 +21,7 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
- * Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
  * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
  */
 
@@ -651,7 +651,7 @@ dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags)
        ASSERT(!refcount_is_zero(&db->db_holds));
 
        if (db->db_state == DB_NOFILL)
-               return (EIO);
+               return (SET_ERROR(EIO));
 
        DB_DNODE_ENTER(db);
        dn = DB_DNODE(db);
@@ -708,7 +708,7 @@ dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags)
                                cv_wait(&db->db_changed, &db->db_mtx);
                        }
                        if (db->db_state == DB_UNCACHED)
-                               err = EIO;
+                               err = SET_ERROR(EIO);
                }
                mutex_exit(&db->db_mtx);
        }
@@ -1646,7 +1646,7 @@ dbuf_findbp(dnode_t *dn, int level, uint64_t blkid, int fail_sparse,
        if (level >= nlevels ||
            (blkid > (dn->dn_phys->dn_maxblkid >> (level * epbs)))) {
                /* the buffer has no parent yet */
-               return (ENOENT);
+               return (SET_ERROR(ENOENT));
        } else if (level < nlevels-1) {
                /* this block is referenced from an indirect block */
                int err;
@@ -1909,7 +1909,7 @@ top:
                                        &dh->dh_bp, dh);
                if (dh->dh_fail_sparse) {
                        if (dh->dh_err == 0 && dh->dh_bp && BP_IS_HOLE(dh->dh_bp))
-                               dh->dh_err = ENOENT;
+                               dh->dh_err = SET_ERROR(ENOENT);
                        if (dh->dh_err) {
                                if (dh->dh_parent)
                                        dbuf_rele(dh->dh_parent, NULL);
@@ -2047,7 +2047,7 @@ dbuf_spill_set_blksz(dmu_buf_t *db_fake, uint64_t blksz, dmu_tx_t *tx)
        dnode_t *dn;
 
        if (db->db_blkid != DMU_SPILL_BLKID)
-               return (ENOTSUP);
+               return (SET_ERROR(ENOTSUP));
        if (blksz == 0)
                blksz = SPA_MINBLOCKSIZE;
        if (blksz > SPA_MAXBLOCKSIZE)